Thought exercise: if you had five minutes to conduct a programming interview, how would you go about it? What would you ask?
I would ask two questions:
- One question on programming depth
- One question on who they are as a person
“What’s something about your favorite language you see others often trip up?”
Back in my Java days, calendar and date manipulation was a pervasive challenge for many developers I worked with; I was almost happy to comment on it. Since then, I’ve interviewed candidates who tell me about closures, Unicode, memory allocation anti-patterns, etc.
The answer doesn’t matter as long as there’s an answer. Not having an answer or leaving me wanting to hear more is a problem.
“What’s something you are proud of doing that helped your team and nobody asked you to do?”
Every developer should have a sense of pride in their accomplishments. I feel strongly about that. It could be something big (i.e., diagnosing a production issue that was the first of its kind), or it can be as simple as improving test coverage, organizing documentation, or helping socialize a great idea. There’s always something1.
The only wrong answer is no answer. Personal responsibility is essential and goes a long way. The best candidates put their team first, sure, but when pressed for an example of exhibiting personal responsibility for something, everyone should have experienced that at some point.
The question scales very well. You may find a junior developer who suggested a process change and helped make it happen or a senior leader who took it upon themselves to drive organizational improvements or lobby for it at a department level. Conversely, you may find a CTO who, when pressed, struggles for examples of anything beyond delivering what was asked of them.
What I love most about this question is that you can recognize the feeling and tell when the answer is genuine. It can leave you inspired to work with a candidate right away.
It’s an odd state of affairs that we incentivize and reward team accomplishments but hire talent based on individual achievements. There’s a certain unfairness to it. If it weren’t for some candidates trying to define themselves solely by their team’s accomplishments, it’d all work out better. But that’s a separate topic. ↩︎