Reverse engineering the clean code

This might be the psychology basic for developers… starting with the design 101; take some design principles and show how they are reflected in code.


There are certain usability principles: easy to learn by heart, hard to use on the daily basis – especially hard when you are an engineer. You are the brainiac, you find it naturally easy to build abstractions and then quickly start reflecting this through code. The primary objective: model the reality with classes, functions. Easy stuff – that’s the way we work. Hard stuff - empathy; we assume others build same abstractions and we are quickly on the same page. They don’t.

In this session I aim to fall back to design 101; take some design principles and show how they are reflected in code. Take Krug’s “Don’t make me think” and ponder a bit about it while digging though long lines of Your Enterprise’ish Spaghetti Code Application™. The code is our user interface and same patterns apply - I’ll tackle a few of those.


The feedback after GET.NET 2014 surveys conference in Gdańsk

  • "Theoretically, the subject is nothing new. Theoretically everybody read Martin’s book. Still presentation was interesting, comparison to designing UI was good. I liked it"

  • "A very good, easy going presentation, very approachable. It was clear speaker is an experienced person, knows what’s he’s talking about. Quite a few valuable "soft" insights (for examples which books to read to get better in programming)".

  • "Interesting subject with a charismatic presenter"

  • "We were expecting more code!! But still it was very nice to listen ;)"

  • "Jakub is a great speaker, feeling easy talking to a bigger audience - funny, good contact with the group"


GeeCON 2014 - lightning talk
Voxxed Belgrade 2016 - 60 minutes version of the talk