If you’ve ever been asked to interview a software developer, and you’re not technical, it can be a little daunting. What should I ask? What are good answers vs bad answers? How do I know if they're just BSing me? I feel like I don’t even speak the same language?
This guide can help you evaluate a software developer candidate even though you might not have experience or exposure to software engineering.
“Can you interview this developer and tell if he’d be a good fit for my project?” This is usually a terrible idea. Conducting a good technical interview is difficult and requires two conditions to be successful.
First, the interviewer must be well versed in the actual technology that will be used in the project. This is why it doesn’t make sense to get your neighbor who helped write a top iOS app to interview the dev who’s going to write your awesome new web app in React. Your neighbor may be awesome, smart, funny and make great burgers but they probably don’t know anything about modern web technology. Technology moves ahead at a merciless pace and keeping current is both difficult and rare.
Second, it requires a common shared experience. If you haven’t worked with the person requesting the interview on a project together it’s a stretch to interpret their feedback. There’s no shared experience in common to use as a yardstick. Their good may be your terrible.
Just don’t do it…your judgement isn’t tuned to choose relevant questions nor adequately evaluate responses to them.
Unless the reference is someone you know well, their feedback is quite hard to interpret. This is, unless of course, it’s a terrible review. Then run.
It is very common to think “they worked at Google, they must be smart.” We’ve had enough inside experience to know that there are always well run projects and disasters. Look at peers you’ve worked with and you can identify rockstars and slackers. The same is true for every company big and small. Just having a famous name on your resume is no assurance that the developer in question participated in one of the better projects. Even Googlers have come to this conclusion.
So where does this leave us? What can you do yourself to figure out if this person is a fit?
Ask them to explain their last two projects. They should start with the business goal and then explain the project management solution they used (agile, waterfall, any tools) and then finish with the technical solution and what they specifically contributed to it. Here are the things to look for:
Project Goals:
Project Management Methodology:
Technical Solution:
Small projects fail more often because of communication, not technical hurdles. Just ask yourself do I really think this person understands what I am saying? Do I understand what they are talking about?
Explain your project and have them repeat it back to you. Have them give you the elevator pitch back. If it doesn’t sound right you can bet that they’re not going to translate it into software properly.
If they do good work, then they’re good. It’s amazing how often this idea is seen as novel. Set up a trial period (say two sprints, ~30 days) and actually work together. Agree to share some of the risk. Perhaps if the work isn’t up to quality, the developer agrees to half their billing rate. Then if it goes poorly you’ve wasted time and some money, but the same goes for the developer. At Admios we offer to drop the invoice entirely if you don’t like our work in the first 30 days, but our scale is different than that of individual contractors.
Your top takeaway is to look for solid repeatable results. Here’s a decent checklist:
You don’t need to be technical to interview or evaluate software engineering candidates. Hopefully this guide gives you a bit more confidence to have an engaging and informative conversation. If you’re reading this because you’re looking for developers to help your project, we’d love to have a 15 minute conversation with you to see how we might be able to help.