How can you hire the best developers for your software development teams? It takes a combination of good sources of candidates and an interviewing process that screens them for technical and social skills. It takes a combination of IQ, EQ and diversity to create a great team.
If you are a technical expert – like a lead developer promoted into management – then you will feel confident in your ability to screen and interview developers technical competencies. You know how to ask the tough questions that will help you separate the true technical experts from the posers or simply the developers who haven’t gained enough experience to suit your needs. It’s a complicated process and if you need help you can find some great questions to ask online.
But if you focus too heavily on technical minutia you’ll miss out on the bigger picture. If you’re an experienced developer or manager you also know how team dynamics can make or break the productivity of your team. No one likes to work with (or for!) an unfriendly, arrogant or annoying person. Resist the temptation to lower your standards as you face a shortage of qualified candidates. Hiring weak employees or freelancers will be hard to manage and / or are expensive. The results will be delays and higher costs to get your software developed.
I technique that I like to use is behavioral interviewing where you ask specific questions about past behavior of the interviewee to predict how they are likely to behave in the future if they work at your company. There are four kinds of information you seek with each question. For example, suppose you ask the interviewee to tell you about a technical challenge they faced when developing an app at a previous job. You want to find out these four things:
Situation – what was the context - major product feature, client problem, etc.?
Task – what were they asked or did they decide to do?
Action – what actions did they take to overcome the challenge?
Result – and of course what was the result and/or impact of their action?
Describing a failure is acceptable if the interviewee can also describe what was learned. In fact I like to ask about failures to judge the candidate’s honesty and ability to learn.
By the way, STAR acronym is an easy mnemonic to remember the four things you must gather to have a complete answer using this interview method.
You should use some kind of structured interviewing process like this and cover all the areas that are important to success in your software developer roles:
Technical tests – administered by senior tech leads who know good answers
Personality tests – for diversity of personalities and perspectives to enable innovation
Creativity tests – intelligence is not enough, how knowledge is used is important
Communication ability – both in writing and verbally
Compatibility with company values
It’s difficult for one person to ask all these diverse questions. Use a divide and conquer approach with specific people, including peers of the interviewee, assigned to probe in one or more areas.
That last interview area is important and requires that you have meaningful values as part of your corporate culture. For example, an important value at Accelerance is to inspire a Global Perspective. We want employees who recognize that there are smart people everywhere and will help bring people together across the perceived borders of country & culture to create business opportunities globally.
Your company should define 3 to 7 core values and use them carefully during the hiring process to ensure you hire employees that are a good fit for your company culture. Inspiring a Global Perspective may not be on your core values list but on the other hand if you do outsource some or all of your software development globally you should make sure your employees will be supportive and not xenophobic!
You need to look for more that raw technical expertise and coding ability as you recruit new members to your software development teams. Use a structured interviewing process to cover all the areas important to hiring your developers who will work well together to create innovative software.