Confitura 2017 retrospective

Last weekend I have attended Confitura 2017 conference. This year not only as a participant, but also as a speaker with my “Evolving Architecture” talk! I must admit it was my dream to speak at this event someday. I don’t have enough words to explain this feeling 🙂 I always thought about Confitura as one of the biggest and the greatest Java events in Poland. Being a part of this was truly awesome!


mid-sized building blocks and hexagonal architecture in real life
Jakub Nabrdalik

Jakub focused on (underestimated sometimes) package-level architecture. His basic statement was to divide source code using package-by-feature, not package-by-layer approach. Then he shows how to better hide class visibility using my beloved package-private access scope. I really, really enjoyed this presentation.

Slides here.

Studium przypadku wystarczająco dobrej architektury
Jakub Kubryński

Good presentation about high level approach to create “good enough” distributed architecture. Kuba point out that e2e tests are very expensive and should cover only really critical path. Also he mention that performance tests are far more expensive than e2e tests and should be skipped. His solution instead is to provide good monitoring. I really liked approach where you can allow pushing bugs to production but only in case that these are not critical and you can deliver fixup within minutes or hours. And you can achieve that only with good and quality unit and integration tests.

Slides: here.

DDD: Q&A – czyli co gryzie świadomego programistę/programistkę
Sławomir Sobótka

This talk was about asking good questions while using DDD approach. I need to admit that I was a little bit nervous before my presentation to be 100% focused on Sławek talk. However this session for sure was for people with at least some experience with DDD. Again there was CQRS approach and statement that CRUD APIs can exist alongside with REST API and cooperate.

Testy wydajności z Gatlingiem
Andrzej Ludwikowski

Really nice talk about testing in gatling (actually its my favorite performance tool at the moment). Source code examples were quite basic and straightforward (which was really good if you look at gatling first time). I really enjoyed first part of presentation where Andrzej show a few popular problems which can cause false-positive tests results and in the end didn’t show performance problem – which is basic idea of these kind of tests 🙂

What’s more – maybe I did found my next pet project! There was a question how to compare previous tests results with current (to find delta) and there was no answer to this question at this session. I’ll need to investigate this topic and if there is nothing out there than small tool which will analyze two gatling result files and draw diagrams (or just put these data to grafana board, as someone in the crowd suggested) would be nice.

Slides: here.

Code Review – how to do it better?
Sebastian Malaca

Good talk about very important topic. I really like approach with very small merge requests, however I did not feel how to implement this approach in my current project. But whats most important. This session made me think about CRs once more. For sure its time to rethink current approach in my project and talk about this topic on next retrospective meeting.

Slides: here.


I did talk about “Evolving Architecture” (I did this talk also at 4Developers conference and BB JUG recently, and also have one smaller version which was delivered for IPIJ). Each time it was a little bit different, each time with different energy and “flow”. Would I do it again? Definitely! I’m sure I will start next year in C4P for Confitura 2018! This feeling and energy is outstanding 🙂 Thank you all for choosing my talk during V4P and coming to see me there! I hope that I met your expectations.

My slides: here.


Great place, great people. Unfortunately because I was pushed to stand up early this day (~4:00 AM) I was too tired to stay long. Next year I definitely will come to Warsaw a day before conference to have enough strength for party 🙂

See you next year!

Confitura 2017 retrospective

Evolving Architecture @ Confitura 2017

Evolving Architecture, 12:45 – 13:30, Room: Konfitura

When developing a system, it is very easy to cross a certain boundary – on the one hand we want to predict all possibilities and changes that can happen in our project. On the other hand, when we are under the time pressure, we take shortcuts which could in the end increase cost of the smallest changes. How to deal with “overdesign”? How, at the same time, not to close for improvement and changes? When should we make crucial technical decisions and when to accept technical debt? This talk is about true stories, mostly about huge mistakes, but also about decisions that in the end were very successful. The talk is dedicated to all of those who don’t want to end up with a project that needs to be rewritten whenever we want to add a new button. The session is for all of those who care.

Evolving Architecture @ Confitura 2017