Wednesday, December 3, 2008

What "Coding Tank" Means To Me

I've been wanting to write about my chosen profession of software development for a long time and have been patiently for the right context to present itself to me. I think I've finally found it. I should probably explain the title of the blog though.

I play World of Warcraft in my free time and one of the roles you can take on is that of the "tank". The tank is responsible to facing off against the big bad monster and taking any punishment it has to dish out. If you're doing your job well as a tank you're the sole object of the monster's aggression leaving your other party members free to do their thing. You're the one who is first to engage with the scariest bosses. If you're fighting multiple enemies then you may have to frequently switch targets to ensure you're taking all the aggression and no monsters are beating on any of your squishier group members.

My programming life has felt a bit like this recently. The analogy breaks down at some point but essentially I have been a coding tank for a while. I'm the guy people first come to with the toughest problems. I'm first to dive into the least understood parts of our code to figure out why a particular behavior occurs. When emergencies happen I'm the first responder. It doesn't matter if there's three or four fires all going on at once. I'm battling all four of them. I take care of all the annoying and undesirable crap so others can work relatively unhindered.

This is not to boast. Far from it. I'd rather not be the tank. I'd much rather be one of those who can just sit down and work on something and not get interrupted every 15 minutes with a fresh crisis. I suppose something in my personality and work ethic has led me to this role even though I have mixed feelings about it.

Anyway, we're slightly off-topic now and I think that's about enough for a first post.

No comments: