You have to f#@king paddle

You might relate to the situation when you walk in front of somebody, crossing paths, and neither of you knows the other’s intentions. You get closer, and you try to turn left to avoid bumping into a person. Unfortunately, at the same time, they turn right, so in response, you try the other side, but with the same result. You do a chaotic dance for a while. Finally, with either a smile or anger, one of you says where they will turn and resolves the situation. You both can go your way.

A similar thing happened to me recently while surfing on the lineup. I was paddling out, and suddenly I saw a nice wave coming in my direction. I was a bit further in, and I saw somebody paddling to it, but I believed my position was better, so I sat on the board and waited to see what would happen. As the wave drew closer, I realised I was too far in, and the guy sitting further out could catch it, but I wasn’t sure which way he would go. The wave wasn’t breaking in one direction, as it often happens on a beach break, and I struggled to read the guy’s intention. I sat there for a bit too long, waiting to see what would happen. The guy looked at me from the top of the wave, I looked at him from the bottom, and we did the classic, confusing dance. As you could imagine, he crashed into me and wasted a wave that could have given him a few nice turns. Then he said the words that I mentioned in the title, “You have to f#@king paddle”. I couldn’t phrase it better. I made two mistakes here. First, I didn’t read the wave correctly and waited too long, hoping I could catch it myself. When I realised that he was seeing it, I should have just made up my mind and chosen a direction to paddle, disregarding the confusion. My confidence would help both of us get the most out of the situation.

While coding, you can often end up in a similar situation without realising it. You understand the problem, you know the best solution, but at the same time, you know it is not the only nor the perfect one. You choose a direction and start coding, but suddenly you see its drawbacks very clearly. You start doubting if other approaches wouldn’t be better and if you won’t end up regretting your first choice. You think you need to be agile and switch to something else, but it doesn’t work as you expected, so you switch back. You might stay in this confusion for a while. Ultimately, rush to a solution that is a combination of all approaches, far from ideal.

In all examples, lack of confidence can lead to undesirable results. I don’t argue against never changing your mind, but I advocate not switching your opinion until you are confident enough that you won’t change it back in a second. We need to believe in our abilities and take responsibility for our actions. Listening to feedback from the world is crucial, but we must not be overly sensitive to our ego. We often make mistakes and later have to deal with the consequences. Still, it is far better to deal with the consequences of your actions rather than blaming others for your mistakes or staying in a state of inaction, which confuses both yourself and those around you.