Hiring good people is hard. If you shouldn’t be hiring people based on X years of experience with specific frameworks, how do you tell if a candidate is a good fit for your organisation?
Esoteric questions and gauntlet of technical interviews are unlikely to find out if the candidate will fit within your team. They’re also unappealing and likely to turn off people who know how to do their job.
The best way to find out how they’ll work, is to let them work. Find a small project and have the candidate work with your team on it over the course of a few hours. It lets you and your team get a feel for how they solve problems, and it lets the candidate get a feel for how things work at your organisation.
37 Signals are a great example of a company that values code over being able to answer interview questions well.
… unless you’re specifically hiring someone to design you the next sorting algorithm, making them do so on the white board is a poor gauge of future success. The only reliable gauge I’ve found for future programmer success is looking at real code they’ve written …
Pivotal Labs also have a great interview process where a candidate pair programs for the day with the one of their team members. The most interesting part of this is that they make a point of not caring language the candidate knows. They care about how they analyse the problems and their logic in solving it.
If you don’t have an environment like Pivotal’s, small projects like searching the Twitter API for colours, or creating a URL shortener are great. They’re small enough in scope to work on over a few hours, but have enough depth to allow a candidate to show their knowledge.