Saturday, March 03, 2007

The transience of software

A small break from the saga of Eric and Gwen to record my thoughts for posterity:

For me, the moment of enlightenment – or darkness, depending on your point of view- came when I suddenly realized that not a single line of code that I had written in over two decades of writing software was running anywhere in the world. It had all been usurped by newer versions, maintained out of existence, replaced by a newer product, or the product itself had become redundant in a new technological environment.

Suddenly it all seemed so futile. Two decades of ceaseless coding- rushing to work early in the morning – weekdays and weekends, glued to the computer right through the day until 1 AM, walking home tired for a short rest, before the alarm went off again. When I wasn’t coding, I was thinking about code. Or design. Or Architecture. Or dreaming up new products. I would see the vtRouter object swallowing up the vtPacket object in my dreams, and wake up sweating. No books, no music, no girls, no sports.

…all for…what? There is hardly anything I can point to, and say ‘I did that’.

The feeling of futility is not unique to software…after all, how much job fulfillment does a supermarket check-out girl or a cabbie get? The difference is the immersive, seductive nature of software, which sucks in your soul, your life blood, the air in your lungs. And gives you the illusion that you are doing something vitally important and creative. Until you wake up, years later, when life has passed you by.

Of all the engineering fields, software is the most transient. What you do today, is often gone in days, weeks and years. Even if you are Bill Gates. I mean…how much of Bill Gates original DOS code is still there in Vista. None. At least… I hope so. This is not true if you build bridges, trains, or even chips.

Of course, the big boys of software get a feeling of accomplishment, one assumes. But that is the feeling of accomplishment from building a company, a new field of research, a new language…

The problem is with us poor sods lower down the food chain, who live from project to project, and product to product.

So the solution, as I saw it: go up the food chain, or move out of software.

I chose to move out of software, and become a writer. If anything has any degree of permanence in this world, it is the written word. Maybe my writing will have more permanence than my code…. Back to Eric next week!

© Poltu