Take a deep breath

Sometimes when I’m trying to get my head around something complex, I suddenly feel overwhelmed and my head starts to feel like it’s about to explode. I realize that there are at least a dozen cases which I’ve failed to consider so far. All the thoughts I was trying to keep track of just runs off in every possible direction and I can’t chase them all. Despair overwhelms me. Then I have to close my eyes, take a deep breath, hold it for a second, and let it go slowly. Then start over, think it through one more time.

This procedure is typically repeated a whole bunch of times. Thus, my thought process is a very iterative one. Unfortunately, I’m not in charge of the iterations. They usually end not because I’ve reached a new milestone, but because I’ve realized I’m hopelessly lost and need to go back to the beginning. Somehow still, (on good days) each iteration seems to make things at least a little bit clearer. Or at least every other iteration or so. Some of them just end in a big hopeless sigh.

 (Copyright 2006 Göran Axelsson.)

Anyway, I finally either realize that I just can’t get it right, or I find a solution. If the latter, the solution typically has very little resemblance to my starting ideas. My thoughts have been distilled and refined over and over, and my initial assumptions have been overturned more or less completely. Actually, the solution typically is far more elegant and simple(!) than what I started with.

So why am I telling you this? Well, I’m not sure (still trying to get my head around that one ;-) ). But somewhere in the back of my head I wonder if this is not how I ought to develop software as well. Not that all iterations end in catastrophy, but that whenever I’m not quite sure of what I’m doing, I should throw whatever code I’ve been writing away and start over. Then, finally, the code I end up with will be simple enough for me to grasp in one go and only contains what I’m sure is absolutely necessary. Then of course, it is very hard to actually throw away code you’ve written. But maybe it’s worth it?

One Response

  1. Huu – jag får rysningar bara av tanken på att slänga bort all kod. Men det kan säkert vara bra att börja om helt på ett stycke… men alltihop… näää, usch vad hemskt!

    Loriel - September 3rd, 2006 at 13:45

Leave a Reply