(Technical) Recruiting is Broken
“The software developer job interview doesn’t work. Companies should stop relying on them. The savviest teams will outcompete their peers by devising alternative hiring schemes.Years from now, we’ll look back at the 2015 developer interview as an anachronism, akin to hiring an orchestra cellist with a personality test and a quiz about music theory rather than a blind audition.” — The Hiring Post (Thomas Ptacek,Matasano)
“No one ever offered me a book. No one even offered advice, or suggestions on what was interesting in the field or what was not. No one ever said, “Here is how we are going to bring your skills to the next level and ensure you will be quickly productive on our team.” The only answer I ever got was, “We expect every employee to be ready on day one.” What a scary proposition! Even McDonalds doesn’t expect its burger flippers to be ready from day one.” — On Secretly Terrible Engineers (Danny Crichton, TechCrunch)
Let’s face it, recruiting today, and especially technical recruiting is terribly broken.
The two posts above, published recently, suggest that a differentiated recruiting process can be a substantial competitive advantage in competing for top talent. If you still need persuading that there’s a real problem here that needs fixing, they both make a pretty compelling case for that. The latter a bit more hyperbolically than the former.
They propose the following outlined process, leveraging behavior science throughout the process:
1. (offline) Resume screen by recruiter
2. 30–45 mins phone screen by director-level or above: [liking, authority]
- Anodyne questions
- AMA-style AMA
- Exhaustive explanation of the selection process and what to expect at each stage
3. Prep for on-site:
- Send candidate a study guide and a couple of free books relevant to the work-sample test (see below) [reciprocity]
- Extend an open-invitation to proceed with the process whenever they are ready [autonomy, commitment]
4. On-site interview:
- Work-sample test: NOT a whiteboard exercise or a generic coding exercise. An actual, hands-on, standardized exercise in the environment and the stack that the candidate will be asked to work in, ideally using a crippled version of the actual code base. More details in the first post
- Cultural fit: by team members + one of a small subset of cultural bellwethers (usually “old guard” folks).
Generally speaking, they make the case for creating an interview process that is much less adversarial and much more collaborative, without compromising the rigor of the technical assessment (if not improving it at the same time).
I’ll leave you with one other good quote:
“The reality is, few professions seem so openly hostile to their current members as software engineering. There is always this lingering caution when interviewing a new candidate that somehow this individual has gotten through every interview process and team review without anyone realizing the incompetence before them… We can talk about interview strategies and coding reviews and take-home fake assignments all day, but nothing will improve until we have learned to address our own fear that we are going to hire an idiot.”