Hiring people is the most important responsibility of any manager. Hire the right person and a team can take off and soar. Hiring the wrong person can tear a functioning team apart. Yet, all too often, managers don't give the hiring process the attention it deserves. Usually we are too overwhelmed by the work that made us want to hire somebody in the first place. In this article, Peter Clark hopes to save you time by offering some tips to help you choose the right people to interview.
When I am hiring, my goal is to eliminate as many unsuitable candidates as quickly as possible. I use a three-step process. First, candidates are evaluated by recruiters using criteria I provide. Second, I review this filtered list and conduct phone interviews. Last, I bring them in for several face-to-face interviews with me, the team they will be working on, and human resources.
The key to this process is developing an effective filtering process that weeds out poor candidates. Keep in mind that if you make the filter too wide, you will end up spending time with unsuitable candidates. If you make the filter too narrow, you might eliminate the person you're searching for. Reviewing candidates in the later stages takes a significantly greater amount of your valuable time than the previous stages, so catching bad candidates early becomes a great imperative.
First, sit down and make a list of all the skills you want a new person to bring to the job. Be sure to include every technology and acronym you might possibly want the person to have mastered. Done? Good. Now tear up the list and start over.
It is easy to mistake a list of technologies for a job description. While technology is central to what we do, it is not the be all and end all. Instead of a list of technologies, write a story that describes what this person will do. If you do project work, describe every phase of the project and how you expect the new hire to contribute to it. Identify the technologies and methodologies that you use and prioritize them.
Then prepare a "sanity test" for each item that you are looking for. The sanity test is a list of five or ten questions, ranked from easy to hard. You should be able to answer the questions in one or two sentences. For example, a C++-related question might ask the respondent to describe the differences between public, private, and protected. The point of the sanity test is to verify quickly whether a person actually knows what he says he knows. All too often, people put buzzwords on their resume that they actually know very little about. One of my sanity questions for SQL is, what is the SELECT statement for? About 30 percent of the people I've met who describe themselves as SQL experts can't answer this question.
Interviewing people who puff their resumes is a waste of time. Sanity questions can help you quickly determine fluff from truth so you can move on to something (or someone) more productive.
Be sure to include some sanity test questions for each of the key process areas in which you expect the candidate to work. For example, if you are hiring someone who will be testing, be sure to ask several short answer questions about testing, such as, what is regression testing, and when would you use it?
It is important to have a range of questions from easy to expert. This will help you assess the skill level of the applicant. Before I ask any questions, I always ask the applicant to rate his skill level from one to ten. Seeing how well a candidate's self-assessment matches your evaluation gives you an idea of how realistically the candidate is judging his abilities.
Once the recruiters have screened the candidates, I review the sifted resumes, along with the candidates' responses to the first set of questions. If a candidate catches my eye, I schedule a phone interview. For the phone interview, I have a completely different set of sanity test questions for each of my key areas. Some recruiters have been known to prep candidates with what questions they should expect.
During the phone interview, I also have sanity questions for my "soft" requirements. For example, I often say, "Imagine this scenario: I have asked you to modify some code written by someone else. You determine that the code is poorly written. What would you do?" The response to this question will give you a great idea about how well this person works in a team environment.
If we had all the time in the world, the fairest and best method for hiring people would be to give each applicant an in-depth interview. Unfortunately, this level of evaluation just isn't practical when you have to sift through dozens of applicants. Creating skill sanity checks can give you a quick-and-dirty assessment of each applicant that will allow you to narrow the field down to a reasonable number of candidates worthy of in-depth interviews and your valuable time.