Ravi Mohan's Blog

Friday, April 27, 2007

IIT Grads ! (necessarily) == Good Programmers Redux

When I wondered some time ago why the best programmers didn't come from the population of IIT grads, many people claimed I had all sorts of motives (ranging from jealousy to fear) for having such "heretical" thoughts.

Now some other folks seem to offer a degree of vindication.

From the latest Outlook magazine (You can read the first page of the article here - I am not sure how long the url will be valid). For those too lazy to click on the link, an excerpt

What has triggered the discussion within the fraternity is the concern expressed by two distinguished IIT alumni about the general decline in standards of excellence at the institutes in recent years. Their remarks have questioned the calibre of students who make it into the IITs by subjecting themselves to the killing rigours of coaching factories in places like Kota and Hyderabad. The alumni seemed to conclude that these products of coaching factories—who now form, according to Wikipedia, 95 per cent of students at IITs—had a blinkered approach to education, did not recognise new ideas and had lost the spirit of inquiry and innovation. In short, elements that had built Brand IIT over the decades had now gone missing

The first salvo was fired by Tata Steel MD and IIT Madras alumnus B. Muthuraman. Speaking at a Ruby Union meeting of the pioneer batch organized at his alma mater in January 2007, he said that tisco was "not likely to recruit" IIT graduates any longer. He based his opinion on a recent interaction he had had with a set of final year students, who he said did not even know the authors of books they were supposed to have studied. He made many other related statements suggesting that IITs thrive only on their "past reputation" and that he actually preferred other college students who were amenable to company training.

Now before the frothing-at-the-mouth defenders descend on this blog, I am not saying that IIT grads are poor programmers. What I AM saying is that in India there is no correlation between programming ability and the school of the programmer. Any company that hires only IITians AND (boolean AND - do read this sentence carefully before sending off that hate mail) hopes to recruit impressive programming talent by doing so is asking for disaster.

An IIT is *not* Stanford or MIT or CMU. Not even close. If you doubt this, first take a look at a typical PhD paper (in say Robotics) from any IIT you choose vs say Stanford. Then tell me I'm wrong. Thanks in advance.


Anonymous said...

IIT for grad school is very different from IIT for undergrad.

Ravi said...

different how? grad better than undergrad? worser?

FYI the mag article was about the undergrad (with references to coachng factories in Kota etc).

Anonymous said...

The fact, that the quality of Education in India is declining, is bitter and hard to digest. I agree with you and this is clearly a warning bell to our nation’s premier institutions (read Education System as a whole)

chandrakant said...

You know its sad but true. When I got admission into IIT, I had the (hypothetical) vision of the IIT student sitting under a tree and pondering about how to solve a problem, and getting distracted only by say, the call for dinner :). During my years though, I realized that it was just another institution, and that the people who were already good to some extent (key point) were more likely to do better only because of the above-par research facilities provided to students and faculty.
Other than that, its alarming that there's a pretty high percentage of students who meticulously study for the JEE exam to get into IIT but have no interest in hunting for problems or doing research.

Manik said...

Be it IIT or any other engineering institute in india, whenever It comes to IT companies recruiting, it is irrespective of the stream. Now you don't expect an electronics grad who had circuit diagrams all over him for 4 yrs to write an enterprise application. IMO this happens, firstly non-IT recruiters are less compared to IT recruiters, secondly IT recruiters need to fill in the void bcos there aren't enough bright computer grads and even if there are then non-IIT ones ,who never get the kind of exposure

Sanjoy Das said...

Firstly, all this is based on my experience as an undergrad in IIT
Kharagpur. YMMV with other IITs.

The very first point about post-grads in IITs not being as good as
undergrads is, IMHO, very relevant: without good post-grads and good
research it is very difficult to retain world-class faculty. Instead of being a separate problem, it is more like a part of root cause.

Do realize that there are very bright people here; I personally know people with 2k+ ratings in chess and who can solve a rubiks cube in < 20 seconds. But, on an average (discounting the spikes), you'll find most IIT graduates very mediocre, sometimes even absurdly so. No, not just in programming computers.

There are several factors which contribute to this, the first being
coaching centers. The JEE, is, after all an exam and can only test so much. You can either crack it without any special preparation, or
someone not as intellectually gifted, and crack it after three years of 16-hours-of-study days. Unfortunately, of late, the majority of the population here has shifted to the later category. Alums are perfectly justified in complaining about the dropping bar.

The bigger problem is the typical middle-class Indian short-sightedness. People here would rather be campus heroes ("gods") than do something actually useful; dispensing their free time in a thousand and one useless activities. I will not even delve into the subject of "FT"s

In short, it'd be prudent to handle IIT graduates very skeptically (but
not cut them out altogether; there are few good people, as I mentioned); most of them don't know what they're talking about. The problem on the recruiter's side is that the current system in IITs allows students to graduate with an impressive resume, with nearly zero actual knowledge. Couple this with a few over-inflated achievements (the "parallel compiler" on the resume is probably just a badly-written recursive-descent parser which segfaults when parsing a file larger than 100 lines - so you need to split the file in chunks and run it in "parallel"), and you have an on-paper expert, who not only is (in most cases) severely incompetent but also expects to be treated like royalty.

IMO, the /right/ way would be to not attach any leverage at all to the candidates alma mater, question the candidate deeply on the work he or she has done and possibly ask for some demonstration of competence (like some kind of mini-project; which the candidate will then delegate to his or her wing).