Although I've seen many discussions on how to do an interview and develop your brand, I haven't seen many discussions on how to determine if your hiring & interview process is actually working well. I think this question has two parts:

  1. How do you know your hiring process is getting the right candidates to apply and go through the interview process?
  2. Of the people that you end up interviewing, how can you tell that the ones you choose to hire are better (on average) than those that you rejected?

I suppose the "extreme" cases - when you end up with a superstar or a total dud - are pretty obvious, but what about the rest?

  • Please follow this proposal for that kind of question: Organization aspects – Maniero Dec 10 '10 at 20:26
  • General career questions are no longer on-topic on Programmers, but there are site proposals like Professional Matters that could use support if you're interested in a general career-related SE site. – Adam Lear Oct 30 '11 at 22:58

One thing that has been really useful for me in this regard is to review my interview notes on the one year anniversary of hiring an employee.

I have a standard interview script, although I usually tweak it for the particular candidate. In any case, I type up the questions that I asked and summarize the answers into a word document directly after the interview while the information is still fresh. I also have a section for my general gut feel about the candidate and what stands out about them either positively or negatively.

Of course I use this document extensively throughout the rest of the hiring process, especially when I am talking to a lot of candidates when it is easy to get confused about who said what, but it really comes in handy for fine tuning my interviewing process.

On or about one year after the hire, I think about how well the person has worked out. I look at both the positive and negative surprises over their first year. Then I go back to my interview notes and evaluate how well my questions drew out that information. Finally, I use this analysis to tweak my template interview script so that I can make sure to extract that information in future interviews. Also, I use this to get rid of questions that aren't contributing useful information and wasting valuable time during the interviews.

Over time this has really honed my recruiting process and the quality of my hires has improved steadily. I think the most important lesson I have learned from doing this is to never ignore your gut when you have qualms about a candidate, even when you can't put your finger on what the specific issue is. Not once did I have a concern from an interview that didn't manifest itself over that first year.

I blogged about this a while back in my article "19 Tips For Recruiting Great Developers".

  • +1 interesting, I didn't know some people put that much though (well, to the point of formalizing it) in their hiring process. Good answer. – n1ckp Oct 22 '10 at 3:24
  • Recruiting good people is one of the most challenging aspects of management and one of the biggest determining factors of success of the team. As such it isn't something I take lightly. – JohnFx Oct 22 '10 at 12:39
  • + 1 great response. It is a massively under valued aspect of software development. – Anonymous Type Oct 25 '10 at 3:44

Lead time is an important metric.

Measure the total time from the day a need for a new open position is established to the new employee's starting date. The lead time for an existing employee to leave a company may be as short as two weeks (the "two-week notice"), so if your lead time to hire measures in months, that's a problem.

There are numerous and sometimes creative ways companies can waste time in the process. If you know what your typical lead time is and it is indeed too long, you can find ways to shorten it. Consider if a particular time interval is value-adding; if it is not value-adding, it's waste.

Lead time has nothing to do with the quality of candidates or new hires, but if it is too long, it affects quality indirectly, as better candidates find work elsewhere.

ADDED: some time after I wrote this, I discovered this blog post - basically how to do lean HR and recruiting and eliminate waste from it. It's endorsed by some of the best in business.

ADDED: Since I posted this answer, I have lost one referral. A very qualified candidate took less than two weeks from the resume submission to onboarding (at a different company, obviously). If your time from resume submission to scheduling a phone interview is two weeks, that's as if such candidates don't exist at all.

  • Good idea, but seems overly stat driven approach to something that at times can be organic. You can't always take a KPI approach to getting the right candidate. – Anonymous Type Oct 25 '10 at 3:46
  • I agree this approach alone won't get you the right candidate. But I contend that it is very useful in identifying and eliminating waste from the process. To give one example, if it takes an organization three weeks to schedule an appointment to take place another three weeks later, that's waste and the organization needs to eliminate it in order to be competitive for the best candidates. – azheglov Oct 25 '10 at 13:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.