Joel Spolsky is a bit of an internet cause célèbre, the founder of Fog Creek Software and writer of joelonsoftware.com, an influential programming Web site.
The book is about technical recruiting and retention, and even though it’s a small format, under 200 page book, it covers a lot of different topics. His focus is on hiring programmers but I think a lot of the same principles apply to hiring for systems admin/Web systems positions. Hiring has been one of the hardest parts of being a Web systems manager, so I got a lot out of the book and tried putting it into practice. Results detailed below!
The first chapter talks about the relative effectiveness of programmers. We often hire programmers and pay the good ones 10% more than the bad ones. But he has actual data, drawn from a Yale professor who repeatedly teaches the same CS class and assigns the same projects, which shows something that those of us who have been in the field for a long time know – which is that the gap in achievement between the best programmers and the worst ones is a factor of ten. That’s right. In a highly controlled environment, the best programmers completed projects 3-4 times faster than the average and 10x faster than the slowest ones. (And this same relationship holds when adjusting for quality of results.) I’ve been in IT for 15 years and I can guarantee this is true. You can give the same programming task to a bunch of different programmers and get results from “Here, I did it last night” to “Oh, that’ll take three months.” He goes on to note other ways in which you can get 10 mediocre programmers that cannot achieve the same “high notes” as one good programmer. This goes to reinforce how important the programmer, as human capital, is to an organization.
Next, he delves into how you find good developers. Unfortunately, the easy answers don’t work. Posting on monster.com or craigslist gets lots of hits but few keeps. Employee referrals don’t always get the best people either. How do you find people, then? He has three suggestions.
- Go to the mountain
- Build your own community
“Go to the mountain” means to figure out where the smart people are that you want to hire, and go hang out there. Conferences. Organizations. Web sites. General job sites are zoos, you need venues that are more specifically spot on. Want a security guy? Post on OWASP or ISSA forums, not monster.com.
We do pretty well with internships, even enhancing that with company sponsored student sourcing/class projects and a large campus recruiting program. He has some good sub-points however – like make your offers early. If you liked them as an intern, offer them a full-time job at that point for when they graduate, don’t wait. Waiting puts you into more of a competitive situation. And interns should be paid, given great work to do, and courted for the perm job during the internship.
Building a community – he acknowledges that’s hard. Our company has external communities but not really for IT. For a lot of positions we should be on our our forums like fricking scavengers trying to hire people that post there.