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).