I was going to stop for lunch today. I had every intention of downing tools for an hour, kicking back in my chair, and gazing at the ceiling for a while. Of course “downing tools” is a metaphorical term – I’m a software and web developer – all I really do is push my chair back a bit.
I didn’t stop for lunch, because I “thought of something”.
This is my curse. I seem to have two main processes going on in my brain – the one that handles every day life – walking, breathing, eating, drinking coffee, doing chores – and the one that ticks away in the background, worrying about the code I’m working on. While cycling home last night one part of my brain attempted to avoid getting run over, while the other half figured out an obscure bug in the code I had written earlier in the day. As soon as I got in the house, I pulled the code down from the internet, changed it, and pushed it back. I’m not sure I would have slept, had I not fixed it.
Just before lunchtime today, while testing the very mysterious thing I’m working on, I noticed a bug. An interesting bug. Not a bug that would make the thing fall over, but something that made it behave strangely under very specific circumstances. I began to frown.
IT TOOK FOUR HOURS TO FIX.
I sat hunched over the keyboard, eating my rubbish cheese and pickle sandwiches, frowning at the screen for several hours. At one point I unplugged my laptop, and wandered off to find another developer to do a sanity check. He couldn’t figure it out either (I thought describing it might help).
I remember my Dad drumming into us when we were kids that it was useless fixing the symptoms of a problem – you needed to find out why the problem had happened in the first place (he was an engineer). I thought about him and smiled as I did the programming equivalent of pulling the computer’s engine out, and disassembling it all over the office floor.
I have half a day left – tomorrow morning – until I get on a train to the other end of the country, and prepare to sit in a room with the client, trying to explain what I have built – trying to make them understand the horrific realisation of a requirements document they wrote quite some time ago.
I have no doubt the entire thing is going to burst into flames. I guess I better pack some fire-proof underwear.
p.s. today’s picture is a stock photo of some pretty model girl, who has been told to sit in front of the computer and look like she’s programming. She’s using a Mac, which has no # key. This interests me, because the # key is used a lot in web development – which the Mac is supposed to be good for. This has always amused me greatly.