A reasonable hiring process

In my previous log I mentioned the hiring process I set up in my company.

In order to hire someone I have to know few things:

  • What's the applicant background: diploma, self-studied subjects, previous projects, past side-projects
  • What's the applicant interests: side-projects, self-studied subjects
  • The candidate's ability to communicate (in general, and to gather information) and be articulated
  • The candidate's ability to handle a programming assignment (asking questions, doing the work, explaining the solution, explaining the decisions taken, and providing alternative ones)
  • The candidate's ability to keep composure under pressure (and yes, interviews are stressful)
  • The candidate's ability to adapt to a new codebase
  • The candidate's ability to make suggestions to a codebase
  • Check if my guts feelings are okay with the candidate

I also want to set up a "fair" hiring process:

  • Be as invested as the applicant (i.e. don't ask a 4 hours applicant before the first interview, or just to eventually get a short second interview)
  • Give clear deadlines (don't wait 3 weeks before coming back out of the blue)
  • Be relatively fast, or at least transparent

I end-up with the following process:

  • Review candidate's resume/Github profile
  • A 1h30 interview with me and another coworker:
    • 20-30 minutes general conversation
    • 5 minutes introducing the subject
    • 45-60 minutes of live-coding
    • 5-10 of feedbacks (on both sides)
  • A 30 minutes call with the CEO

Nothing spectacular, but enough for me to answer the questions I have, being fair and being fast (it allowed us to wrap hiring processes between 4 days (a bit too short for me), to 23 days).