One of the most common challenges faced by recruiting teams is to fill open engineering roles. While there’s no silver bullet to hiring software developers, it’s important that talent teams review their hiring process from start to finish and optimize their efforts to better attract engineers. (We previously published an article covering engineering hiring best practices.)
Once the groundwork is in place, it’s crucial that your actual interview questions align with the experience and skills required for each engineering role. For example, the questions asked to find a junior developer with no direct reports should be vastly different than those asked when interviewing for a senior developer. Including additional, open-ended questions for entry-level, mid-level, and senior-level positions brings out the best in candidates and helps them shine.
We’ve collected eleven questions below, reflecting three different levels of experience, to help make sure that all the questions you’re asking are productive, respectful, and communicate to the engineering candidate that you understand what they value.
For entry-level developers
Entry-level software developer candidates should know at least one programming language, some computer science concepts, and networking basics: these skills will be built upon throughout their career. Perhaps more important than hard skills, though, are the candidate’s work ethic and curiosity. Skills can be taught, but character is inherent.
Can you spot the error in this code?
This question targets the candidate’s technical knowledge and code proficiency while also revealing their attention to detail. If you provide code with errors, and the candidate reports them accurately, their technical knowledge is likely sound, and they’re willing to critique. On the other hand, if there are no errors (even trickier), you gain an opportunity to watch the candidate think through a challenge in real-time.
Tell me about some differences between coding for desktop and mobile.
Half of the global website traffic is from mobile devices: any software developer must understand the differences between software and coding and when to use which. Listen for keywords like screen size, touch input, limited multitasking, and differences in browser rendering that highlights the candidate’s knowledge.
Give me an example of a time you made a mistake. How did you handle it?
This question is less about the candidate’s capabilities and more about their character; how they took ownership of the described situation and looked for its solution. Every team member needs to show ownership, humility, and problem-solving skills to succeed and work with others. If this question is answered poorly, it may be a red flag that the potential developer isn’t a team player.
Why did you decide to become a software developer?
Far from the “basic” question many assume this to be, this inquiry provides an easy way to learn more about a candidate’s passions, what fuels them, and even future goals.
For mid-level developers
Mid-level candidates typically have at least two to four years of experience as a software engineer. They should be able to understand, write, review, and de-bug code in their chosen languages. Hard skills are established and, as they continue their career in development, they should be aware of current software-related news and trends. During this phase, listen for answers that highlight product knowledge and a desire to continue growing.
Which app or website annoys you, and why?
This question helps establish how well the candidate keeps up with trends in development. The flaws they discuss reflect their coding experience, and their proposed solutions show their problem-solving and critical-thinking skills.
Consider some projects you’ve worked on: Tell me about your favorite and why you enjoyed it?
This question reveals more about the candidate’s methods and work style—how they gather requirements, solve problems, manage user feedback—and provides an opportunity to highlight the importance of user experience (UX) and how this project directly affects the end user. Listen for recent project experience and genuine excitement: older references may indicate a dissolution of passion or industry complacency.
Do you have any developer role models? If so, why do you admire them?
A more profound take on the software-focused question, a candidate’s role models provide insight into their long-term goals and the legacy they might wish to leave. Whether the candidate discusses positive, negative, or reverse role models, you’ll learn much about their ambition, observation skills, and even dreams.
How do you assure the quality of your work?
After a few years of experience, it’s common for software developers to grow overly confident or feel like they have all the answers. No matter how experienced, every developer should understand the importance of double-checking and reviewing work. Listen for solutions that include humility, collaboration, and a commitment to growth and excellence.
For senior developers
After 7 to 10 years in the world of development, most senior-level candidates are experts at writing code in their preferred language. If you’re searching for a senior-level candidate, however, you’re also looking for a leader who can elevate engineering team and the work they produce. Instead of focusing on hard skills-related questions, ask questions that dig more deeply into a candidate’s mindset, leadership skills, and the additional value they can bring to your team in the years to come.
Can you tell me about a project you’re working on in your spare time?
A unique question you may not be used to asking in your interviews, asking senior-level software developer candidates how they spend their free time not only allows them to share some of their passions—software-related or not—but also brings some humanity to the interview. Moreover, outside hobbies boost morale, reflect effective time management, and provide increased productive energy, all essential characteristics of a good leader.
What kind of leader do you consider yourself to be?
In recent years, senior-level employees are balancing a unique career crossroad that has not existed before: specialty versus management. While specialists and experienced managers both provide value, this question identifies the direction each candidate has chosen to pursue. If you’re seeking a manager, listen for experience as a team or department lead, or how they’re helping more junior-level employees find success. On the other hand, if you’re talking to a specialist, use this opportunity to learn more about the candidate’s aspirations and their contributions as a tenured employee.
Which trends do you anticipate seeing in future software development?
After several years of experience, senior-level candidates will have seen countless new products, coding languages, software, and trends. Listen for an indication that the developer is not just aware of current trends, but has opinions about them. Discussing these trends provides a good indication of the strategy and creative direction they would bring to the team. It’s also an excellent opportunity to spot thought leadership potential or an experienced voice who might be able to publicly speak for your team.
Interview questions are just the first step
Effective interview questions are essential to hiring qualified, motivated software developers. Beyond the questions themselves, however, it’s important that every interviewer is properly trained so each candidate enjoys a positive, unbiased interview experience. This is where interview intelligence platforms like BrightHire can be especially beneficial, since the ability to share interview highlights is an extremely effective way to train interviewers and help them improve over time. Good luck!