Maybe it's just me, but when I look for great programmers, their ability to solve coding challenges is really the least of my problems. In my experience, the ability to leverage those skills into delivering mature, stable, maintainable and generally high quality software is considerably rarer than the skill to solve puzzles. And don't even get me started on non-technical skills, like being able to organize and plan t…
* do you thoroughly document your code without nagging?
* do you value simplicity over cleverness?
* do you think communication is a chore?
* do you enjoy human interaction?
* do you have empathy?
* are you creative?
* do you have good taste?
Googrosoft-style interviews are great for selecting people with raw intelligence, a competitive streak and some level of arrogance. They're not quite as hot at selecting reasonably smart people who are personable, creative and tasteful. And that's a huge portion of the job when you're writing software in a group. Very little day-to-day software work requires raw brilliance, but nearly all of it requires communication, empathy, creativity and taste.