5 Tips for Successfully Interviewing Software Engineers

When it comes time to hire your next software engineer, the stakes are high. You’ll be able to save yourself a lot of angst by following a few, high-level guidelines. While technical requirements will vary widely from job to job, there are a few unifying principles to keep in mind.

For starters, your interview process should be conducted with a high level of integrity. Not only will a fair process attract higher-quality candidates, but it reflects well on your company. This guideline may seem obvious, but you’d be surprised how quickly “fair process” gets replaced by “I know a guy …”

As you prepare to conduct your search, here are five other guiding principles to keep in mind:

Don’t allow coding interview technology to get in the way.

The pandemic of 2020 only served to underscore a trend that was already well underway. Increasingly, programmers have been seeking jobs that allow them to work from home or other remote locations. 

Covid-19 merely accelerated the pace and upped the frequency with which companies began conducting online code interviews.

You can save your company and yourself a lot of time, expense, and hassle by investing wisely in code interviewing software.

Your goal is to select something that does not get in the way of the interview process. Like the best film scores, your interview tech shouldn’t call undue attention to itself.

If candidates and the interview team spend more time making tech adjustments than asking and answering questions, cut your losses and start over. You need a different code interview tool.

Give your candidates a uniform interviewing experience.

One way to commit your team to an interview process marked by integrity is to tightly control the code interview process.

Obviously, in an online interview, you can only dictate what happens on your end of the connection. Nonetheless, to be equitable, you should set up every interview session with a few variations as possible.

Keep the lighting and background of your camera feed the same for every session. Refrain from chit-chat during the coding session and politely tell candidates that you’d prefer they do likewise. Your goal is to assess every applicant on a level playing field.

It may feel artificial for your team to write a script for the interviewing process, but there are many insights to be gained.

Watching how different people respond to identical questions provides clarity on how people think and problem-solve. Here are some sample questions to help you get started:

  • What do you like about being a software engineer? What do you dislike?
  • In order of preference, please list the top five languages you use when coding.
  • How would you best describe your approach to problem-solving?
  • What difficulties have you faced — and overcome — while programing?
  • Describe a coding project that required you to stretch yourself.

You will doubtless encounter moments when you’ll be tempted to follow up on a personal remark.

Don’t.

The time may come for a more relaxed, casual conversation if your company prepares to make an offer. Throughout the interview process, stay away from small talk about partners, kids, pets, and — especially — politics.

Set objective benchmarks that include numeric scoring.

Every member of your interviewing team should be able to offer up feelings and impressions about a specific candidate. Given a sincere invitation to speak freely, team members will give you plenty of observations and opinions to process.

For any technical position, though, you also need measurable statistics. How long did the candidate take to complete the coding exercise?

How many years of experience does the applicant have in the specific field for which you are hiring? Were all application materials received on time and in good order?

Look for candidate criteria to which you can affix a number. Balance opinions with observable facts for a more complete assessment.

Filter fairly.

As human beings, we can’t help but allow likeability to creep into the interview process. Another word for this is bias. That’s one reason to limit small talk that might prompt you to favour one candidate over another.

How can you tell that bias threatens to corrupt the interview process? You’ll know if any of your interview team members begin rooting for a particular candidate to do well on the coding exam.

Bias detected is a good thing — you just need to make sure you factor it out. It should go without saying that any interviewers who have a personal relationship with an applicant should recuse themselves.

Follow up promptly.

When considering how you want to structure your interview follow-up, recall what it was like the last time you were looking for work on job posting sites.

That should be enough to ensure that you’re prompt, factual, and kind as you interact with applicants. Underpromise and overdeliver. No one will be upset if you tell them to expect to hear from you in two weeks and you call four days later.

Be sure to keep any promises you make. Remind yourself that every coder likely has friends who also code. You want all your rejected applicants to be able to say, “I didn’t get the job, but the interview experience makes me want to apply there again.”

One of the most difficult parts of the entire interview process is informing an applicant that they didn’t make the cut. Again, uniformity will be your friend here.

Use a standard protocol for letting people know you’ve gone in a different direction. It’s not necessary to offer any details as to why they didn’t get the job. If pressed, be careful not to say anything that could potentially open up your company to legal liability.

While there are many deeply technical aspects to hiring a software engineer, in the end, you are hiring another human being.

To add the right human being to your programming roster, be sure to conduct your process fairly. If you use the right tool to assess coding prowess and follow up respectfully, that individual may sign on sooner than you think.