Do you hate your code?
Many times I have opened a file and looked at the crud on the screen and said.."Who wrote this s#@t ?.... oh yeah... I did
" Nothing we write is done in stone, never able to be changed or improved upon. As code monkeys we are constantly learning, reading, tinkering with new ways to improve our craft. If we don't...well... we might as well start playing shuffleboard and hearts now, because we will be obsolete. Taken out in a field like the fax machine in office space and beaten. 
But do you hate your code? I was catching up on some clog reading over on Coding Horror and was a little perplexed by the arguments he set out.
In fact, I think you can tell a competent software developer from an incompetent one with a single interview question:
What's the worst code you've seen recently?
If their answer isn't immediately and without any hesitation these two words:
My own.
Then you should end the interview immediately. Sorry, pal. You don't hate software enough yet. Maybe in a few more years. If you keep at it.
Really? No... Really?
I know damn well my code is no where near perfect but when I look at it, hate is not one of the thoughts that come to mind. I am a mostly self taught coder, and I really enjoy what I do. And as crazy as this may seem to the demi-gods of the coding world out there, I do not hate my code. I'm pretty proud of what I do.
Now I may be out on a limb all by myself on this one, but I am curious if the other code monkeys out there, you know the regular coders who put in their time at the office, and provide for their families, and work hard. Do they hate their code?
-Rudi
Rudi Shumpert is the Senior Director -Technology Solutions Group & Principal Consultant with Keystone Solutions, based in the Atlanta area. If you would like to work with Rudi email him at rudi@keystonesolutions.com. You can follow him on Twiter, connect on LinkedIn, or listen to him on the Beyond Web Analytics Podcast.





August 10th, 2009 - 09:19
True story. Once upon a time I was called to an interview for a job with a firm as a developer of an online application they were building/enhancing. The “interview” however turned out to be nothing more than a pop quiz test. As I sat there in the small office in front of the “lead dev” I was told he wouldn’t waste his time speaking with me until I passed his test.
Putting aside the insulting tone and and somewhat ambush BS attitude (not encouraging qualities to discover after a 7 hour trip just to sit down with these folk) I turned my attention to this “test”. Being as it was a coding job the test comprised of a number of “here is the situation, how would you do this” kinda questions. To say that the code examples given in the test looked like something written by an orangutan with a seeping head wound would be an insult to head-injured simians everywhere. The test was a trainwreck of bad code, bad design and simply inexperienced production. In fact, one question (about how to write a query to pull data from provided sample tables) was impossible to do without further information.
Being silly, I put my pencil down and said “uh…this one can’t be done with the information provided” at which point I was told that I was incompetent and that anyone with the level of skill I claimed to have could do it easily and that the interview was over and good day. Seven hours of driving to be insulted by an imbecile isn’t one of those things that sits well with me and I retained the test and returned home with it.
Needless to say I took more time with it when I got home and when I was done with it I contacted the recruiter at the firm and told them all about my experience. To say she was horrified would have been mild…to have taken the time to point out how much of an amateur they had as a lead dev and then provide more appropriate code for their app (including an explanation how insecure it was if this was a true example of what they were running with already) was apparently an eye-opener for them as they offered to reimburse me for my time (16 hrs all told) and expenses and asked me if I would return. Being as it was a week later, I had already secured another position and declined.
I just wanted to barf that story out there as my brush with incompetent idiots who think they know something when they don’t. Anyone who writes code and thinks their product is the pinnacle of coding genius and a sublime mastery of the art of electronic perfection is more than likely neither a genius nor a master.
I’m 10+ years into being a dev and I can’t tell you how many times I’ve said “who wrote this steaming pile of sh…oh…uh…never mind”. Had I copyrighted that phrase years ago…I’d be a wealthy, retired, incompetent dev.