The best interview question I've ever come up with for a programmer is asking them about their favorite programming language. The following questions work very well: What is your favorite programming language and why? What is your favorite feature of that language? In what way could that language be improved? What is your least-favorite language you've had to work with? Why was it your least-favorite? The point is not to judge them on their language preferences, but instead to determine if they can think analytically about the tools they use. A programmer's main tool is his programming language, and if he is not exposed to a wide variety and does not understand them in-depth, then you shouldn't hire him. Hiring people who understand what they do and why they do it is essential. Too many projects have people who only know one way - the way they were originally tought. No matter what way this is, this is a bad situation. You need programmers who have a depth of knowledge, not people who can only copy things from books and hold on the line for support to answer questions.