Proper Interview Questions
Puzzle or trick questions have their place1, and coding toy implementations of complex data structures can be useful2, but I’m not sure either tells you much about a potential hire besides their ability to Google3 and cram for an interview.
As much as non-IT management4 may want to treat software development as a plug and play endeavor, and developers as interchangeable parts, it isn’t and they aren’t.
Software development is a craft, and perhaps the most important measure of a craftsperson is "are they trying to get better at their craft"?
- What development related book or books are you currently reading?
- What’s your Github username?
- Are you active in any user groups?
- What’s your favorite text editor?
- What’s your favorite language or tool for automating tasks?
- Has a programming language ever changed the way you think about an entire class of problems?
- Has a programming language ever made you smile?
- What was the most thought provoking software development article you read or presentation you watched in the last six months?
If you’re not already asking questions like this, sprinkle a few in with your usual ones next time you interview someone.
You’ll see some blank, or even confused, looks—*sigh* you’ll get a lot of blank and confused looks, unfortunately.
That’s okay. Assess their other skills in whatever way you can, and if you like what you see, put them on the Maybe list.
Every now and then, though…
You’ll see something else.
Not only will they have answers, but they’ll have enthusiasm.
It’ll be as if they are glad you asked the question, and not in that stilted “I’m glad you asked that” way everyone thinks they’re supposed to be in an interview.
No, it’ll be the full on, eyes laughing, infectious across the table, "HAVE YOU HEARD THE GOOD NEWS ABOUT FUNCTIONAL PROGRAMMING?", genuine delight that someone appreciates their love affair with their craft.
Find a place for that person. You’ll be glad you did5.
In the nearest recycling bin. ↩
Provided you’re in the toy data structure sector. ↩
Which is a valuable skill, but you don’t really learn anything about it, either. How much Google-fu does it take to type “interview questions” in a search box? ↩
Plus a dismaying portion of IT management. ↩
Of course I’m oversimplifying (have you seen the rest of this blog?). You don’t want this person if they’re completely devoid of people skills, likewise if they’re so in love with their craft that they’re only suited for ivory towers, but the former will reveal themselves in the interview process and the latter are rare and unlikely to be interviewing with you. ↩