Boiling Frogs, a Software Craftsmanship conference I recently attended, was a one–day event held in Wrocław at the beginning of January. There were three paths of talks, so each time I had to decide which of interesting topics to give up upon (this was a little downside) but organizers promised to record all talks and put them online. Even though it was the first edition and I bought my ticket before knowing the agenda, I must say I really enjoyed it.

Boiling Frogs - Wrocław
Photo credit: www.istream.pl

It all started with the introduction by Tomasz Kaczmarzyk. He presented his view on the process of creating a piece of software but also told us how he fulfilled his dream about organizing a big event. He also explained the source of the name: apparently there is a urban legend that if you put a frog in a pot with cold water and start to heat it, the frog won’t realize the danger, will continually adjusts its body temperature until it’s too late and it dies. While the legend is not true, it can be well applied to us – programmers immersed in legacy spaghetti code, slowly giving up on the quality, creativity and simple joy of programming until we are burned out. The talks were supposed to be stimuli to jump out of our dangerously hot pot.

First talk I chose was “From Legacy to DDD” by Andrzej Krzywda and I have to admit that I did that mostly because of the speaker, who I remember from wroc_love.rb 2015 and know from Twitter. He presented his view on Domain–Driven Design, Event Sourcing and CQRS and how they combine it at Arkency. There was also one great anecdote about losing faith in programmers when he was 13. You can read it here. Some ideas from the presentation are also published as a blog post.

Next I went to Wiktor Żołnowski’s presentation about BDD and requirements in Agile and it was probably the poorest of my choices. I’m not saying it’s bad – it just wasn’t really for me. I think it was directed more to Product Managers than tech people. After that there was a lunch break (and the food was included in the low price of the ticket, isn’t that great?) after which I chose Marcin Zajączkowski’s talk about mutation testing. Some parts of the presentation could have been better and it could be less Java–focused, but my interest in this difficult topic grew. Especially when I ran mutant on one of my project which, I though, was quite well tested. It turned out that only about 5% of mutants were killed by the tests. What does that even mean and why it sounds so much post–apo? Read more about mutation testing to find out.

Konrad Kokosa’s talk about web performance was really good too. Lately I’m quite interested in topics at the intersection of engineering and psychology (commonly known as UX) and it was partially covering it. Konrad showed us a few tools to use and convinced that usually it’s not backend where we should look for performance optimization – what better can a backend developer hear? Slides from his presentation are available here.

OK, next! Krzysztof Menżyk: “Be pragmatic, be SOLID”. I’ve seen some people complaining about this talk. For me it was… solid (bad pun intended). It was a good recap of SOLID principles with a lot of examples in PHP. Even it’s not my favourite programming language, they were quite understandable and I would recommend the presentation to anyone who’s not familiar with SOLID. The sun was already down when the last talks of the conference begun. For me it was Machine learning for Developers and it was probably the most inspirational one. Without going into too much details, Mariusz Gil told us how machine learning helped his team to solve difficult problems. And also how it didn’t, when they used bad data for training. Now I feel I should definitely learn more about this topic, because it looks really promising.

And that was it for me, because I did not attend the after party. Although I was quite tired after the whole day of intensive concentration, I was really glad that I chose to attend the event and I will definitely consider coming again next year – because they promised there will be next edition.

Videos

Talks (not all, at the time of writing) are available on conference’s YouTube channel.

Ruby Developer

I am mostly a Ruby developer, however I value a lot a polyglot approach and selecting the right tool for the task. That's why you can find me studying other technologies in the evenings and sometimes even sharing them on my Github account.