“Describe the structure of your recent project.”

Ask candidates to describe their project in detail. Allow them to use a whiteboard or paper to illustrate their project if needed. The goal of this question is to determine two things.

First, it confirms the candidate’s expertise and shows what the candidate can offer beyond the resume. While presenting, check if relevant details regarding the project are thoroughly discussed. Candidates who discuss their project in depth demonstrate a good understanding of their project and also show their level of involvement with the project.

Second, it shows how well a programmer can present a technical concept. Evaluate the presentation based on how understandable it is from a non-technical person’s point of view. It is also recommended to look at non-verbal cues such as maintained eye contact, and hand-gestures to see the candidate’s skill and confidence with public speaking. The ability to communicate a technical concept to a non-technical person is a crucial skill, especially if you are looking for a lead developer.

With two or three sample codes (roughly 5-10 lines of code), you can already tell whether a candidate is confident with writing code. Another way to test their coding skills is to let them try a timed programming test online or developed by your company.

The technical test also gives you an insight into the candidate’s critical thinking. A programmer should have good problem-solving skill. Don’t just hire someone who knows how to code; hire someone who knows how to solve.

“Have you had a disagreement over a project before?”

Great interpersonal skills and conflict resolution separate a great developer from a good one. If a candidate has had disagreements before, let them share what the issue was and how they resolved it.

Take note of how the candidate resolved the conflict. Did the candidate push for his or her idea or did the candidate half-heartedly agreed with the solution? Hire programmers who use data and well-reasoned arguments but also knows when to compromise.

For those who have not encountered such a situation before, you may ask them about how they think they would react to a conflict with their team or client.

“How do you communicate with your client?”

Surprisingly, this is one of the most important questions to ask a candidate. A developer’s ability to update you on what’s happening with the project is crucial. Strong communication skills are a necessary foundation of ideal project management and leadership skills.

There are plenty of possible good answers for this question as there are various ways to show good communication skills. This can be in the form of daily emails, phone calls, or weekly check-ins. No matter what the candidate’s preferred medium of communication, your programmers must have the willingness and ability to clearly report your project’s current progress.