Am I a bad programmer because I don’t like to write complicated code?

by Rabbit

If a problem becomes more difficult than I feel it should be I decompose it. I take a step back, look at my surroundings and ask, “what am I trying to solve? Who are the characters in my story and what guides them to do the things they do?”

It sounds epic, poetic and a little corny, but it’s how I think. And it’s how I program. I don’t like solving complicated tasks. I like breaking complicated tasks into many smaller, manageable tasks and solving those. Once each smaller task is solved, I script a dialog between them to achieve the desired effect.

Imagine a movie in which there was only one actor. That actor would have to play the good guy, the bad guy, the dame, all supporting characters and the director’s cameo. Such a movie would have to be classified as a psychological thriller, because it would take an insane person to be able to keep everything together. While the move may have been fun to make (for a sadist), few members of the audience would be able to follow the movie all the way through.

So as your audience leaves the theater, as your programmers leave your project, you realize that being clever and complicated may not have been the best choice.

No, I don’t think I’m a bad programmer. I think I’m a programmer with taste, my own style and a little class. Instead of banging the keys for eight hours, I spend an hour drawing with a pen and paper. Then I spent twenty minutes staring at the wall. I get up, walk around and stretch my legs. I take a piss. When I come back to the computer I have an intricate web of many, simple objects with obvious names and well-defined behaviors. At the end of the day I’m proud of the code I wrote.

And most importantly, I don’t dread coming back to it the next day.