The person Google just hired is not a real programmer and they missed the one who was. Oops.
http://www.google.com/codejam/
Why do I say this? Programmers who code really fast generally lose track of what they are doing. When CubicleSoft writes code, the code has already been written...in our heads with ideas on paper that fire off the memories of the code. Real programmers can visualize code coming together as someone rattles off requirements. Not just big generalized blocks of code but the entire thing line-by-line. They wake up at crazy hours of the morning with the realization that they forgot one important line of code and can't sleep until they fix it.
When a company gets their hands on a real programmer, everyone knows it. Real programmers can determine exactly how long something will take to develop to the hour and then produce it on time generally with only a couple bugs that are worked out in the QA process. Product managers love these type of people. Or they should anyway. If you are a company who has recently obtained a real programmer, make sure they get pampered really well. And send them home at 5 p.m. with everyone else.
That said, the person who won first shouldn't even be considered for hiring. I certainly would not hire them. I would look, instead, for those who spent a majority of the time mulling over just one problem and still came up with a good solution. Those people are the thinking type and need time to think, but the resulting code is far better than those cranking it out like crazy. Mastering competitions like ACM is a great way to become a hack...someone who just hacks out code without thinking about consequences like application security, potential crash bugs, usability issues, maintainability, etc. Speed competitions are a great way to build the worst skill set anyone can have and will result in more bugs in the long run.
http://www.google.com/codejam/
Why do I say this? Programmers who code really fast generally lose track of what they are doing. When CubicleSoft writes code, the code has already been written...in our heads with ideas on paper that fire off the memories of the code. Real programmers can visualize code coming together as someone rattles off requirements. Not just big generalized blocks of code but the entire thing line-by-line. They wake up at crazy hours of the morning with the realization that they forgot one important line of code and can't sleep until they fix it.
When a company gets their hands on a real programmer, everyone knows it. Real programmers can determine exactly how long something will take to develop to the hour and then produce it on time generally with only a couple bugs that are worked out in the QA process. Product managers love these type of people. Or they should anyway. If you are a company who has recently obtained a real programmer, make sure they get pampered really well. And send them home at 5 p.m. with everyone else.
That said, the person who won first shouldn't even be considered for hiring. I certainly would not hire them. I would look, instead, for those who spent a majority of the time mulling over just one problem and still came up with a good solution. Those people are the thinking type and need time to think, but the resulting code is far better than those cranking it out like crazy. Mastering competitions like ACM is a great way to become a hack...someone who just hacks out code without thinking about consequences like application security, potential crash bugs, usability issues, maintainability, etc. Speed competitions are a great way to build the worst skill set anyone can have and will result in more bugs in the long run.
Comments
Post a Comment