Monday, February 23, 2009

Book Review – Smart and Gets Things Done

Joel Spolsky has put together another insightful and entertaining book in “Smart and Gets Things Done – Joel Spolsky’s Concise Guide to Finding the Best Technical Talent”. If you hire programmers I believe you would benefit from reading this book.

The book is relatively short (182 pages) and has seven chapters, an appendix and even an index. The first chapter is an overview of why hiring the best programmers is not only a good idea but a really good idea. Studies have shown that the best programmers are 5 to 10 times more productive than good programmers. But it is not just productivity, the best developers will develop the best products. 

Chapter two discusses finding great developers. His most interesting point is that the best developers almost always have jobs and don’t apply for many jobs. In other words the best developers are almost never out in the job market. Joel’s solution is to go to where great developers congregate, provide internships and building a community. He admits that these aren’t easy things to do although from his description of his internships I think he has that one covered.

Chapter three is a field guide to developers which can be very useful for those managers who did not start out as developers, not always a bad thing BTW. He argues against the status quo of the cubical farm and strongly recommends private offices. He references Peopleware and several other references to support private offices. Next on his list is the physical workspace. Developers deserve the best environment possible such as good chairs, desks, fast computers, multiple monitors, etc…. There are many other good descriptions of what makes up a developer and even something that most people don’t consider. Developers aren’t extremely concerned about money, they often times prefer to work on an interesting project with the latest tools for less money than grinding out a dull project with the bare minimum of resources.

Chapter four, five and six are about the selection process. Chapter four discusses resumes. The first idea in this chapter is that resumes are not a good way to identify great developers. However, he feels that they are a great way to find the people who aren’t great developers. In chapter five he discusses using phone screenings. This is a further step in reducing the number of people who will come in for an in-person interview.

Chapter six describes conducting an in-person interview, which is done by a group of people most of whom are not managers. Team continuity is a very important element in a successful product and business. The team who will be working with the new hire needs to have some stake in the game. Joel is a bit unforgiving in this process rejecting a candidate if two of the interviewers say don’t hire. He also states if your not sure vote don’t hire, in the end it is better to let a good candidate go than hire a bad candidate.

Chapter seven is about fixing a suboptimal team, which can be quite a challenge. He has some good suggestions like having the entire team fill out an anonymous survey identifying the strong and weak team members. Of course everyone will probably have a different opinion of who the weak link(s) are, however, if the same name keeps coming up then there may be a problem. He warns against using metrics and measurements to determine who the “poor” team members are since all of these measurements can be gammed. Additionally, they don’t take into account the intangible aspects many people bring to a team.

Don’t skip over the appendix unless you have already read The Joel Test. This test outlines 12 things that every development team should do to produce good code, they are practical and in most cases easy to implement.

The bottom line: I thoroughly enjoyed this book, Joel has an excellent writing style that is casual but covers complex topics very well. His writing is very conversational making it feel like you were listening to a presentation rather than reading, which makes the book very easy to read. There are many anecdotes and examples woven into the book which emphasize his points and selling his advice. Although many companies will not have the flexibility he does in his hiring process and may not be able to follow all of the advice. Again, if you have influence over the hiring process for programmers I would recommend reading this book.


Anonymous said...

Good review--I'll check out the book!

- Bradley Bell

Anonymous said...

My name is Jerry Lawson I was browsing internet and found your blog. The author did a great job. I will subscribe to your RSS feeds. Thank you for your contribution. I am a web designer myself. And here some examples of the websites that I designed for cash advance online payday loans company.