Using the Right Coding Interview to Hire Engineers

Software engineers, data engineers, data scientists, and DevOps engineers are expensive and a pain to hire. Companies use technical challenges to assess a candidate’s coding capabilities. However, it’s tough to get it perfect since there is only so much an interview that can capture about an engineer’s technical potential. Many companies do not put structure around their hiring process and assume as long as any technical interview takes place, the candidate is qualified. Unfortunately, hiring the wrong candidate can be detrimental to both the capabilities of the team as well as the company’s progress in building new features.

During these interviews, there is a trade-off between assessing an engineer’s working style, thought patterns/problem-solving skills, coding abilities, and communication skills. There are many types of coding interviews- White Boarding, Coding Challenges, etc.. and each assess different skillsets in varying degrees. Let’s discuss the trade-off between using these different technical interview techniques, what they accomplish, and how to best deploy them.

We Will Cover

  1. Take-Home Timed Coding Challenge
  2. In-Person Whiteboarding Interview
  3. In-Person Pair Coding

In the end, I will provide our recommendation for how to interview engineers more efficiently.

Take-Home Assignment

Photo by Ekaterina Bolovtsova from Pexels

The take-home assignment is a series of tasks provided to developers to complete at home. Coding assignments are typically used as a screener before later stages to ensure that candidates can code before spending engineering time interviewing the candidate. They are useful for evaluating more experienced developers.

Time Commitment

Skill Assessment Quality

Biggest Downfall

The second biggest downfall is that you will lose candidates. People are busy and have a full schedule of work. Asking them to do assignments on their downtime, especially if they have a family or other dependents, is a lot. It’s also perceived as rude since it constitutes free work and can negatively impact your reputation with the candidate if they move forward and receive an offer.

Works Best For

At Home Coding Test

Photo by Vlada Karpovich from Pexels

The at-home coding assignment is a short (1–2 hour) coding challenge that the candidate completes on their own time. It is typically used as a screening interview to weed out candidates who are not “technical” enough. It’s a great low commitment way to quickly screen candidates.

Time Commitment

Skill Assessment Quality

Biggest Downfall

Another major challenge with this interview technique is that it’s too easy for candidates to cheat. Also, unlike a take-home assignment, it’s usually impossible to ask follow-ups since there are a large number of different problems being asked.

Works Best For

Photo by luis gomes from Pexels

Technical Interview- White Board

Time Commitment

Skill Assessment Quality

Alternatively, companies use this time to evaluate a candidate at a higher level. Candidates are prompted to draw an overall architecture or design. This technique can assess both candidates’ coding capabilities as well as their overall knowledge of building working systems and gaps in their understanding.

Biggest Downfall

For candidates that spend time preparing mainly for technical whiteboarding sessions, there is also a risk they are unable to write functional code that is high quality. It’s important to acknowledge the fundamental difference between solving computer science problems (algorithms) and building enterprise-grade software systems. Hiring a highly intelligent yet unproductive engineer onto a development team is a costly and time-consuming mistake.

Works Best For

Technical Interview- Pair Coding

Time Commitment

Skill Assessment Quality

Biggest Downfall

Benefits

Works Best For

Comparison Matrix

My Recommendation-

The ideal candidate for any company is one who can write functional code, deliver the code in a proper time frame, can work in a team without conflict, and have a high-level understanding of their domain and the software development lifecycle. Thus, it is essential to design an interview that assesses each of these concepts individually.

Keep Assignment Short or Skip Them

Use Whiteboarding For Architect

Do Code Pairing for Skills

Train Your Interviewers And Be Friendly

Big Data focused architect & strategist, Life Sciences, and Genomics nerd. linkedin.com/in/garych

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store