I blog when I go abroad, and occasionally when I do stuff in the UK too. There's a nicer interface over here.

Friday, January 09, 2009

My name is Darren Foreman, and I'm a software engineer

Good afternoon everyone. My name is Darren Foreman and I'm a software engineer.

There. Phew. Glad that's out in the open. I feel better for having admitted it. Because here's the rub: I don't like software engineering. It doesn't excite me, I'm not passionate about it, it's just a job. And, like most people (I think), I don't particularly enjoy my job.

Software engineering, as a discipline, is about bending a work-to-rule binary slave to your will. When I'm implementing someone else's requirements, it's just translation, from their (in my case) English into my English into whatever language I'm coding in (for me, Python). The satisfaction of getting the end result of some working code is simply the relief of coming to the end of the translation process, and having battled through all the frustrations which ensued along the way. Moreover there is no emotional, social, or human element to the happy ending -- the computer's just doing what it's told, and always does. You haven't had to coax or convince, just tell. It's always frustrating that it takes so long just to tell a computer what to do, but at the end I can at least stake a legitimate claim of power over the bits. I am man, and I have the machine performing for me, mwahahahaha! Well, I'm not interested in power, and so I'm not interested in software engineering.

I might edit or rewrite or write more about this later. With some swearing in it. Or delete it, who knows? But for now this'll do.

1 comment:

Loz said...

"Stand Up" meetings occur with crushing regularity. Standing Up is progress. Standing Up is the new Sitting Down.

A soft toy is passed between the engineers. The toy is a metaphor for how much fun we are having. I dig my thumbnails into it. In a frenzied evisceration, I fill the room with cotton fluff like a blizzard in a childhood story. However its innards fall to the ground disappointingly, sticky and matted from being passed through many thousands of sweaty hands, each as hateful and murderous as my own.

Waking from my recurring daydream, I inform the group what I did the previous day, and what I intend to do today. No one is listening. I make my day sound productive. However it's difficult to be productive in a modern software engineering team. Again this is progress. Systemic wastage is the New Way. The project is progressing really well, and the emperor’s clothes are beautiful.

The toy moves on. Another voice fills the room with a tone of urgency and importance. No one listens. Those who are yet to have their turn are thinking of what to say when the toy reaches them. Those who have already spoken ache to return to their desks and sit down.

The toy moves on. Instead of being passed in turn, the toy is thrown randomly across the room in a futile attempt to break the tedium, to maintain a focus that was never there to begin with. In a moment of rare solidarity, one word enters the mind of the collective: wanker.

There is a nervous voice this time. It trips over words, steers around half-truths, and finishes with a closed sentence that begs for there to be no questions. I note that the group is staring at their shoes. No one knows or cares who the voice belongs to.

The toy moves on. The next voice makes the mistake of telling us what they did "yesterday", but today is Monday. The hilarity. Fail! Another voice laughs over-enthusiastically, sending a fine spray across the room.

The meeting ends. The toy is rested on his bed of fresh saliva. It looks up with its beady eyes and its fixed grin, mocking us: Same time tomorrow, losers.