Can an excellent debugger be a poor programmer?
Well the company almost managed to get their test working. I still had to go around and around with them to even get it as far as they did. I wasn't able to complete it, but I was able to get through 39 of their 44 questions.
It was as I expected, just a lot of useless trivia questions. Most of the questions looked like they came right out of a textbook's end-of-chapter review. None of the questions would test a person's critical thinking or problem solving ability.
I suggested to the HR guy that a better test would have been to give the applicant that buggy mess of an online test and say "Here, make this work." I doubt he will believe me though and will trust his "lead programmer" and believe their test was a good evaluation.
With that suggestion though, it makes me wonder, if someone is really really good at debugging, can they still write lousy code? In all the years I tutored programming students, debugging was one of the hardest things for them to learn. They had difficulty ranging from being able to find a typo in their code when the compiler spews an error, to re-thinking their logic when the program didn't work as expected. It seems to me that if you have the ability to be pedantic, think logically, and do the detective work necessary to fix problems, you should be able to also be logical and creative in developing new code.
Unfortunately I don't really think I have a way to test this theory out. Everyone I know that can debug is also an excellent programmer. The people that I know that can't program very well really can't debug at all. It certainly does make me think that a debugging test would be a good test when evaluating a potential programmer.
+1 Posted by Big • Apr.20.2006 at 13.11 • Reply
I think yes, a master debugger has different traits than a programmer. While the sets of skills are not mutually exclusive, there are definitely things a programmer needs to know that a debug-master doesn't and vice versa.
Design skills are one of the key tenants of programming, and being a great debugger or careful coder is fairly different than having the insight and foresight of producing clean designs and code.
There are probably similar traits that a master debugger have that a great programmer may not. Not sure what those would be though..
+1 Posted by FozzTexx • Apr.20.2006 at 14.33 • Reply
I suppose that makes sense. Of course I am always surprised when I read that some programmers can't do sysadmin stuff either. I do both and there's no real distinction of using different skills. But maybe that's just me, I tend to use critical thinking and try to come up with a clean design for everything.
I still have to wonder though, would an excellent debugger be a <i>poor</i> programmer? Sure, I can see that they might not have the skills to be an excellent programmer, but is it possible that the code they would write from scratch just be a horrible spaghetti mess?
+1 Posted by Living in the Whine Country • May.02.2006 at 07.28 • Reply
Google has launched a competition to find the best computer programmers in Europe, with £21,000 in prize money and jobs at the firm up for grabs. Under the internet search giant’s Code Jam competition, ent...