Software interviews are broken, let's fix this!


Software interviews are broken, let's fix this!Software interviews are broken, let's fix this!

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!

Make the process transparent

Below your job offer, provide an overview of your recruiting process so candidates know exactly what to expect. Example:

  • Round 1 – phone conversation with a Lead Dev (15 min)
  • Round 2 – take-home coding assignment (2h)
  • Round 3 – on-site interview (1h)

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.

Make the best use of everyone’s time

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!

Don’t miss Google’s CTO!

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.

Put bows and arrows aside

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!

  • What’s the biggest technical challenge you have overcome?
  • Is there a side project you want to tell me about technically speaking?
  • What do you think of the current state of the industry and how do you see it evolving?

How would you hire a juggler?

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:

  • Take-home coding assignment
  • Going through some of the candidate’s GitHub repos – on your own or presented by the candidate
  • Getting inspired by forward-thinking companies, who pay candidates they’re considering hiring to join their teams for 1 week to see what it’s like working with them

Avoid university exams trauma

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!

Final tip: convert no hires into hires

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?

Conclusion

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.