Hiring Good Programmers
January 4, 2007
The paparazzi swarming around Google are now reporting on their new algorithm for hiring employees. Hiring good people is tough because there aren’t enough to go around. There are two problems: (1) getting them to apply and (2) identifying them among the swarm of mediocre applicants. Google has solved (1) by becoming vastly rich and today’s Internet darling. Unfortunately, zillions of people apply to Google and they don’t want to look through all the resumes manually. To solve this they must first raise the cost of applying to Google by having a weekly programming puzzle. To apply you must solve a short programming puzzle (of course, Google can examine all the entries to catch cheaters). Second, a phone interview can weed out some people who are obviously not qualified. Third, applicants should provide a portfolio of their work just like artists. It could be a sample from an open source project or some personal programming work that best demonstrates an applicants skills. And the applicant has to be able to discuss it, understand and explain the shortcomings, etc. That should eliminate a large number of applicants who have never written a complex program or can’t communicate complex ideas (an equally important skill). From there it should be easy to select from the few remaining qualified applicants. This strikes me as much better than asking about your hobbies, pets, magazine subscriptions, etc. in an attempt to guess if someone might be a good programmer. Just look at their code!