I recently had the opportunity to interview candidates for software engineering positions at both the entry level as well as senior level jobs. After talking with software engineers who have conducted more interviews than me, some ways of predicting performance emerged. A good candidate will have:
• prior success in the same type of job
• the ability to perform the type of tasks needed for the current job
• raw intelligence
• problem-solving skills
• a personality that’s a good fit for the team (an affirmative answer to the question “would you like working with them every day?”)
Some interviews also test for broader knowledge of programming and computer science. That’s led to a cottage industry of books that train people to answer questions about subjects like data structures and algorithms on a whiteboard in high-pressure situations.
I wanted to improve my knowledge of the software engineering interview process so that I could improve my skills at evaluating candidates and pick the best person for the job. I also want to be compassionate and fair to people who go through the time-consuming and stressful process of interviewing. I was also looking for potential shortcuts to rapidly expand my own knowledge of programming and software development.
I bought the most popular books on preparing for programming interviews on Amazon. These books have the following criteria:
• Recently published, meaning they are relevant to the software industry today
• Written by a qualified author who has experience interviewing candidates and/or preparing candidates for interviews
• Good reviews from software engineers
My next five posts will discuss five of the most popular books about programming interviews:
• The Google Resume – written by former Google engineer Gayle Laakmann McDowell, who participated in interviews with over one hundred candidates for software engineering jobs at Google
• Cracking the Coding Interview – a guide to sample software engineering interview questions and answers also written by Gayle Laakmann McDowell
• Programming Interviews Exposed – a popular guide to programming interviews
• Algorithms for Interviews – a guide to algorithms written by two computer scientists
• Java/J2EE Job Interview Companion – covers some of the most frequently asked questions in Java programming interviews