Writing a story is a lot like being a detective. You spend ages working the case, following up leads, and you make progress — but there are still bits that don’t quite fit. There is always another elusive piece, one missing clue… And then, one day you’re reviewing the evidence again and you see it. Another great big chunk of the case slides into place and you’re one step closer to nailing the bastard you know did it but can’t prove.
Being a software developer is a lot like being a detective too. You spend a lot of time searching for the root causes of bugs, following the trail of evidence down into the homes of the ancient horrors that lurk beneath the surface. I mean, what’s a rogue piece of code but a criminal (or an elder god)? You just have to find the piece that has means, motive and opportunity to disrupt the natural flow… And then you sentence it to correction, rewiring its brain to be a fine, upstanding member of society. (Er… maybe that metaphor went a little too far.)
What I mean is that, when the bombs fall and computers stop working (except for the cockroaches using IRC), I think I’ll become a private detective.
… or maybe I just watch too much BBC crime drama.