> though I am somewhat dubious of IIT grads being better programmers than the average tech talent even in Bangalore.
I believe it's more like given a choice between someone `who is most probably a good athlete and may or may not be a good footballer`, and another `who may or may not be a good athlete and may or may not be a good footballer`, you would go with someone who is most probably a good athlete.
The ideal way would be to test them on the soccer abilities, but the volume of applications a company like Google does, and the percentage of people who claim to be programmers, but aren't really good, forces the use of heuristics. It will be simply impractical to test candidates for the actual programming the job entails.
Also, IIT grads do well in traditional interviews. You are more likely to get a dynamic programming solution from an IIT grad for a subset sum problem http://en.wikipedia.org/wiki/Subset_sum_problem than from a normal college grad - not that it has a high correlation with programming abilities, but traditional interviews focus on these kind of questions.
I did my bachelors from a simpleton college, and I was considered a good programmer, because hell, I could code up a vanilla binary tree in C++(no string attached - a binary tree with inorder traversal - that's it) from scratch in a lab test in under 45 minutes - that was as hard a problem you could get to solve in a lab test.
I would have to be admit I will be negatively biased towards people graduating from that cadre of colleges. Not that they aren't good programmers there - it's just that you will have to dig through a lot of not-so-good to find someone good, and it's not a worthy investment of time.
The kind of questions that are asked on tests will make you puke. We had a AI course, and we were following AIMA(I believe you were maintaining the Java code at that time) - the questions that were asked on the first test were essay questions viz. "How do you design a better computer"(from introduction chapter which wasn't much about designing about a better computer), implementing A* search was considered outside the scope of the course(implementing anything from the book was considered out of scope)...I could go on an on, but you get the idea.