Hiring great software developers is tough enough as it is, but many people make it even harder by interviewing a potential candidate in the same way they’d interview a robot, with the majority of questions focused on gauging technical capabilities and programming acumen. The common assumption is that if the candidate has the competence and the experience to do the job, once hired she or he will do nothing but the best work they possibly can and soon magical code will rain down from the sky in a blissful parade of zeros and ones.
But when assembling world class software development teams, we’ve found one factor that matters WAY more than technical specs alone and has the highest correlation to your team’s success: personal motivation. If the engineering candidate is self-motivated and eager to learn, they will win in any job you throw at them, and they will find a way around (or through) the inevitable brick walls we all occasionally run into.
So when interviewing software developers, the real key is to uncover the candidate’s motivation. It’s a fallacy –or hubris—to think that you or your company can create or significantly change a candidate’s motivation; this is an internal motor that is hard to access and re-wire. But if you can really drill down and understand what intrinsically motivates a candidate, you will be able to decide if you can offer the culture or rewards that will motivate your future employee and align his or her goals with that of the company.
There are five main types of core motivations when it comes to software developers:
- Team – they want to be part of something bigger.
- Challenge – they want their work to continuously get harder and more complex over time.
- Responsibility – they want a wide range of duties (such as managing people or managing projects) and want their purview to increase each year.
- Compensation – they want to make as much money as possible.
- Stability – they want to preserve the status quo.
So which motivation types are best when hiring great engineers?
Our experience strongly suggests that you should be maniacally focused on the first three motivation types.
The team-oriented engineers usually end up being folks who will stick with you no matter what. The key for them is that they are always surrounded by other people they like and respect (“A” players like to work with other “A” players).
Those engineers who are motivated by challenge and responsibility are often best for early-stage startups or companies looking to reinvent themselves or their category. But you have to make sure that your company or your mandate keeps growing –and thus adds increasing complexity—in order to keep them happy and retained.
The software developers who are driven by stability are usually predictable work horses, which makes them a good choice for teams that are already formed and where a solid roadmap and execution plan is in place. But in general they will fail to move the needle on innovation or step up in a crisis and will quit if you or your team is slightly disorganized and/or the work routine is variable.
The compensation chasers are the hardest to hire and retain, though they are also the easiest to spot since you can usually identify these cats by the questions they ask. Of course, paying engineers a competitive wage is important, but if the almighty dollar is their primary motivation they will lean towards making product decisions that are best for them and not always what’s best for the company. Whenever we hired this type of engineer in the past, it was usually because they had a very special or unique skill set that we needed now, but we knew they would leave as soon as the next highest bidder came along—and they always did.
So what questions can you use to discover a developer’s true motivation?
We found that these four questions are best at unlocking the psychology of an engineering candidate:
- Why did you take your three most recent jobs?Most people ask candidates about their previous work experience. But this isn’t very insightful since it allows the candidate to craft their own narrative and fails to get to the reasons behind their decision making. By asking the question above instead you will be able to spot motivational patterns with the candidate.
- What are the gaps you are experiencing in your current job that is making you want to leave? This is a great reflection of what the developer is thinking now – and what are the main pain points they are running from. This will allow you to decide if the pain points are positive (“it’s not challenging enough”) or negative (“the company missed our targets and they stiffed us on our bonus”).
- Where are you going?This is intentionally a very open-ended question that is left for the candidate to interpret. If they answer with mostly short term goals, you know that the candidate may not be fully committed to the team. If they respond with mainly long term goals, you should then probe what their expectations are for advancement (and are these unrealistic or not).
- Why are you specifically interested in our opportunity and how do you think you will fit in with what we are trying to achieve here?With this question you are looking to see how the candidate reconciles the proposed position with their stated goals from the previous question. And if the candidate struggles to articulate how he or she can contribute, that’s usually a good predictor of whether they will be able to make a meaningful impact within your development team.
Remember: though software developers aren’t robots, you still need to find their power source. Hopefully these questions will get you a few steps closer to the truth!
[Need help hiring great software developers? We’re always an email (firstname.lastname@example.org) or phone call (310-699-6884) away!]