Sunday, May 10, 2009

Bugs Lead to Existential Questions

I originally wrote this entry on September 30, 2004, and published it on

There are some who believe that we only switch from our "being" mode to our "thinking" mode of existence when something breaks down.

Let me give an example to make things clear.

Say, you're walking in Central Park in New York City towards a bench to sit for a moment.

As you do this, you're not constantly thinking: "Oh, this is a bench; now I'm 10 yards from it; it has 4 legs; it is painted green ; now I'm 4 hards from it; it is made of wooden planks and the legs are steel, etc. . . ." (Are Central Park benches green and made of wooden planks and steel? Or are they coming in concrete these days?)

If we thought in this fashion and of all these details, we'll go mad very quickly. Instead, we simply go and sit on the bench and enjoy the fresh air. That's what I like to call the "being" mode of existence.

Now, if the bench breaks beneath you as you sit, it will probably lead you to fall.

At that point, you will start going over everything that is supposed to make it a bench and wonder what went wrong, what "broke," what was not as it was to be. That's what I like to call the "thinking" mode of existence. A mode that deals with bugs in the existential environment.

So, it should be no wonder that the best way to start learning and thinking about existing, complex code and the process around its production, is to start by debugging it. Once the code is known and navigable, we become comfortable and at home, returning to the "being" mode. We become the code and know it as us.

Which mode is prior to the other? For which mode are we best tuned? Which is a "better" mode? Is code a place to be or a place to think? Is code even a place?

I don't know the answers to these questions.

What I do know is that every software engineer (or urban professional for that matter) needs to get out some times to see the world, take a bicycle ride (1, 2) or go on a simple stroll in the park, to sit on a bench, preferably made of wooden planks that won't break.

No comments: