I’m coming up on about 20 years of identifying, interviewing and hiring software engineers. In that time, I’ve seen firsthand the challenges of a technical interview on both sides of the table. The candidate is asked to showcase an ability to solve problems that, in practice, are often tackled over several days or weeks. Recruiters and hiring managers want to deeply understand the candidate’s ability, passion and aptitude for problem-solving. How do we achieve this in the short time span an interview offers? In my experience, candidates who can insert their personality and the way they think — the ones who can humanize the interview — are the most compelling, even when their skill sets fall a bit short.
Software engineers who view development as more than a job can be hard to come by, and they’re consistently the most valuable. We are all looking for developers who think deeply and philosophically about the software they build. I recently interviewed someone who had won a hackathon a few weeks prior. It was the first bullet point on his resume, and during the interview he described the entire event with energy and vigor, from assembling a team to coming up with an idea, staying awake for 48 hours and winning the top prize. To cap this off, he directed me to his GitHub where I could see the entire repo of the project.
This story had nothing to do with his day job, yet it gave me a clear picture of what type of person he is: passionate, involved, eager to take on more challenging projects and a true collaborator and leader. When you’re preparing for an interview, think of examples like this that are outside your workday. You’ll be able to give more detail than your work projects, which are often confidential, and perhaps even share the actual code.
The ability to show your code is so important in articulating your skills. Have an active GitHub, and update it consistently, every month ideally, and use the space to experiment in different languages. A hiring manager might take a deep dive into only one or two specific repos, but having a current and well-rounded GitHub shows your enthusiasm for trying and learning new things.
A necessary evil in all technical interviews, the coding test is another great opportunity to share more about who you are and how you think. Whether completing the at-home test or the portion that occurs during the interview itself:
- Consider the problem as a whole, sketch a plan and then write small building blocks to solve the problem — letting stress about the timeframe lead you to dive in and hack away is a common pitfall. It’s more important to explain, maybe even overexplain, your thinking during these tests.
- Write comments and add detailed documentation or, if you’re in person, talk to the interviewer, ask questions and walk them through your thinking.
- Don’t be afraid to check in with the interviewer to ask for clarifications or questions.
You’re not going to be perfectly qualified for any job you apply for. That’s okay. It’s normal to fall short in some areas. But it is important to be aware of and acknowledge those gaps. Recently, I was interviewing someone who was an expert in C# and new to Java. The team he was interviewing for worked in Java a lot — a clear shortcoming in his skill set.
During the coding test, he wrote in Java, but while he was walking the team through his work, he explained why he did what he did and how he would have approached the same problem in C#. He understood how he fell short for this role and acknowledged it. But he turned the shortcoming around to show his ability and aptitude to deeply understand the C# language. After this conversation, the team was confident this type of deep understanding in one coding language could be replicated in Java. Today, he’s picked up Java and writes in it almost exclusively.
We’re looking for more than just a resume. We’re seeking evidence that a candidate has the ability and passion to dive into something new. That they can think strategically about an engineering problem and how to solve it. That they can write great code, but also share the how and why behind that code. And that they’re looking for more than a job. When that comes through in an interview, humanizing even the most technical portions, I think it’s a great experience on both sides of the table.
Gabe Velazquez is the Head of Technology & Quantitative Talent Acquisition at financial services company DRW.