If there’s something that pretty much everyone in the software industry agrees on, it’s that interviews are broken. Just ask any developer… or Google! A search of software interviews are broken yields a whopping 82 million results! Time to do something about it! Indeed, nailing the recruiting process of software developers is key to building high-performance teams and therefore a high-performance company. Let’s see how we could fix this!
Below your job offer, provide an overview of your recruiting process so candidates know exactly what to expect. Example:
Flesh these sections out a bit based on your specifics. Also, give some preparation advice to candidates so they know what to focus on, as you want to see how they perform at their best. Companies such as Google or Facebook do exactly that.
Too often, the 1st step consists in the on-site interview, only to realize after a few minutes that the candidate won’t make it, potentially wasting hours of productivity on your side and even worse on the candidate’s side, who typically loses half a day commuting back and forth. Even with Zoom interviews, you might still be tempted to honor the meeting until the end. To avoid that, make a 15-minute phone screen the 1st step of your process. You'll be amazed at the productivity gain!
Companies that won’t even consider a candidate because the CV doesn’t contain specific technology keywords are doing it wrong. Based on this reasoning, a .NET shop wouldn’t hire Google’s CTO because he doesn’t have any .NET keywords on his CV, while he would certainly be the best hiring decision the company has ever made. Technologies are changing constantly so if you’re hiring for the long term, rather than focusing on what candidates know at time T that might be obsolete in 6 months, look for signs of passion and past exceptional performance. There’s however one exception to this rule: when you absolutely need an expert in a specific technology, to lay out the technical foundation and mentor others for example.
The interview shouldn’t be about “attacking” the candidate with endless closed-ended questions. Let it be a conversation between passionate people. You’ll learn so much more with open-ended, passion-igniting questions such as the ones below. And it’ll be much more fun too!
Hiring a juggler without seeing her juggling wouldn’t make much sense, right? Yet, many companies still hire developers without seeing them code! Here are a few ways to assess candidates’ code:
It’s not rare to hear about companies having their candidates go through some university exam trauma, asking them to invert a binary tree on a whiteboard only to have them tweak some CSS and work on mundane bug post-its once hired. Unless it is an accurate reflection of your daily work, you should avoid questions like these. Assessing the knowledge that the candidates have accumulated over the course of their careers will prove far more interesting than assessing that of their university days. These questions are also one of the main reasons why companies pass on great candidates that would otherwise be an ideal fit for the job. Don’t make the same mistake!
Even when you’ve found that the candidate isn’t a match, you should still tell him about your company and the cool stuff you’re doing. You want all the candidates to have good things to say about your company to their developer friends. Talented developers are not dime a dozen, so wouldn’t it be cool to have your previous no hire lead to your next hire?
The greatest inefficiencies of software interviews are certainly the over-focusing on specific technologies and questions that do not reflect the actual day-to-day work. But many other things can be improved too and as a general rule, make the interview a place where passionate people are excited to meet each other with a high degree of mutual respect.