2 minutes
Angry Development
Let me start this entry with a few questions:
- Do you program?
- Do you program for long sessions?
- Do you know “The Flow”?
If you can answer all of these with a “yes” then you probably know the rush that comes with “The Flow”. Full-focused tunnel vision. Just you and your code. Its one symbiotic relationship. Just a plain beautiful and peaceful state to be in.
Well, most of the time at least. Did you know that you can reach this kind of focus by being angry? The tunnel vision, the rush, the pump that shakes your whole body when fight-or-flight instincts kick in.
Let me tell you, I know this feeling. And maybe you do too. The state of anger that fuels your keystrokes to make the code do what you tell it to do. And if it refuses, you type harder. Waaayy harder. Throwing asserts and checks and ifs and give it no choice but to take it like punches. A real battle where the winner is already known. Its you. It will always be you. Because you have the control. The power. You know your syntax. And in the end. You sit back with a satisfying grin on your face. Just to run your code one last time before it declares utter defeat. As your output loads, you feel strong, unbeatable, the best programmer ever known to mankind. The Bug is squashed under your dominant code. The output is what you expected. Not more. Not less. And just as you think to yourself: Did I really need to be so angry about what I did? Was it worth it? And what did it cost? The next unexpected behaviour rises from the dark as new code-paths are traversed. So you lean in, put your hands on your keyboard and show it, why you are in charge and the machine is mere your obedient server.
Sounds somewhat familiar? Maybe just a bit? For me it really does. I get angry all the time about unstructured code, unexpected behaviour or badly written documentation. The thing about angry programming is, that it puts you in a position of power. Everything that bothers you can be thrown at it. And I would say that is better than to shout at your neighbors kids for drawing on your fence again. Or the coworker that didnt clean the coffee machine properly. Make most of your mental states. Take your feelings and put them towards something good. Even if that feeling is anger.