If you're hiring, how do you find good developers? It's a perennial problem, and no one seems to have a surefire solution.
Aptitude testing is one method that's been gaining traction lately, albeit with a twist. Forget simple coding quizzes; these days, the kookier the question, the better. Mind you, what employers hope to achieve is beyond me.
Perhaps the best-known proponent of this technique is Google. As if its notoriously stringent academic standards weren't enough, Google's interminable interview process also involves a Byzantine entrance exam. Here's just one example of a typical Google interview question, according to SFGate.com:
Every man in a village of 100 married couples has cheated on his wife. Every wife in the village instantly knows when a man other than her husband has cheated, but does not know when her own husband has. The village has a law that does not allow for adultery. Any wife who can prove that her husband is unfaithful must kill him that very day. The women of the village would never disobey this law. One day, the queen of the village visits and announces that at least one husband has been unfaithful. What happens?
All I can say is wow. I doubt I'd do well at this particular exam. The problem isn't that the questions are difficult, though I suppose they are. The problem is that they're asinine.
Anyone can make up a perfect-world scenario: "A certain branch of government contains 435 representatives, all of them equally honest and wise. No representative would ever vote for a bad bill, and every representative must vote for a good bill when it's introduced in proceedings..."
But there's another problem with this type of question: It seems to demonstrate less the applicant's problem-solving ability than the employer's own limited thinking.
Garbage in, garbage out
There's a published, accepted solution to the village-husbands question. According to it, a certain number of husbands are killed on the first day, then a few more the next day, and so on, depending on who has cheated on whom. It's all described in terms of the variable n and laid out as a neat little algorithm.
Here's my solution: Nothing happens.
If every husband cheats and every wife knows when another woman's husband cheats, then every wife is already aware of cheating in the village. The queen has introduced no new data.