Soundbyte 175: Simplicity
While relaxing on the couch and half watching the speed skating on television I momentarily feel like Youp van het Hek (a dutch comedian and columnist) who feels the deadline for his column getting closer. My thoughts immediately go out to the horrible events in France where cartoonists of the satirical magazine Charlie Hebdo had to pay their freedom of speech with their lives. We can say the year 2015 took off with a false start.
Looking back at the past weeks there also we’re some nice moments like for instance the Luminis New Years reception. Personally I always look forward to these moments on which you can catch up with colleagues I don’t see regularly.
A great weekend is nearly over with as personal highlights the mini eleven cities skating tour my eldest daughter joined at our local speed skating track and the MTB tour I rode in Klarenbeek (a small town close to Apeldoorn). The temperature as well as the wind and the different types of precipitation I got to enjoy while riding the bike made me feel like it was autumn again. While riding I thought about a page of Luminis strategy document, and no that’s not the only thing I think of when riding the bike, the four hours of pedaling provides the opportunity to think about a lot of things. Well, my thoughts wandered off to “Our Goal is to be the best at what we choose to do, and to be famous for it”, not the least because sports is one of the activities that brings out this desire in people most. After getting back on back bike after sliding off shortly in the mud partly caused by my thoughts wandering off I asked myself: What does that mean: Being the best ? For me in the first place it means being the best of ‘yourself’, continuously seeking improvement with yourself. In the end you are your own biggest competitor and the minimal standard against which you should measure. Of course it’s great if with that you can be inspired by the leaders in the field.
Looking at the speed skating in which both Ireen Wust and Sven Kramer are both winning yet another Eurpean all-round title I realize there’s a beautiful analogy between speed skating and our area of expertise. More than with any other sports with speed skating it’s the skater’s technique and sticking to that technique that determines their success. Letting go by sitting a bit too high or keeping a frequency that’s too low immediately leads to worse results. The same applies to our profession. As professionals we live up to a certain standard and working quality which we know are required for success. Sometimes it may seem tempting to relax these standards. For developers this often means introducing technical debt. But in the end the developer knows just as well as the ice skater that relaxing the standards or technique stands in the way of getting good results.
In the end of December Sander Mak and I travelled to London to attend a course from Greg Young about “CQRS, Domain Events, Event Sourcing and how to apply DDD”. Besides the excellent way Greg lectured these subjects I want to tell you about one of his anecdotes. It’s about a development team and a bug one of their users ran into. After analysis the situation turned out to be an edge case which was very costly to solve. It was decided to not solve the bug in code, but compensate the user and they bought an iPod to hand out to the next user that would run into the same bug. Each time a new developer joined the team he or she would run into this edge case in the code and would suggest to solve it. Every time this happened the developer was shown the iPod which had been on the shelf for years now. It was 2014 already and this first generation iPod was still there, waiting for the first customer to run into the bug again. This nicely illustrates the default reflex we as developers have, wanting to solve every single situation in the software. In the end to or not to fix bugs of this kind is a business decision and not something that goes without saying.
It’s all about simplicity, that’s what ‘het Goede doel’ sung in 1983 with which they reached the 5th spot in the Dutch charts. This song regularly pops up in my mind, especially when writing code or when trying to understand someone else’s code. Just play the song when you’re about to decide on granularity levels when defining modules or when introducing new generalizations. It often turns out that when looking at the requirements things can be done a lot simpler than we’d think beforehand.
Or, speaking with Albert Einstein “If you can’t explain it simply, you don’t understand it well enough”.
Have a great week!