1. Find people and get them to applyWe do the usual direct advertising (seek, corporate website, etc), engaging recruiters (some are better than others), as well as actively seeking people that our people already know (aka internal referrals). Depending on the market at the time we will progress somewhere between 30%-60% to the next step. The others have applied using an outdated resume, serious spelling and/or grammatical mistakes, or have experience that is not a match to what we are looking for (e.g. an Oracle DBA that is applying for a web UI developer role and hasn't taken the time to learn any of the skills required).
We don't do this step perfectly, and I should put a lot more effort into the job description that we publish so that we:
a) avoid people wasting their time, and
b) attract the kind of people who would do well in that particular role.
2. Phone interviewThe phone interview usually goes for 15-30 minutes, and the point of it is for me to:
- Verify the persons integrity:
- Can the person back up what they put on their resume?
- Is their definition of "expert" having read a book on it once?
- Are they overly modest, and are an expert but haven't said so?
- Evaluate their communication skills:
- We have offices in multiple locations, and we will need the person to talk effectively on the phone.
- Give the person some information on our work environment and approach so that they know whether or not we are the right fit for them.
3. Coding exerciseProviding the phone interview is not too bad, we'll ask you to do a coding exercise. We hope that you'll spend somewhere between 1 and 4 hours on it. We don't expect it to be completely finished and polished, however, we do want to see where you are heading with your solution, and get a feel for your coding style, and the kind of problems you are anticipating. We use it as a talking point in the first face to face interview.
4. In person technical interviewWe'll get you in for between 1-1.5 hours where you will meet and be
5. In person final interviewIf we are happy with what has gone before, we'll invite you in to meet the head of the department, the QA manager, and probably someone from HR to make sure as a management team we are all happy with you joining us.
By far the biggest improvement we made was the introduction of a coding exercise into the process, and that has evolved a bit over the last few years, but I think I'll save that post for next time.