Wednesday, October 20, 2010

What's my job description?

I had a revelation the other day - maybe it's my old age getting the best of me - but I slept better afterwards. A part of our job as a software dev. is yes, creating elegant solutions that work seamlessly. And yet how many of you out there have worked with terrible, unimaginable code, and you cursed the sun and the moon while reading it (and maintaining it). That's right folks the sad truth is that close to 90% of the code out there (that's an arbitrary number) is filled with holes, bugs, crash scenarios, memory leaks, deadlock situations and whatever else is under the sun.

So what is your job description you may say...?
Being a great software developer is-NOT making elegant solutions that work seamlessly - well not in it's entirety - you're never going to be in that bubble! you will always have to interact with other 'stuff'. So to be a great dev., you have to elegantly fix other people's stuff!. And that's the bottom line. Someone had dragged a piece of code through the trenches and it's a big stinking pile of garbage, it works some times, other times... not so much.

Options? rewrite - that would be the easy and yet hard way around things. A great dev elegantly tucks hear and there, snips this and that and ulimately makes it something that might actually be presentable. Wow, now that's a great dev. Solving other peoples problems.
Strange how that sounds but sadly that's the truth. So think twice about cursing - that piece of code that I have to integrate with, or that gobbly mess I have to maintain and bug fix, and really think about your craft. Blaming other people's code is the easy way out, a great dev will dig deep and transform what might be a mess into something manageable. Now there's the true artistry in your job...

No comments:

Post a Comment