These interview questions about technical skills are designed to help you assess what candidates know about the relevant subject. Adapt these questions to suit each technical interview in line with the corresponding level of seniority and position.
Why you should ask candidates about their technical skills
Technical interviews can be difficult because they require a specific knowledge of and familiarity with the terminology (e.g. knowledge of the software development process). You should therefore prepare yourself well before an interview. Recruiters looking to hire developers or engineers should:
- sit down with the team to find out what technical skills a candidate will need to have;
- compile a set of interview questions that can be used to find out whether the candidate possesses the “must-have” skills;
- ask supervisors what kind of answers candidates could/should be expected to give;
- include a written assignment to test candidates’ coding skills.
During the interview process, look for candidates who put their theoretical knowledge into practice. Investigate statements they make in their applications, asking more detailed follow-up questions if necessary. Here are a few application-based questions that you could ask:
- What kind of a project was it?
- Who did you collaborate with?
- What did you develop?
- What was the outcome?
It’s also important to customize your questions in line with how senior each position is. With entry-level roles, you should focus on strengths, weaknesses, and the potential need for training. For higher-level posts, you should ask candidates about their experience with specific tools and programming languages.
Technical recruiters tend to be familiar with programmer-specific interview questions. Nevertheless, line managers should still conduct the interview and ask the more complex questions as they have a better overview of the team’s objectives and way of working. Technical recruiters can be asked to evaluate the written assignments.
Use these interview questions in combination with those about competency-based skills and problem-solving.
Interview questions about technical skills
For entry-level positions
- Which programming language are you most familiar with?
- Describe the troubleshooting process you’d follow if a program crashed.
- How could you debug a program while it was running?
- What’s your specialist area and what would you like to learn more about?
For higher-level positions
- Have you ever implemented any significant improvements to an IT infrastructure? What improvements were they and how did you go about implementing them?
- What’s the most effective way to collate user and system requirements?
- Tell me about a presentation where you had to explain technical details to a non-tech-savvy audience. How did you adapt this presentation?
- What do you focus on most when you write up an expert opinion on a colleague’s code?
- What would you have done differently if you’d had more time?
- What would you do differently if you had to keep to a tight deadline would not have achieved the objective of the project? What features or functions would you have prioritized?
- What was the most challenging aspect of this assignment? What resources would you use to complete the assignment?
Evaluating application documents
- In which of your previous jobs did you use software XY?
- Tell me about project XY. Who did you collaborate with and what was your personal contribution? Describe the timeframe and how you worked with it.
- What did project XY teach you?
Tips for assessing candidates’ technical skills
- Computer science will always be an important discipline. You should therefore look for candidates who enjoy keeping abreast of trends and learning new things. Applicants who try out new software, attend coding meetups, and are active contributors to technical forums and blogs will be heavily involved in this field.
- Riddles and trick questions tell you nothing about a candidate’s skills. Be precise. Ask about candidates’ experience with the software that your company uses. Also find out how applicants would tackle specific problems. You can compare their answers with those of other candidates.
- Too many technical questions (e.g. “Give me a definition of…”) can be tiring. They also do nothing to measure an applicant’s ability to solve problems. Ask questions that target specific behaviors and situations to see how candidates react in real life.
- A screening should be followed up by a written assignment. This is usually done over the phone. Tell your candidates about the task and send them detailed instructions by email. Give them enough time to complete the project and ensure that you make the deadline clear.
- When you come to evaluate the assignment, try not to focus only on right and wrong answers.An innovative, “left-field” solution (even if it contains a mistake) may indicate whether the candidate has the necessary creativity for the role.
- Applicants’ answers are unclear. Candidates who struggle to explain the statements they made in their application may not have been involved in the projects they mention. You should therefore ask follow-up questions to assess their exact role and actual contribution.
- Applicants seem lethargic. Developers are passionate about their profession, even though this is not always obvious at first glance. Ask candidates about fun side projects or the tools they most like working with. How they respond will indicate their motivation and energy for the job.
- Applicants are inflexible. You cannot expect a candidate to be familiar with every piece of software and every framework your company uses. However, candidates who aren’t prepared to adapt are likely to have a tougher time working together with others. You should therefore look for candidates who are keen to learn new things and won’t lose motivation in the attempt.
- Applicants are poor team players. Although developers spend much of their time working behind a screen, they still need to communicate with different people and teams every day. Weak social skills and signs of impoliteness or arrogance indicate a lack of team spirit.
- Applicants don’t take on anything themselves. Candidates who cannot see the bigger picture will also struggle to understand the needs and objectives of the company. You should therefore look for candidates who are familiar with the whole software development life cycle. These people are proactive and put forward potential solutions themselves instead of merely waiting for someone to give them something to do.