Book Review - Smart And Gets Things Done by Joel Spolsky
After driving cross-country in 49 hours, I returned home to find this book waiting for me... Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent by (of course) Joel Spolsky. Since I wasn't in the mood to start a large 300+ page novel, I figured this book would bridge the gap between naps quite nicely. It's a no-nonsense look at how Spolsky thinks hiring in the software industry should be done. While I may quibble on a few things, I think he's pretty accurate.
Content: Hitting the High Notes; Finding Great Developers; A Field Guide to Developers; Sorting Resumes; The Phone Screen; The Guerrilla Guide to Interviewing; Fixing Suboptimal Teams; The Joel Test; Index
Spolsky takes the hard line that you should only be hiring *great* developers. In his terms, these are the people who are "smart & gets things done." Using the observation that a great programmer can be 10x as productive as an average programmer, he feels that the additional cost in salary and recruiting to find the gem is more than paid back in the work product produced. In fact, hiring average programmers (or clueless ones) actually lose you money in the long run due to rework and inferior quality. Spolsky uses a number of techniques outlined in the book to filter out average developers in order to concentrate on the few that show real potential. In fact, he maintains that you should be working at getting interns and contacts before you need staff, so that you can have a good idea as to what potential hires can accomplish in the real world. If an intern shows real talent and is happy with their internship, the hiring process is streamlined and little risk remains.
In some ways, I tend to disagree with a few of his attitudes. For instance, he feels all developers should have a thorough understanding of how pointers work. He'll ask those types of questions during interviews. He believes that having that sort of knowledge shows that a developer has more than just a basic understanding of how a language works. I would contend that depending on what your software base is, you may pass by excellent developers who have never had to use pointers. Also, the book is slanted heavily towards companies that create software products, not companies that have an IT department. While an IT department made up of people who pass Spolsky's tests would be great, the company would also likely be understaffed at all times. It's hard to find those types of people, and companies have far too many projects going at once to be that selective.
Even with those caveats, I think this is a very good read. Hiring good development staff is important to a company, and it's not the same as hiring a file clerk. After reading this book, you'll likely rethink your attitude and process of hiring.