Feedback loop

In the book that I’m reading, Jimmy Carr mentions the importance of feedback and how comedians use it to improve their game. He points out that when he stands on the stage, the performer knows straight away if the joke works or not, and he both can and should take action on it. The lack of acceptance is very uncomfortable, requiring a lot of flexibility, but constructive at the same time. Even though something sounds funny in your head, the crowd could react differently, and you have to pivot no matter what your ego says. I find it a perfect analogy to both my coding and surfing careers.

In the software industry, we control the feedback loop cycles ourselves. In the past, and in some organisations even now, we worked in a waterfall approach, waiting months before pushing something out, hoping our assumptions about consumer needs were correct. This thinking often leads to a disaster and a massive waste of money and effort. Therefore, it forced people to think differently in a more agile way. The concept of MVP emerged, allowing the market to determine what the project should do. So, we create something small that people can look at and show to the public, seeking feedback. If necessary, we pivot, with no hard feelings. As the comics, if the joke doesn’t land, it might either need to be polished or may be thrown away. Maybe it will turn out we are not funny at all, and getting off the stage soon will save us a lot of disappointment.

The same principle applies to programming. Some people like to hold their code for ages, polishing every aspect of it and pushing a massive PR after weeks of effort. And what if they were wrong with their assumptions in the early stage? All their work could end up in the bin or, worse, in the codebase, solving a problem that doesn’t exist, but with code that everybody has to maintain. Small, focused chunks of code, regularly reviewed by peers, allow us to ensure we are heading in the right direction and solving the correct problem. Constant and continuous communication is the key to success.

I can easily apply the principle to my surfing training as well. In this case, the ocean is the crowd. We can train some moves on the land for ages, thinking that we are making progress, but we don’t know if it works without trying it out on the actual wave. So we have to go out, get on the lineup between other surfers, paddle to the wave, stand up and see if what we were thinking makes sense. If not, we can’t blame the ocean, but we must determine what we can change.

With all that said, I firmly believe that with experience, we can improve our ability to guess what is right or wrong and make more accurate predictions, but we can’t assume it is correct before we try it in the wild or in production. Therefore, it is crucial to identify your target audience and seek feedback as soon as possible.