Software engineering teams use technical interviews to assess software engineers’ technical skills during the hiring process. The following article provides a general overview of technical interviews and other technical assessment formats. For more information about the Karat technical interview, check out this post.
Technical interviews can involve writing code, discussing technology or Computer Science topics, or talking about past work. They’re facilitated by a professional interviewer with experience in a software engineering role, using consistent interview questions, and conducted in an integrated development environment (IDE).
So what are technical interviews?
Technical interviews that are predictive of candidates’ skill and a part of an inclusive hiring process have three common characteristics:
- Technical interviews are relevant to the job’s seniority and skills
- Technical interviews are conducted using purpose-built technology
- Technical interviews are facilitated by a professional interviewer with software engineering experience
In this blog, we’re going to focus on technical interviews that occur at the start of the hiring process as a first-round technical screen. Let’s dive deeper!
Technical interviews are relevant to the job’s seniority and skills
Many hiring processes include technical interviews with different focus areas: a technical interview designed to assess how a candidate would approach a problem, a behavioral interview dedicated to engineering collaboration best practices, and a system design interview to assess architectural judgment.
Teams may use one of these, all of them, or an interview format that efficiently addresses each. At Karat, interview formats are designed to maximize efficiency and hiring signal for each level of seniority.
Technical interview formats for every career level
Let’s look at three career levels and the types of interview formats appropriate for each:
- Intern and early-career software engineers: Technical interviews start with 10 to 15 minutes of project discussion in which the interviewer will provide the question, direction, and context. It’s followed by 45-50 minutes of coding that addresses solutions to the problem in real-time. They include two to three questions of escalating difficulty, measuring fundamental coding skills and specializations. E.g. algorithms, data structure choice, or complex business logic.
- Mid-career software engineers: Developers with three to five years of experience are ready to tackle more complex problems. Their technical interview should represent those capabilities. The interviews start with 10 minutes of project discussion, a shorter 30-minute coding exercise which will be more basic or advanced depending on job requirements, and end with 20 minutes of questions that demonstrate working knowledge. These knowledge questions will again be relevant to the role, and often include back-end systems, systems design, testing, algorithms and time complexity, machine learning survey knowledge, math, and statistics.
- Senior software engineers: This role handles complex business problems and leads others in critical projects. Technical interviews for senior roles require a deep understanding of which competencies will make a candidate successful in order to design a format and interview rubric that will accurately assess the candidate. Typically, they’re broken into three parts: discussing past work, questions that demonstrate working knowledge similar to the mid-career interview, and business logic complexity or code and architecture review. These will be tailored by industry or use case, such as finance, healthcare, or cybersecurity.
It’s important to note that these interview questions and formats must be used consistently in order to generate accurate hiring signals and be fair to candidates.
Technical interviews are conducted using purpose-built technology
Software engineers have been loath to recall requests to write code in a shared document, like Google Docs, when a proper integrated development environment (IDE) isn’t available.
An IDE allows interviewers to see how candidates normally develop or debug code, verify its functionality, and develop their write-ups based on a relevant interview rubric. These features dramatically improve fairness to candidates, ease, and accuracy for interviewers, and improve the effectiveness of the hiring process.
Proper technology for conducting a technical interview:
- Allows candidates to run their code in an IDE
- Includes video chat between the interviewer and candidate
- Supports the interviewer with a pre-approved interview question and format that will ensure interview consistency
- Removes opinion-based recommendations by allowing an interviewer to enter a rubric-based structured write-up that drives the recommendation
Technical interviews are facilitated by a professional interviewer with software engineering experience
Technical interviews are always facilitated by a software engineer that interviews as part of their job (or their full-time job). Companies may implement interviewer training programs or partner with a solution that conducts technical interviews and designs hiring processes with the greatest likelihood of success in order to bring this expertise to their team.
Professional interviewers are equipped with:
- Technical interview questions and formats developed for each role
- Technical interview rubrics to support consistent and correct scoring of the interview
- Best practices in inclusive in-interview communication
- An IDE in which to conduct interviews
This is important to hiring success, yet relatively rare in practice. Our 2020 Interview Gap Report found that nearly 9 in 10 engineering leaders (87%) agree that expertise in technical interviews is critical for a successful hiring process.
72% agree that “very few people at their company know how to conduct interviews,” and nearly 73% say that “the typical technical interview fails to predict the performance of software engineers.”
How should you structure a technical interview?
The exact structure of an interview loop is greatly influenced by the size of a company and interviewing expertise of your team as well as the role a candidate’s applying for. At the beginning of this blog we outlined the structure for Karat technical interviews. Your technical interviews look a bit more like this.
You’ll want to cover the following steps:
Preparations before the interview
A successful technical interview starts before the candidate arrives — when you’re creating the questions. The first step is to review the role’s job description. If written correctly, this can guide you when creating the technical interview questions. Take every skill or daily duty a new hire will have and turn it into a question to test the candidate’s abilities.
Note: Look into the future of the role and how its demands will evolve. Add in the right questions to test if the person will be able to fulfill their duties given sudden changes or new technologies. Questions that focus on identifying how someone will respond to change or a short deadline are a must for this.
When working with Karat’s interviewing experts, you’ll select the right questions and rubrics in advance. We work with your engineering team to include the proper questions, identifying key competencies for the success of this role and making sure our recommendations represent your hiring bar.
Don’t forget to welcome your candidate with enthusiasm and introduce yourself. If holding the interview remotely, check the equipment on both sides to make sure everything works just fine. Use these first moments to make them more comfortable and present how the technical interview will flow and [optional] what your expectations are. Explaining how the interview works makes for an inclusive and fair interviewing process. And, it increases the chances of them accepting your offer by as much as 75%.
Tip: Start with an introduction that gives the candidate an idea of how the technical interview will go.
Move on to the technical questions
The typical hierarchy of questions starts from easier to more complex ones. The latter are mental exercises that require job seekers to use their working knowledge and should make the difference between one candidate and the other. But they shouldn’t be trivia questions.
The interviewer should rely on these to assess a potential hire’s skills, critical thinking, and adaptability. The assessment should become progressively more challenging.
An alternative to this journey from easy to tough is to break a more difficult problem into smaller questions. The answers to the first questions can help the candidate solve the final task logically without putting pressure on them.
Take questions from your candidate
Developer candidates will most likely be eager to find out more about the tech stack you’re working with, your teams’ structure, and some extra company details. Sharing these details lets you expand upon vital aspects of your future collaboration.
Remember to use your interview rubric to track the skills the candidate demonstrated in the interview. Also make notes of the questions the candidate asks. You can use these to improve your process in the future.
Go over the next steps
By now you should have a rough idea of whether the candidate will go to the next round. But before making any promises, you’ll want to discuss your notes with the rest of the hiring team. They should be aligned using the same competencies so you can reach a clear hiring recommendation.
Always ensure the candidate hears back from your team and they aren’t “ghosted.”
But is there an ideal length for these types of interviews?
A single interview can last anywhere from 30 minutes to an hour, while the entire loop may take four to six hours. When it comes to a single technical interview, respondents to our engineering survey averaged 20.7 first-round technical interviews per hire. Compared to these stats, Karat clients conduct about 13 interviews per hire in New York, 16 in San Francisco, and 18 in Seattle, with an average of 16 across all other markets.
What matters beyond the number of interviews you’re holding is their quality. Aim to make technical interviews more efficient to ultimately improve onsite-to-offer ratios and hire the right people for both the job and your team culture.
We hope this is a helpful guide to what a technical interview is and what it is not. Read more on how you can tweak your technical interviewing process in our white paper. For six steps to developing great technical interviews and hiring processes, check out this video with Karat’s Global Head of Solutions Engineering Shannon Hogue: