I've written about (and suffered from) the perennially broken technical interview processes. One article "Tech Anti Interviewing" in particular, seems to have struck a chord.
Doing It Right
Given that I've roundly criticized my experiences with existing practices, what then do I recommend?
It's simple really, talking about how a person would work is a poor substitute for actually doing work. The trick is, of course, what constitutes 'work' in this sense?
Keeping it Real
A practical technique I use is to do something similar to what I will be hiring for to get an understanding of a number of aspects of working together. If I will be working on technology x, then try it out some non-work way. For example, for this month's interviews the candidate and I will be getting a one-process bioinformatics workflow working with Nextflow (a DSL for data pipelining).
What I am looking for during a 30-minute remote pairing session is the following:
- Ability to communicate
- Openness to learning
- Ability to collaborate
- Background skills
- Interest in topic area
How I do measure these traits? By listening carefully and observing actual behavior. Also, I tell candidates what I am looking for before the pairing session starts (this is somewhat similar the AWS focus on 'leadership principals').
I call my method - 'active technical interviewing'. I supposed you could also call it 'anti-white boarding' because we do not do puzzles, algorithms or optimization problems, and we work together, as we will be doing in real life if the candidate is hired.
Hiring Small
As a small business owner who works on a contract-by-contract basis, I hire subcontractors hourly per project. This limits my exposure, if a new hire isn't a good fit. Also I tend to hire junior developers (often students and/or career changers).
Getting Results
'What tech shortage?'
Using these methods, over 11 years, I've never lacked for qualified candidates. In fact, I have MORE qualified candidates that I can hire, because I carefully select my clients and projects. Also ALL of my subcontractors have gone on to get full-time roles as developers, devops pros, machine learning or data science engineers.
In fact I've had so much success, I've written a series of articles about collaborative technical work (articles shown in the graphic below).
I've also delivered talks on this topic. Here's a link to a presentation deck from a recent talk on this topic.
Being Human
IMHO, all of of optimizations and algorithms applied to interviewing and hiring has actually made our 'shortage of talent' problem worse.
So I strongly suggest when interviewing...spend some of your own time, work together, listen closely and remember that building software is a human-centered business.
Top comments (0)