On Interviewing Developers
Just read this excellent article by Eric Elliot, Why Hiring Is So Hard In Tech. Here’s my favorite part:
Interviewing
These don’t work:
Puzzles and riddles
Whiteboard code tests
Big O notation quizzes
Detailed quizzes about the mystery corners of the language
These work great (in order of value):
Pair program with candidate on an actual issue from your ticket queue (let the candidate drive)
Code samples / OSS contributions
PAID Sample project assignment (err on the side of paying fairly — say $100+/hour for estimated completion time — if the problem should require 2 hours to complete, offer $200)
Review past work / portfolio
Read candidate blog, publications, watch candidate talks
Ask candidate for input on a real problem you’re currently working on
Ask specific questions about software problems and solutions from candidate’s resume
IMHO puzzles and riddles as part of coding tests are the WORST. First off, no one is thinking their best during an interview. Second, solving riddles is (bizarrely enough) not a regular part of a dev job. Neither is whiteboarding (at least not like it’s done in interviews) nor chats about Big O notation. If you are interviewing developers you should ask questions that relate to what they actually might do. Recently, when I’ve been talking to candidates, I have been talking about actually problems that we have and it’s definitely helped me judge how great a candidate will be by their suggestions.
If you are looking for a job as a developer or hiring one, you should absolutely read this article.