Talent Acquisition

Top 5 Interview Questions to Ask Software Developers

As a Technical Recruiter, my bread-and-butter roles were Software Development positions. I came into the Recruitment world with a background dominated by ‘soft skills’ and a BA in English Literature and as a result, I had a very steep learning curve with a huge amount of technical information to understand quickly, so that I wouldn’t sound like too much of an idiot when speaking to candidates!

Luckily I am a bit of a geek at heart and enjoyed learning about all this cool new technology. I started asking the following questions as a way of homing in on the strongest candidates by giving me a more holistic view of how they approach their work.

1. What projects are you working on at home?

Why to ask this: Great Developers are passionate about what they do. Talking about their professional work is fine, but that’s what they get paid to do whether they enjoy it or not. The best Developers, in my experience, always have their own side-projects. They needn’t be big or overly ambitious, and are an excellent way to hone their craft, try out new techniques and learn new skills. Side projects demonstrate enthusiasm and desire to learn, and if a Developer doesn’t have any, I want to know why.

2. What beta toys are you playing with?

Why to ask this: This relates to the first question – technology constantly evolves with new products and versions released frequently. If you wait to learn a technology once it becomes mainstream, you are waiting too long and will eventually get left behind. For example, iOS 6 was released this September, but there was a Developer preview available from June. iOS Developers should have been playing with iOS 6’s preview to learn its new features and see how it affects their development.

At the very least, if a Developer isn’t using the most up-to-date tools at work, he should be playing with them at home, or risk getting left behind. Playing with beta tools and latest technologies again shows that vital desire to learn, as knowledge becomes defunct rapidly in the tech world. At the same time, a tech recruiter should be aware of these trends and new techs in order to ask about them.

3. What source control do you use?

Why to ask this: Source control is software that manages code during its build; logging what changes are made (and by whom) and saving previous versions so if a Developer breaks something badly, they roll back to a stable version. Source control isn’t essential to get a project done, but it’s universally agreed that anyone working in a team, jumping in and out of one another’s code, will benefit from using source control.

Source control is even the subject of the first of 12 questions on the Joel Test; a well-known and oft-used test to determine a development team’s quality by asking yes/no questions on 12 development best practices – ideally a team should do at least 11 out of the 12 (see link for full list). Good use of source control shows the ability to work as a member of a team efficiently, and demonstrates an organised approach to coding.

4. How do you approach your documentation?

Why to ask this: Documentation is essentially the Technical Guide to a project, explaining how to use it, providing technical specifications, guides to algorithms and APIs etc. Good documentation is key to successful projects; ask any developer and they will list hundreds of examples of spaghetti code they can’t make heads or tails of, with no documentation to explain what the heck is going on.

Developers construct vast technical architecture in their heads and write hundreds of lines of code daily. They might remember what they wrote yesterday, but last month, or last year, and thousands of lines of code ago? Unlikely. Documentation isn’t fun or sexy, and is often ignored in favour of other more pressing concerns. However, when the excrement hits the rotating air circulation device, good documentation can save the day. A good Developer will create thorough documentation for his projects, and this shows a quality-focused approach to their work.

5. Give me an example of a project that completely failed?

Why to ask this: I got this one from a client who gave notoriously tough interviews – all his questions concerned project failures and screw-ups. He reasoned that all your successes are listed on your CV, so you get a far better view of a person from what they leave off! This isn’t a variant of the “what is one of your weaknesses” questions, where you give an answer that is actually a veiled positive. Keep probing until you get a real disaster. How they responded will give you a far better idea of what they are like in the workplace, and what their key weaknesses are – which you can then help prep them on for an interview.

Asking these questions helps identify passionate, driven and quality-focused developers who will be a boon to any client, although this is list is far from exhaustive. What questions do you ask to find the best talent, and how do they help?

Related: How to Recruit Technology Talent in 5 Easy Steps.

By Andrew Fairley

Andrew Fairley has recently completed an MA in Management with The York Management School, focusing on strategy, innovation, HR, and organisational behaviour, and has just begun a PhD investigating the UK internet startup industry. Prior to this, he spent 2 years as a Recruitment Consultant, working with clients from SMEs to blue-chips, sourcing IT staff.  You can find him on Twitter or LinkedIn.