Cut Costs by Working With Great Coders
Great coders are harder to find than you may think. First off, if you are not a developer then you are the wrong person to identify a potential hire. You may even be the wrong person to be reading this article.
Great Coders Hire Great Coders
Only good coders can identify fellow star geeks. In his essay The 18 Mistakes That Kill Startups Paul Graham spells it out: “So how do you pick good programmers if you’re not a programmer? I don’t think there’s an answer. I was about to say you’d have to find a good programmer to help you hire people. But if you can’t recognize good programmers, how would you even do that?”
Less is More
A team of two or three great coders who enjoy building software and focus on the end result can build pretty much any system. The team of 20 so-so engineers will not get far. The mythical man-month book debunked the notion of scaling by adding more coders to any project. The truth is that most successful software today is built by just a handful of good engineers. Less is more applies equally to code and the number of people working on it.
FizzBuzz
The developer who writes http://imranontech.com/ created a simple test to help screen out applicants that may be misrepresenting their ability to program. Imran writes:
After a fair bit of trial and error I’ve discovered that people who struggle to code don’t just struggle on big problems, or even smallish problems (i.e. write a implementation of a linked list). They struggle with tiny problems.
So I set out to develop questions that can identify this kind of developer and came up with a class of questions I call “FizzBuzz Questions” named after a game children often play (or are made to play) in schools in the UK. An example of a Fizz-Buzz question is the following:Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.
Most good programmers should be able to write out on paper a program which does this in a under a couple of minutes. Want to know something scary? The majority of comp sci graduates can’t. I’ve also seen self-proclaimed senior programmers take more than 10-15 minutes to write a solution.
FizzBuzz Performed
Everyone thinks they’re hiring the top 1%.
Joel Sposky writes:
…when you get those 200 resumes, and hire the best person from the top 200, does that mean you’re hiring the top 0.5%?
“Maybe.”
No. You’re not. Think about what happens to the other 199 that you didn’t hire.
They go look for another job.
That means, in this horribly simplified universe, that the entire world could consist of 1,000,000 programmers, of whom the worst 199 keep applying for every job and never getting them, but the best 999,801 always get jobs as soon as they apply for one. So every time a job is listed the 199 losers apply, as usual, and one guy from the pool of 999,801 applies, and he gets the job, of course, because he’s the best, and now, in this contrived example, every employer thinks they’re getting the top 0.5% when they’re actually getting the top 99.9801%.
Takeaway Points
- Great coders hire great coders
- Good coders hire worse coders
- Screen all applicants with simple questions first (so that you don’t waste your own time)
- You’re not hiring the top 1%
- Don’t hire a 20 person team
- Take the time to hire a small, but talented, team.