The below post is not my post..I am just doing a Ctrl-c Ctrl-v of the previous link
IIT Grad == Excellent Programmer?
This is something I have never been quite able to resolve. Logic says (hey the IIT BTech guys apparently work through SICP early and if that doesn't upgrade your programming skills I am not sure what will) they should be better programmers. And Google India apparently hires only IIT Grads, so there is probably something to that argument.
On the other hand, in my experience, this "superiority" of IIT grads never really showed itself as a real world phenomenon. Most (but not all) of the really good programmers I see, seem to have a BSc (or other non-BTEch-CompSci) background, and are almost uiversally self taught programmers.
While I was in Thoughtworks, I even went through this strange phase in which TW interviewed about 40 IIT Grads after a company that used to hire only IIT grads went bust, and ended up making an offer to one guy (and he was very very good. I knew him from my Aztec days. He eventually went to July Systems)
It is all very puzzling. Because I do know many bright people from IIT but they are almost all in the USA. So maybe that is one explanation? The best folks from IIT go to the USA and the people a Bangalore based company interviews are probably the "lesser" ones of a batch? Especially in the "enterprise" space? I really don't know. But is there really such a huge difference in the capabilities of people who studied in the same batch?
Of the 40 or so people TW interviewed,(and didn't hire), one interview really stands out. There was this guy who claimed a lack of knowledge of "enterprise" coding but was, in his own words, a "specialist in Compilers and Mathematical/Scientific Programming". The interview team consisted of me(very very interested, and fairly knowledgeable in compilers) and a colleague, JK Werner who graduated in Mathematics.
Those days, In Thoughtworks, one of the guidelines for interviewing was "If people don't know something, that's fine but what they say they know, they better know and know well". So the candidate not knowing "enterprise" stuff was fine(It is all fairly simple anyway and an otherwise competent programmer can pick it up fast).So JK and I proceeded to have a conversation about compilers and math and the interview was .... terrible. This person was just mouthing "buzzwords" without having any deep knowledge.
question(me):- "Ok so after lexing and parsing you get an AST what do you do then?"
answer:- "hmm... I am not sure.." (his cv claimed he'd written a full fledged "parallel compiler")
question (jk): "Your cv says you have worked extensively with Vector Spaces, so here is simple question to start off. What is an Eigen value"?
answer:"hmm well I never got that far" (!!). (as per his cv he did all sorts of fundamental Linear Algebra related stuff)
This was the most disappointing interview in my life. Other interviewers narrated horror stories of "Senior Architects" who didn't know what "classpath" was!
So I am forced to conclude, being bright, and getting through IIT(those entrance exams are tough) and even working as "Lead" or "Architect" or whatever on large projects does not necessarily make you a good(forget great) programmer.
Also "enterprise" work and that too in India is probably not attractive to the average IIT graduate who has so many more interesting options.
So these days I just dismiss the educational background and look at coding skills exclusively.
Still, it is all very strange. If anyone has any insights, please enlighten me!
Joe Williams was kind enough to point out a possible misinterpretation (you can see Joe's comments in the comments section).
What I am saying
1. I used to think IIT graduates (and students) were way above average in programming ability.
2. I expected, given a fair (but tough) interview, about 35 (of 40) or so would get through. When only one did, I was forced to re examine my belief (see above)
3. When I examined the best programmers I knew and their schools, I found that most(but not all) were BSc/non comp-sci graduates.
4. This is possibly a perception issue. I am asking for clarification
5. Logically , I now believe that programming ability and schools are not correlated
What some people think I am saying
1. TW(India) is an uber cool company
2. Anyone who doesn't get through in TWI is a poor programmer
3. Most IIT folks we interviewed didn't get through
4. Therfeore IITs suck and any IIT ians are poor programmers
Needless to say what I am claiming is the first list of assertions. Anyone who claims the second list as "true" has no clue.
Now I have more questions, if 40 MIT graduates interviewed (say in Google), how many would get through? The question remains, does your school have a correlation with the number of people who are excellent programmers?
Hopefully now things are clear.