Have you experienced great or horrible software engineering interviews? Here are tips on how to conduct an interview that gets you the insights you need to make sound hiring decisions. Happy hiring!
Be the first to know
Sign up for a weekly dose of tech hiring news and updates.
An interview is the initial measure of a person’s value to a company.
It allows a tech hiring manager to evaluate whether a new software engineer will fit into the role and company culture.
When interviews are not correctly planned and executed, they can lead to serious flaws in team development. And, as many of us know, any breakdown in a professional team can have disastrous results for a company—especially with tech hiring teams whose employers rely heavily on their expertise and production.
So how do you start cracking the coding interview process?
Repairing a broken system for hiring developers
With a growing digital and global marketplace, the quantity of potential software engineers has exploded—but alas, how do you find the good ones? Tech hiring teams are discovering that their old programming interview processes are irrevocably broken; they’re no longer generating the kinds of software engineers they truly need. The truth is many tech professionals don’t know how to interview software developers.
With most software engineering interviews, the primary goal is to set up a realistic scenario that challenges the individual’s skills. Identifying their weak points provides everyone with the opportunity to improve. This calls for a detailed analysis of the mistakes that can occur during the software engineering interview.
Interview preparation: Reviewing common mistakes
Only offering one problem
One of the biggest mistakes an interviewer can make in tech hiring is to offer a “one and done” approach when hiring developers. It’s important to offer them more than one type of interview problem to solve. More important than that is learning how to conduct a programming interview that is effective. Create a process that challenges the software engineer’s skills at more than just one level, and evaluate their performance holistically.
Looking for only one solution
Even when presented with several coding interview questions, there may be an obvious solution to each one that’s been presented. But, when interviewers expect only that solution, they can alienate software engineers that think out of the box, and who may be more adept at critical thinking. Make sure that you are open to other solutions that may work in the screening interview process.
Not detailing the job expectations correctly
When a job application fails to accurately describe the job duties, this can lead to a breakdown in communication. A person may show up at a programming interview prepared for one type of test, only to encounter something that they aren’t equipped for. When hiring developers, it is also important that the job details not make the position seem so complicated that even an expert would feel intimidated.
Rattling the software engineer with a poor reception
One thing that many software engineers have complained about is a poor reception on the day of their interviews. This can rattle them or even confuse some who are already nervous particularly if they feel that they’ve covered all the bases in their interview preparation. Very few people go into a job interview feeling completely at ease. Meet them and let them know what to expect. This simplifies the interview process at both ends.
Not using a tiered interview approach when hiring developers
Use an interview approach that tests candidates’ technical skills, critical thinking, and ability to learn from their mistakes as they go. Allow them to create and solve their own problems, which provides a window into their unique approaches in the screening interview process.
The resume screening process
One of the most common mistakes made by interviewers in every industry in the resume screening process is relying too much on information in a résumé itself when deciding who to advance to the next stage. Look at candidates’ projects and previous work. Dismissing someone too early especially in the resume screening process can deprive a company of talent that doesn’t necessarily shine through in a résumé, so be wary of placing too much value on them.
Asking questions that aren’t pertinent to the programming interview process
Sometimes interviewers attempt to “throw off” candidates by asking them unrelated questions. This wastes everyone’s time—stick to the subject at hand and use proper decorum at all times.
Expecting an end result in an entry-level position
Remember that it’s okay to consider entry-level candidates when interviewing for entry-level jobs. Don’t expect every candidate who applies and interviews for an entry-level position to behave like a seasoned software engineer—everyone needs to build experience. In fact, hiring someone new can give a company the opportunity to teach them their trade according to the needs of the organization.
How to interview software developers from preparation to completion
Follow this proven process (and avoid common mistakes) to become more effective when recruiting for software engineers.
Programming Interview preparation:
- Know what position you’re hiring for. Understand what it entails and exactly how the screening interview will showcase a person’s qualifications.
- Plan tasks that are open-ended and require critical thinking. Keeping things just a little bit messy allows the interviewee to really showcase their diverse skill set.
- Test every task before asking a candidate to complete them. If a seasoned software engineer at your company is left baffled, the task likely needs some adjustments.
- Involve your internal technical team members in the planning of the interview process. They often know best what skills are needed and can help you configure your process from the beginning.
Leading an active interview:
- Allow for additional time for bathroom breaks, questions, and other issues.
- Avoid a whiteboard. Use a computer similar to what employees use when working for your company.
- Make your expectations very clear. Let the candidate know what they’re required to do and how it will impact your final decision.
- Provide them with a written list of instructions and expectations.
- Allow the candidate to run and actively test their software engineering skills. This gives them time to fix any errors they’ve made, and allows you to see how they react to their own mistakes.
- Do not interrupt when you see them making mistakes. Allowing them to work through their own problems is an indication of how they’ll react during a real-life crisis.
- Minimize distractions and hold the interview in a quiet, well-lit area.
- Respond to direct questions within reason. Don’t solve it for them, but make sure to guide them when it is appropriate.
Evaluating the final candidates:
- After the interview is complete, evaluate their performance. Decide whether the candidate can write code, communicate, and work well with the existing team.
- Consider their ability to talk about the steps they took during the interview process and how well they respond to criticism.
- Discuss their employment plans and goals. Are they a career employee or just someone looking for a stepping stone?
- Make the decision with the help of others on the existing software engineering team.
How to interview software developers: Valuable tactics
Giving any company’s programming interview experience an overhaul is a matter of careful analysis and intelligent determination. The hiring manager’s job is to objectively choose the best candidate for the software engineering position. This sounds simple but requires them to be knowledgeable and perceptive. They should choose from a wide pool, and utilize the expertise of other programmers within the company.