Wednesday, March 21, 2007

My Life as a Hack

I'm a hack. Half the time when I'm working on something, I have no idea either what I am doing or how it will turn out. When I worked at Dell in technical support, I can't count the number of times I'd tell a customer to do something, while simultaneously thinking "I wonder what's going to happen when they do that?"

The same is true with writing computer programs. I hacked and slashed my way through writing HeroMachine, basically making it all up as I went along. I look back on that code today and I think I must have written it while drunk. "Why the hell did I do THAT?!" I'll think while trying to find something. Just today I fixed a bug in HeroMachine that's been plaguing it for two and a half years. I fixed it, but I don't know why the fix works. It just does. I feel like a Voodoo priest, staring at his collection of chicken bones and wondering what it all means, why it worked, and yet afraid to delve into it too deeply for fear of breaking something else.

I pretty much live my life that way, actually, stumbling from one unlikely scenario to the next. When I see old friends they invariably say "I'd never have imagined you living on a ranch with donkeys and horses." I can only reply, "Neither did I." But that assumes that there was some plan that went off the planned trail at some point, and there never was such a plan. I'm just making it all up as I go along.

Living this way has certain advantages -- every day's a new surprise, you stumble across some things you'd never have experienced otherwise, and all sorts of exciting things can happen to you. It's also very scary sometimes. I don't know what I'll be doing next year, much less fifty years from now.

I'm just a hack, after all. And wherever I end up, I'm pretty sure I'll be standing there, scratching my head, wondering how in the hell I got so lucky to be there in the first place but afraid to look too closely at it for fear of messing it all up.


Allen said...

Sometimes it's best to not look too closely at old code -- at least that's what I say about my own code. I can never be sure what "brilliant" bit of inspiration might have hit me when I wrote something. If it continues to work, it's enough to know that whatever I did must have been sufficiently "brilliant."

A former co-worker of mine recently showed me a bit of code I wrote more than ten years ago. All of the variables in one of the functions were puns.


Denise said...

If we went through life with all the pat answers, how boring would that be. It's when we wander off the path, into the unwritten code, that life becomes exciting. Besides, if you are a hack, you're a successful and wonderful hack. I mostly find myself identifying with Salieri in Amadeus, especially the group to whom he serves as the patron saint. Jeff, you're no hack, dear brother. Far from it.

Adam H said...

:: leans back in chair, breathes a sigh of relief, and wipes sweat from forehead::

sweet, i thought it was just me! i'm no programmer, (i pulled a C in comp science even as the teacher's favorite) but i know what you mean about stumbling and tumbling through life. siti once said to me, "you live life flying by the seat of your pants, don't you?" to which all i could say was "it's the only way i know, we have any more tabouli around?"

Anonymous said...

A life unexamined is a life, is a life,.... oooh, PRETTY FLOWER!!

Jimmy Airhead