How to Conduct Highly Valuable Programming Interviews
An interview is the initial measure of a person’s value to a company. It allows a hiring manager to evaluate whether a new programmer 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 technical teams whose employers rely heavily on their expertise and production.
So how do you start cracking the coding interview?
Repairing a broken programmer hiring system
With a growing digital and global marketplace, the quantity of potential programmers has exploded onto the hiring scene—but alas, how to find the good ones? Traditional and tech companies alike are discovering that their old interview processes are irrevocably broken; they’re no longer generating the kinds of software engineers they truly need.
With most programming 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 programming interview.
Reviewing common mistakesOnly offering one problem
One of the biggest mistakes an interviewer can make is to offer a “one and done” approach to the interviewee. It’s important to offer them more than one type of interview problem to solve. Create a process that challenges the programmer’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 programmers that think out of the box, and who may be more adept at critical thinking.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 prepared for one type of test, only to encounter something that they aren’t equipped for. It is also important that the job details not make the position seem so complicated that even an expert would feel intimidated.Rattling the programmer with a poor reception
One thing that many programmers 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. Very few people go into a job interview feeling completely at ease. Meet them and let them know what to expect. This simplifies the process at both ends.Not using a tiered interview approach
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.Relying too much on a résumé
One of the most common mistakes made by interviewers in every industry is relying too much on information in a résumé when deciding who to advance to next steps. Look at candidates' projects and previous work. Dismissing someone too early 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 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 programmer—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.
Conducting an effective interview: from preparation to completion
Follow this proven process (and avoid common mistakes) to become more effective when recruiting for software development.Preparing for the interview:
Know what position you’re hiring for. Understand what it entails and exactly how the 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 programmer at the 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.
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 programming 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.
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 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 programming team.
Valuable tactics for a programming interviewer
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 programming 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.
Have you experienced great or horrible programming interviews? Here's how you can conduct effective technical interviews that get you the insights you need to make sound hiring decisions: