All companies need to hire people from time to time. However, how a candidate is interviewed is often an afterthought. To hire the best people, you need an Interviewing Strategy.
Interviewing done right is hard work. For the last 12 years, Craftlogic has been doing deep technical interviews when hiring people for our projects and for our clients' projects. Our focus is on the interview.
An Interviewing Strategy must consider the following:
- Timeliness. Don't waste a candidate's time. A good candidate has other opportunities besides yours. Get them in, interview them, and get them a decision. It's the right thing to do and the candidate will appreciate the courtesy.
- Know what you want. You must know exactly what you're looking for. If you don't, then don't start the interviewing process. You're wasting your time and more importantly the candidate's time. Define the job and the skills needed.
- Don't have a checklist. You're not ordering parts to make something. You're interviewing.
- Prepare for your interview. You must know what questions you are going to ask. Without a list of questions, you'll end up talking about the weather.
- Train your interviewers. Don't let just anybody perform an interview. Train them to do it properly.
- Remember the purpose of the interview. The purpose of the interview is to find and hire a candidate that's capable of doing the job to your satisfaction.
- Make sure the candidate meets everybody. The candidate needs to meet the decision makers. Don't make him come back again.
There's nothing more frustrating than having a great candidate and then losing him because the client doesn't put a priority on getting the interview completed. If hiring someone is important to you, then get the interview scheduled for the earliest possible time.
Remember, your company is not the only opportunity available to the candidate. Just this week we had a client cancel an interview and reschedule it. Then, on the day the rescheduled interview was to happen, the client was a no-show. Now, the candidate says he has no desire to reschedule and is no longer considering the position.
The message they sent to the candidate is, "You are not important to me." We fired the client.
Know what you want
If you don't know exactly what you want and need, then how are you going to interview somebody and know they're the right match for the job? Part of what we do here at Craftlogic is to fully define the job. We want to know the technologies involved, the team culture and dynamic, as well as the business skills needed to do the job. If we don't know exactly what you're looking for, then we keep asking you questions until we do. You should do that very same thing with your staff.
One of our clients a few months ago had a job opening. We worked with them to define the skills and the role of their ideal candidate. We also met with their team in order to understand the personalities and culture. Once we had this, we started scouting for talent. Two or three weeks later after sifting through dozens and dozens of resumes and interviewing candidates, we submitted a candidate which we believed was a perfect fit. Our client scheduled and interviewed our candidate.
Since we always do a post interview with our candidate, we found out that the client told them of a different job than what we described. We contacted the client and asked what was up. The hiring manager during the interview decided that he needed some additional skills which our candidate didn't have and we didn't know about it. So, we wasted our time and the candidate's time and the candidate now has a bad view of Craftlogic and our client.
None of this was necessary. Know what you want before you waste a lot of people's time and make yourself look bad.
Don't have a checklist
Knowing what you want is good. But, don't have a checklist that would eliminate most or even all candidates. Software, for example, changes all the time. Some new framework that's hot today will be replaced by some other framework in six months. What you need is a smart person not a robot. Look for that smart person and he or she will learn what's needed to do the job.
Take a look at a previous post "Are You Trying to Hire a Robot or a Human?"
Prepare for your interview
This is the hard part. To be prepared means to know every question you're going to ask the candidate in advance of the interview. I've had a ton of experience interviewing candidates because I've interviewed thousands of them over the years. What I've learned is you must be prepared or you are simply wasting your time and the candidate's time.
If you're interviewing a software developer, for example, you must cover all of the technologies and topics associated with the job. This is what we do for every job opening:
- Determine the number of major topics in your interview. Let's say you're interviewing a .NET/C# developer. You may have topics about OO Concepts, Design Patterns, .NET Framework, C#, ASP.NET MVC, SQL Server, Entity Framework, ADO.NET, WCF, Web API, etc.
- For each topic, determine which questions you need to ask in order to be confident that the candidate knows it. You don't have time to ask every possible question per topic so pick questions carefully. For example, suppose I ask a candidate a SQL Server question such as, "What is the purpose of a Left Outer Join?" If he answers it quickly and correctly, then I don't need to ask him about inner joins because if he knows about outer joins he would most likely know inner joins. By picking the right questions, you eliminate a lot of others which saves you and the candidate time.
- Make sure your questions are important to the job. Asking off the wall questions or questions which you know the candidate can't answer is a waste of time.
- Be willing to improvise. Many times a candidate will say something that you want to dig deeper. This is an excellent opportunity to learn even more about his or her skills. The list of questions is just a guide.
- I don't recommend coding tests. Many may disagree with me on this. I think you can find great candidates by doing coding tests but you'll miss many more. When I write code, I don't do it under pressure with people watching me. Why do we think it's good in an interview?
That covers the technical points, but your new hire must be a match in business acumen and culture. Have a few questions relating to your business and culture which which you would need in order to make a decision. The interview is to not just know what the candidate can do for you but to get to know him or her on a business and personal level.
Train your interviewers
Your interviewers must be trained to interview properly. Just because your interviewer is a brilliant software developer doesn't mean he's a brilliant interviewer. I've seen some of the most horrible interviews by great software developers. Without preparation, an interview comes down to asking questions about hobbies, last nights game, and the weather. You may learn a lot about the candidate's personality, which is good, but you won't know if he or she can do the job.
The interviewer must be knowledgeable of the subject matter and be able to ask questions you've defined and know that the answer given is correct or incorrect and understand the variations of possible answers. In addition, a good interviewer will "go off script" based on answers and dig a little deeper into a person's skills. This is what you want.
An online test can't do any of these things. Give me multiple choice and google and I can answer any question.
Remember the purpose of the interview
The purpose of the interview is not for your interviewers to feel smart about themselves. The purpose of an interview is not to make the candidate cry. I've seen this happen a lot in roundtable types of interviews where you have a gang of interviewers trying to one-up themselves to show how smart they are by asking increasingly harder questions. Yes, it makes that interviewer feel good. But, did he accomplish his job? No.
Note: If you have multiple interviewers, have them individually interview the candidate using a subset of the questions you have.
Interviews are meant to ascertain whether or not a candidate is able to do the job to your satisfaction. Unless you're Google and you get 10,000 resumes a week, you don't need to ask the infamous two trains and a bird problem. Yes, maybe that does tell a lot about a person's thinking but you really just need to have somebody do the job, right?
Two trains leave from opposite ends heading towards each other for a collision.. The distance between the two trains is 300 miles. Each train travels at 20 miles/hour. As soon as the trains set off, a bird starts flying from train A towards train B at a speed of 60 miles/h. As soon as the bird reaches train B it changes direction and heads towards train A. The bird continues to fly back and forth between the two trains until the last when the two trains collide and the bird gets squashed. Find the total distance traveled by the bird?
Yes, it's an interesting question. I was actually asked this question once back in 1998. Now, let's get back to the interview.
Make sure the candidate meets everybody
One of the things that turns off a candidate is when he has to have multiple interviews. Just last week we had a candidate take another job while waiting on his second face-to-face interview. This is a huge risk. Have all the decision makers involved in the interview and make a decision quickly. If you like the candidate, chances are another company does too. You are competing against other companies for candidates just like candidates are competing against other candidates for your job.
Like I said, interviewing is difficult. Know this and plan for it. Have an interview strategy just like you have marketing strategies or sales strategies. If you do use staffing firms, make sure they offer you this service for their fee. As an example, I've included an actual assessment for a candidate we submitted to a client who then hired him. To download, see the attachment link below. If you're not getting these kinds of assessments from your vendors, then ask them why and ask them to provide them.