It has become a common practice among software companies to include a pairing exercise during the interview process. I have been pairing with developer candidates for many years. In this article, I outline the non-technical traits I look for that can indicate potential for a great developer candidate.
Trait #1: Communication Skills
As a developer at Atomic, we work with other developers, project managers, designers, quality advocates, business analysts, etc. It is crucial that you communicate clearly and effectively with various types of teammates and stakeholders.
When the pairing session begins, I am looking for the interview candidate to start by getting me up to speed on the area of code we are working on. Can they clearly outline what the next steps are or what problem we are trying to solve? Are they communicating their thought process when working through a complex or confusing area of code? Are they asking questions?
Trait #2: Composure
Interviews can be stressful, but keeping a level head and thinking clearly while under pressure is invaluable as a developer and as a consultant. How does the candidate handle a question that they don’t know the answer to? If something isn’t working in our development environment, do they get flustered, or can they take a step back and try to resolve or work around the issue?
We have all had that demo meeting with a client where something doesn’t go right. No matter how much effort you put into preparing, it happens. But your composure in those situations can make all the difference. A candidate who can demonstrate that behavior in a pairing interview stands out.
Trait #3: Instincts in Unfamiliar Territory
Working as a software developer for a consultancy like Atomic means frequently working with new technologies, frameworks, or programming languages. When I have the opportunity to pair with an interview candidate using technology they may not be wholly familiar with, it is a great chance to get a window into how they think and explore new challenges.
I look to see how the interview candidate relates a new technology to what they already know. Can they draw parallels in this new realm to what they have done in another language or framework? I want to see that they know what needs to be done and not necessarily the exact syntax to implement it.
Trait #4: Being a Good Pair Partner
Development teams work closely together, collaborating and pairing to solve complex and unique problems. That makes it essential to be a good pair partner and teammate. When I think about what it means to be a good pair partner, two of Atomic’s core values come to mind, “Teach and Learn” and “Share the Pain.” I look for interview candidates to be eager to answer questions. To help me understand their code and the problem we are trying to solve. Are they open to suggestions when we are stuck in a tough spot?
Developer Candidate Traits
Looking for these traits in pairing interviews can help identify potential hires that are not only smart developers but great teammates and consultants.