Friday, February 19, 2010

Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent by Joel Spolsky

This is a great book both for people who are interviewing programmers and for programmers who are looking for a job. I've read it briefly a couple of years ago and now I read it again. This time from cover to cover, taking notes, thinking of what the author says, how it aligns with what I did on the interviews and what I should do differently next time. I have several interview books in my collection, But this one is probably the best so far. This book is short, to the point, with lots of practical advices. It is written in a style that makes it fun to read.

Once in a while I have an opportunity to interview candidates for a position in my team. I never had a formal training on how to interview people. I was always curious how to learn the most important things about the programmer in an hour. What to ask? What not to ask? How to make sure that the person is motivated and able to learn things required for the job? How to make sure that the person will deliver what he or she promises, can and will write solid code, has a good judgment and makes smart decisions to solve code and design problems? It is pretty hard to do in an hour. Any practical advice on how to do that is very important to me. This book has a few practical things that I found useful.

First of all, it has a whole scenario on how to run the interview. It is simple and easy to follow. Second, it narrows down the focus on what specifically needs to be asked and how, so you learn the most important things about the person's skills and how he or she applies them. Third, it explains why writing the code during the interview is important. It explains how to do it right. I went through many interviews in the past, and had to write the code on the whiteboard a lot, but I was always curious why do I need to do that if I have a computer? :) Well, now I know.

The second part of the book talks a bit about the management styles and the teams. I found it very interesting actually. I think this part could be more useful to the candidates. It helps to understand a few things about a good team culture and the management styles. It gives some pointers to what to look for when you are applying for a job and want to find a great team to work with.

I think this book was one of the most important books I've read about interviewing. It was worth getting back to it in two years and reading it again. I should probably add a note to my calendar to reread it in two years once more. I hope Joel will write a new edition by that time. :)

Tuesday, February 16, 2010

Mastery: Interviews with 33 Remarkable People by Joan Ames

I have not updated my reading list for a while. I've read a few books since the last post. Unfortunately, not all of them inspired me to write a post to my blog. So, I just write about the books I like. :)

I just finished reading the interviews on mastery by Joan Ames. I like this book a lot. I especially like the interviews with scientists and engineers. I guess it is because they shared thoughts and ideas on mastery that are more related to what I do for living. This book definitely expanded my view on how to achieve new levels of mastery. I especially like the advice by Alexis Sanderson on the ability to be delighted in the discovery of your own errors. I think it is kind of important quality for a software developer. I also like the approach of Peter Steidlmayer on reaching the higher level of knowledge by simplifying things, i.e. figuring out the key principles behind complex things. I am going to apply some of the ideas and thoughts I've got from this book to my daily practice just because those things make a lot of sense to me, not because I've found a recepe the the mastery. :)