I really like this guy's approach to interviewing and hiring. Some critical questions that need to be answered are "Can I actually work with the person?", "Are they curious?" and "Can they learn?".
"The traditional programmer hiring process consists of: a) reading a resume, b) asking some hard questions on the phone, and c) giving them a programming problem in person. I think this is a terrible system for hiring people." Aaron Swartz - How I Hire Programmers