I've lived in every continent but Australia and Antarctica, but for the last two years I've been coding in the subcontinent of India. I have loved living here, but up until this point I've generally held off on drawing conclusions about outsourced development in general and Indian outsourcing in particular. I'd like to break from that and describe the very real talent problem that companies will face when choosing to move some or all of their software work to India. Outsourcing has many difficult aspects but for this article I'd like to focus only on the talent issue. I do this not as a disgruntled outsourced employee but as an outsourcing believer who has put in enormous effort to make outsourcing work but who has been forced to deal with some very tough realities on the ground.
Before getting in to the analysis let me mention where I stand philosophically so you can get a sense of what prejudices I may harbor. Overall I view outsourcing as something that helps create economic fairness. I do not think someone has a right to a job just because they were born in a particular country or have a certain color skin (as some appear to). From my vantage point if someone in Zaire can do a job as well for half the total cost then they should be allowed to (I acknowledge that in some countries child and prison/slave labor distort these economic principles, but this is not the case in software outsourcing). I didn't move to Bangalore because someone made me. I dropped out of business school and moved to Bangalore with my wife and two kids because I had the opportunity to come and help build a team here and because it was something I wanted to do.
The myth of the cornucopia
The first thing worth knowing about Indian outsourcing is that it is shrouded in myths. Many of these myths are the results of active promotion by people who make money from outsourcing regardless of whether or not is succeeds. These include a large number of outsourcing firms but also people who broker deals. The biggest myth is that India is chock full of highly trained and unemployed engineers that are practically begging to do your work.
The practical reality is that anyone in India who can spell Java already has a job. When we were first doing interviews I remember one particular period of time when there were two of us doing interviews continuously for two weeks straight without finding a single candidate worth bringing back for a second round. Admittedly I can be a tough (and technical) interviewer, but I've literally interviewed thousands of people over my 18 years in the industry and I've never had a tougher stretch. It reminded me of the internet boom years when everyone who had ever been a system administrator was suddenly a programmer and when you did find someone really good they wanted 3% of the company and a signing bonus. The only difference is that the current Indian market is ten times more difficult.
The really sad part was that we weren't interviewing newly graduated students (freshers) we were interviewing experienced candidates who were currently working as programmers; yet less than one in five could write a loop that counted from one to ten in ANY programming language. Some of these people may be working on your project as I type.
Ultimately we were forced only to interview people from the elite schools of India (IITs and the former RECs) in order to find a sufficiently high percentage of reasonably solid candidates to be able to wade our way out of the sea of me-too engineers. Even with this approach our hit rate for finding good engineers was much lower than I would have expected. It's not that good candidates don't exist from other schools it's just that you have to interview too many bad candidates to find the really good ones.
As it turns out my experience is not unique. Interviews of HR managers in India (Indians) show that most feel that only seventeen out of every hundred new engineering graduates is suitable to hire. In other countries this number is closer to one out of two. In addition there are not nearly as many engineers as promoters would have you think. As it turns out there are almost as many qualified engineers in Germany (population 83 million) as in India (population of about a billion). This data all comes from McKinsey who would be more than happy to help you outsource to India so if anything the bias is towards making India look better.
A market gone mad
The problem is most emphatically NOT that Indians are bad engineers. I have hired some truly great (world class) engineers here, but they are very hard to pick out from the sea of less than stellar candidates.
The problem is purely economic. The demand has outstripped the supply for good engineers and as a result people who have no love for code (or even any like for it) have rushed in to fill the gap.
There are jobs for which almost anyone can be trained and the job will get done well enough. Writing software is not such a job. There are also people who can be trained to be reasonably good programmers even without a love for it, but these people are not common. The market does not care about such considerations. People can and do fill the demand as salaries go through the roof. What they do less well is actually fill the need that the job represents.
Just one track
One of the other really difficult aspects of finding quality talent is that a very small percentage of senior engineers have chosen to stay technical. Instead, many choose to move into management in one form or another. This makes the market for engineers with more than five or six years of experience really-really tight since the boom isn't old enough to have created a large pool of engineers with more experience. More experienced engineers do exist, especially a fairly sizable group that lived in the US and has returned to India, but the demand curve for the best of these is such that they may get paid as much as ten times what a fresh graduate gets paid. Pushing salaries almost to the point that they are dollar for dollar comparable to engineers in the US (although still not reaching that level).
This has important implications for teams doing code in that they are very unlikely to be staffed by experienced people but they are very likely to be managed by former coders who may (or may not) still be good at writing code. This creates some very off team dynamics unless the manager is willing and ABLE to put back on the lead developer/coach hat in that there is no one left to train and mentor the younger team members.
The only really good news for those looking to hire in India is that BPOs and other non-IT professions are starting to attract people back out of the IT ranks. This is great since these jobs provide alternatives that can make more sense for people who are not really good at software engineering. This will continue to drive engineering salaries upwards, but that is probably good too as it will act to constrain demand to a reasonable level at some point as companies choose to outsource less development work.
The problem is that while markets are efficient in this way they are far from quick and efficient. To me, standing where I stand, it looks like it will continue to be a very tough labor market for those wishing to obtain quality engineers in India.
All hiring ultimately includes some degree of luck; even if you pay extra, add a high degree of rigor and work the entire hiring process you will get a range of skills. The best you can usually do is to increase the proportion of top flight people and greatly reduce the proportion of less talented people. This matters a lot, and I've always felt that the first and most critical aspect in building quality software is having quality people to do the work. If the pool is badly diluted, however, the cost and time required to find those people can be excessively high. We were willing and able to do this, but most companies do not take hiring nearly so seriously when they send work abroad. If you are not willing and able to undergo such a rigorous process then India is a very bad choice in today's market; consider NOT doing it or perhaps try the Philippines or Hungary where the talent pools (I'm told) are much better.
Remember, just about anyone can write code that just about no one can maintain but almost no one can write code than almost anyone can maintain.
I am from India and I already know that cost of finding a good quality software engineer in India is very high. In fact high enough to justify not to out source the project in some cases.
The rate of attrition was not mentioned in the article. It's very high for a talented programmers. Unless the person has voluntarily left USA , would take the next flight to come to USA given a chance. Or the person might start working for the next company across the street for higher salary.
Kevin, love your blog and read it often. I hope you don't mind me plugging my employer here because we are working really hard to mitigate the types of problems you describe. We have extremely high hiring-standards, but even more effectively is cross-pollination. TWI offers opportunities for local staff to do stints at other TW offices and for lots of non-Indian resources to spend considerable time in India. We are even having lots of success doing distributed agile development, which is kind of like partial offshoring to reduce costs. http://www.thoughtworks.co.in
Actually I agree. ThoughtWorks is extremely well respected in India and they are one of the few that has a strong reputation for "doing it right" so I don't mind the shameless plug. Of course it is also a pretty small organization (compared to the TCS/Infosys/Wipro's of the world).
Oct. 19, 2005 - There are a lot of good points in this article but
Posted by Anonymous
"Ultimately we were forced only to interview people from the elite schools of India (IITs and the former RECs) in order to find a sufficiently high percentage of reasonably solid candidates to be able to wade our way out of the sea of me-too ??engineers.? Even with this approach our hit rate for finding good engineers was much lower than I would have expected. It's not that good candidates don't exist from other schools it's just that you have to interview too many bad candidates to find the really good ones."
is not one of them.
As a former Thoughtworker, and one very heavily involved in recruiting while I was there,
I'd like to state that I have never found a correlation between programming ability and studying in IIT /REC. TW Bangalore has very very few people from IITs /RECs. Note well that I am not denying that folks from IITs RECS are not bright. It is just that this has litle correlation with what makes a good programmer. The best programmers I knew (in TW and elsewhere) were all not dumb but hardly genuiiuses. In TW BAngalore we once interviewed about 40 IIT folks in a single day (when web tek went bust for those in the know) and ended up making an offer to ONE candidate.Of the 10 best programmers in TWI today, ONE is from IIT. One of the best (if not the best) has a BSC in Physics from Bombay University. Aother is a graduate of PESIT with barely 2 years of experience.
I didn't find TW having to interview "too many bad people to fnd a good one" for IITs/RECS vs other schools. It all depends on how the processes are set up. Generally, anyone making it through t teh interview stage was pretty good.(I hear that standards have sllipped in TWI these days due to teh relentless pressure to hire, but since I am not there any more, I don't know).
So Kevin, your focus on IITs/RECs might be making it harder for you to hire good programmers than need be. Part of the reason why TW succeeds(ed) in having so many good programmers has to do with its recruitment, trainng and project processes than any focus on elite schools.
This is the first post that has flushed me out of lurker mode to say "great post"--its truly unique for me as all I've ever seen otherwise is hype/marketing/etc. about the whole outsourcing thing.
But I'll extend the "great post" to the other articles I've read here as well ("Three reasons to reinvent the wheel", "Myth of the bigger tool", "Fire your experts", etc.). I enjoy reading them. Thanks for taking the time to write high-quality/high-content posts.
Prior to comming to India I had long ago learned to find the best from everywhere. I have worked in companies that hired nothing but MIT/Stanford graduates and companies that never hired a one. I've never considered school a great indicator of talent. I believe the same should be true here as well and that was the process I started with initially. We did find good people that way BUT it was really taking a long time as the ratio of interviewed to hired was excessively low. If you are doing well at TW in terms of finding people from the broad pool then I suspect you know some things I didn't. We didn't get a great ratio even after focusing on the top schools but it did improve enough that given our pressure to build the team we stuck with that approach.
I totally agree with your article. I must've taken over 600 interviews for various levels (fresh grads to managers) and rejected an extremely large number of people. Quality is sorely lacking and quantity is plentiful.
You said good programmers enter management and create a void which others may not be able to fill. The truth is that in India, hardly anybody provides a growth path for super-programmers. I've done some awesome stuff in my coding days and felt I deserved a raise but every time the subject of promotions came up, the word would always be that I should develop managerial skills in order to grow. I couldn't let juniors climb up the ladder and be left behind. So, I eventually sold out and took up the manager's position. I'm now the only manager who takes up personal coding assignments, in addition to boring project management jobs like preparing status reports. If I wasn't coding part-time, I would've become rusty and would not have been able to solve technical problems for my team.
This is possible in my company because we're always facing a manpower crunch. Had I joined one of the biggies (TCS/Wipro/Infosys), I would've been reduced to a bored, dumb manager by now.
"When we were first doing interviews I remember one particular period of time when there were two of us doing interviews continuously for two weeks straight without finding a single candidate worth bringing back for a second round". You also mention candidates who couldn't write a for loop.
I think this may be a key difference.
When I was in TW, the process worked like this.
1.TW obtains a CV somehow (recruiters, submission through the TW website , referrals etc)
2.Someone "phone screens" the candidate.This is a less than 10 minutes (often 5 minutes or so) phone interview. The questions asked are VERY simple. When I was interviewing for TW I thought "why the h### are they asking me these dumb questions?" , but when i stated interviewing, I saw the need. It is surprising how many candidates you can elimnate in the first one minute of a telephonic interview.
3.If the candidate makes a good impression on the telephonic interview, they are sent a code problem by email which they need to solve and send back . While there are India specific problems with this approach, with people gaming the system by sharing code solutions etc, this eliminates a substantial chunk of "people who can't write a for loop". The problems often have subtleties, which help in identifying the really sharp folks.
I still remember reading Steve Purcell's elegant code and entering a comment of "Hire this guy NOW! Don't bother interviewing him"
4.If the candidate got through step 3, with an "exceptional" or "above average" rating for their code, they were brought in to the Bangalore office for a battery of written tests, mostly logical and gre quant style .
5.If they don't score high enough they are sent back. Anyone who got through step3 genuinely usually had no problems becvause many of the "logic" problems were coding problems in disguise. The folsk who copied teh solution from elsewhere and still got through(a very very small minority would often get eliminated here).
Then the interviews start.These interviews are fairly tough and get tougher with each round. Generally a candidate goes through 2-3 technical interviews (interviewers work in pairs) and a single "no" was enough to disqualify a candidate in the early days.(These days, I hear, you can get by as long as the "yes" es outnumber the "no" s and apparently it shows.).
5.Then there is an HR/Salary negotiation phase.
This was the general process. For "important positions", the process was tougher.
A couple of points.
1.The phone screens, code evaluation and technical interviews were all done by a pool consisting of ALL the technical people,not by a defined subset. This spread the load around.
2.John Hundresiser, the (then) Recruiting Manager held an *extremely valuable* "How to Interview" session for every sngle Thoughtworker as part of the "Induction" process. This session gave me alot of insight into how to identify exceptional candidates early, which I use to this day.
3. The "please write code for Problem X and send it to us" (step 3) eliminated HUGE chunks of the "bozos with good cvs".Some people especially the "senior" ones, used to get indignant."What I am an Architect with 8 years experience and you want e to write code?" .The answer was, "EVERY technical position requires you to write code and send it to us. Sorry" .
So was this process perfect? Not at all. But it did eleiminate large chunks of the population early. I would guess maybe 1 of every 10 or 15 who got through to an interview would be made an offer. This I believe, is tolerable. Overall the ratio was about 1 in a100 or so cvs received, I believe.
There was (is?) also a very healthy company wide discussion about ho the interview process should change. I was one of those advocating "tougher" processes :-).
I hope this is useful. I think companies are crazy to give people interviews without asking them to show how good they are at writing code.I think this might be one reason people who don't know enough about coding get through and waste the ineterviewers's bandwidth.
I notice that companies like Google and Yahoo also have very long recruitment ideas. And Google at least does restrict recruitment to IIT graduates or so I hear(Yahoo doesn't care where or what you studied, last I heard). So maybe there is something to it. I have never seen the sense of this. If someone can code tough problems well, what do I care where(or what) he studied? But then Google IS a multi- billion dollar company so they obviously know something I don't!
PS: Almost all The IIT guys from webtek got through step 3. They were mostly eliminated in the technical interviews. I believe that this is probabaly due to the TW tech interviews being (while I was there) much tougher than usual in other companies.
Interesting anecdote. there was this guy who claimed to be an expert in Compilers and Mathematics and it was his bad luck he got an interview team consisting of someone who knew compilers well(me) and a Math Graduate (and enthusiast , JK Werner) who could call his bluff. I wish I could have taped that interview . It was hilarious!
yes I have heard of TWI. But it's not the solution to all ills. this 'we do things right' is used by so many companies that it has become a hype on its own.
Not all IITians make great programmers, because they are trained as engineers, and not all engineers might end up good programmers - it is a myth perpetrated by India Inc that Engg graduates are capable software pros. From what I have seen for the last 10 or so years, the *chances* of running into a candidate with better stills and vision are high when the samplespace is IIT and in some cases some RECs. More than likely the chap who went to thankayya memorial college did it not because he had any innate aptitude for math/engg, but because he was pushed into a field in which he is more than often disgustingly mediocre a performer.
And also rememer that folks who go in BSc etc are *generally* people who did not get into Engg colleges, after taking standardised tests. Sure there are exceptions, but when I see a PhD in biology from some average Indian univ, I see a reject of so many med schools and job hunting process of 5-6 years. Sure there are exceptions, but you have to agree that compared to other countries, the Indian system allows a mediocre person to go through the educational institutes and emerge with some degree stamp which more than often they might not truly deserve.
So the author's original comments stand. What you mentioned are exceptions. By going against the IITians almost as a matter or personal policy, I doubt if you are doing TWI any favours.
Ravi, not to blast you personally, but after seeing your
"I am not denying that folks from IITs RECS are not bright." comment .. I hope that TWI code does not end up having the double negatives like this :)
Oct. 19, 2005 - I seem to have communicated the wrong message
Posted by Anonymous
If so Apologies.
I meant no disrespect to IIT folks in general, or claim that TWI is an uber- fantastic place.
In *that particluar context* , *those bunch of IIT grads* were not suitable.One of them was very very good, most of them were downright terrible *in that context*. I meant no more and no less. If my infelicity with language has offended you, I apologize.The error is all mine.
I thought the TW interview process was relevant to the problems Kevin was having with spending too much time on irrelevant cvs. I also happen to think that an exclusive focus on IITs/RECS *may* (repeat *may*) not give you the best progarmmers.
What you or anyone else make of this *opinion*n is, of course, totally up to you.
Anyway, I will not waste anymore of Kevin's space with my thoughts.
Dear "Anonymous", I have just posted an entry on my blog (http://ravimohan.blogpost.com) about my genuine perplexity with this issue.I hope you find some time to contribute there.
I have the advantage of being educated in both the systems, India and US and could not agree with you more on your assessment. The major problem that is plaguing India with quality ratio is organizations who are willing to sacrifice everything in order to make a quick buck by setting up cheap training centers training people on pirated softwares and stolen IP and new private engineering colleges that are popping up like weeds all over the country. Many of these colleges do not even have appropriate infrastructure for quality education. State politicians are not trying to do anything to control this spread of substandard colleges since the politicians get huge kick backs from such unethical businessmen.
Well, if you what you are looking for, there is no derth of talent either in the Western World or in India. In India, you can increase your hit ratio by focussing on some of the RECs and IITs, area of the country, and engineering majors.
...undoubtedly India definitely has a vast pool of talent relative to other countries. What is lacking is the talent to recruit and the ability to retain the right people in that country with a Billion plus population.
Thanks, I enjoyed it. I have worked recruiting but have been a programmer for almost 25 years. The adage that some things don't change seems to apply here. I can only think of a few times finding programmers was easy, and that was usually due to vulturing carrion from big layoffs locally. People are humans regardless of their place of origin. Programmers are a different breed. One reply said a great school does not guarantee a great programmer and I would have to agree with that. I hired Stanford grads that were wonderful as well as blue collar types that worked their way up from the bottom. College grads tend to have a better understanding of the big picture but that can be taught to someone, too.
The project I worked on lately had quite a few Indian nationals, several who have become close friends. My personal experience is close to what you said here. We had very talented ones and others whose code didn't even work according to specifications and had a serious amount of rework to them.
I will say one thing Indian nationals do that us Yanks could learn from is how much they help each other despite the quite clear pecking order among them. Westerners tend to work more with their own self interests in mind, and while they might give each other some one on one support to those they like or who can help them do things, the Indians do it almost as a matter of national pride. They all work to protect their image as a group, not as individuals. There were a couple of self serving exceptions, but that was rare in the group I worked with. I still go to Friday lunch with them when I get the chance. Don't get me started on the food!
Oct. 20, 2005 - 10 years to develop a good programmer
Posted by Anonymous
I've been programming for about 12 years now (actually, I dabbled in programming before that, but I'm only counting professional experience).
Five or six years ago I thought I was a pretty good programmer. Not steller, but pretty good. Now looking back, I'm beginning to think that I'm only now just becomming proficient at programming. My point: it takes a lot of time and practice for a programmer to get good and develop the right level of intuition. Some things you just won't learn in school and I think a lot of aspects of programming can't be taught, they have to be gained by experience.
Outsourcing to India really started in a big way around 2000. So it's only been five years for most of the software engineers in India to gain the experience needed. For many of them it's been less than that. I would expect that it'll take another five years before you start seeing a lot of very good Indian programmers. Your point about the management track is well taken. If indeed it takes about 10 years to really mature as a software engineer, then many of the folks who give up early and go into management may have short-circuited the process.
Another point: How much is the technical interview a cultural thing? What I mean is, in the US we expect a very rigorous technical interview and because of this interviewing skills are taught. We do a lot of preparation, etc. In India, perhaps (and I'm asking you this because you're there) this isn't something that has become acculturated yet? Actually, I'm not sure the technical interview IS the best way to assess skills. I know that personally (as an American) even though I know to expect a rigorous technical interview I still suck at it. Nerves can really get in the way.
Your points are well taken and serve to highlight why having a flooded market makes the situation difficult. When I say that I am a technical interviewer I don't mean that I ask questions like, "How did conext discovery change between J2EE 1.0 and J2EE 2.0" or the like In general it means that I ask people to write code that offers many opportunities for variation to see what underlying issues they discover. I always want people to write code because to me it's the number one way to tell if they CAN write good code. But this is not the ONLY aspect that matters and some people simply do poorely in the pressure of an interview.
People in India seem quite willing to take technical interviews and they are quite common so I suspect that most people have some level of expectation that they will get technical questions, but the questions we ask are not the kinds that can be prepared for in the classic multiple-choice exam kind of way.
Some of the approaches suggested in the TW related posts are excellent at weeding out a large pool, but like all such approaches they will weed out some percentage of good and even great candidates. Having a large pool means you MUST rely on these kinds of approaches or the job can't get done and this makes for a tough situation for a certain class of talented programmer.
In a less saturated market the pool is self selected with better people and so more care can be taken with each one.
I am Pierre, french student in Business School, and I just want to thank you all for your comments. I am writing a thesis upon globalization and you all gave me a very intresting overview of value added industry delocalization issue. Thanks to all of you, keep up the great job,
Your blog on IT outsourcing challenges in India was a very nice read and I can attest to that from my experiences as well. You might want to check out my blog about IT outsourcing in India from the economic perspective at http://www.pranavbihari.com/articles/2005/10/17/are-indian-it-professionals-really-cheap
?. corporate thinks management people are the key success to the project, so the rewarding mechanism is favorable to management person than a technical person?... People without good functional knowledge or technical knowledge leading a team with talented technical persons always not giving due respect for his technical skills? every these factor will propel even a tech savvy person to take up the administrative job.. (Project management)?.
The org structure needs a change?... (Similar to big 3 consulting )?there should be management path (Would say management path as administrative path?. as I seen most of the project managers deal with administrative work rather than project management work) and technical path? and both path are equally rewarded. Even though corporate claims that there have these structures in place, it never treats people equally. Once these changes happens there will be a big pool of talented engineers.
I have been seeing lots of discussion about the quality of Indian software engneers on the internet these days. Regarding this blog about finding the right talent, i want to share my experiences..but first a bit about myself
I consider myself an average programmer. I have around 7 plus years of experience in software Industry. Initial 1 year in mainframe and then in J2EE. Since the first day i have been very clear about my career. I will always be doing coding. Coding gives me a sense of satisfaction.
Now, finding the right talent in India, if i am doing an interview and need a programmer, i will not lay all emphasis on candidate knowing syntaxes of programming languages. The problem in India is that mostly big companies have maintainence projects . There will be greater probability that a candidate coming for interview might be working for one of those projects and is looking for an opportunity to work where he can add some values to his skills. Even if there are quite rare development projects in MNCs in India, most of design and analysis work for those most likely would be done in USA or whatever country that company belongs to.
So, for me if the candidate knows the basics of the skills which i am looking for, i switch to judging his aptitude. IMHO if i have a candidate with right aptitude and attitude then i think i can provide him an environment where he will strive to give his best and always willing to take up new challenges and wont mind learning new things as part of his assignment. Of course, i have to set an example for him. So far this has worked for me. In my last project i have seen 2 freshers performing better than 5 years experienced people...only i needed to arrange some training course for these freshers and continously keep discussing technical topics while with them.
Regarding us moving the managerial responsibilities quite fast, this is true but again if the right environment is created where even managers dont mind doing coding, testing etc then i think this problem can also be solved. But the biggest challenge lies in changing the attitude if people where they think coding assignment as an opportunity as rightly mentioned that at the end of the day its the lines of code which execute and determine the success of a project.
I see no difference between Indian programmer and an european programmer. I am currently working in europe. Infact i have realized that Indians are performing better here in all projects rather than our european counterparts. The only reason for this is we have right attitude and of course aptitude too. Same was my experience in USA where i worked for three years. No that Indians are better than Americans or Europeans but as i said it boils down to attitude which invloves working harder sometimes too.
My company is heavily investing in outsourcing in India (but also some other locations like China). I just wanted to share with you my experience working as a Software Engineer with daily communications with India.
There is definitively a problem with India that I don't experience with China. This might be related to the lack of talented/senior people you are talking about. I have dozens of examples. For instance, I have recently taught a Software Architect from Bangalore how to work on simultaneous releases through branching using an SCM tool. This Architect is leading one of our development team in India; I found it pretty surprising to find that low level of software engineering culture.
There might be also a problem of motivation (love of the code or laziness/greed)
In large company, the decision to offshore belongs to upper management who is just looking at the cost benefit associated with partially moving projects to India. In a start-up, the decision belongs the VCs.
It is difficult to voice criticism from the bottom layer or the 1st level of management.
I have personally decided to move away from development after more than 8 years in the field and I am moving to a more Customer Oriented position, where my objectives will be attainable without requiring collaboration with India.
Nov. 28, 2005 - The problem is economic..but at its root lies THIS...
Posted by Anonymous
The problem sure maybe economic, as you stated, I agree or rather I have to.Being a just a fresh Engineering passout without a job, I dont have credits enough to oppose your experience and observations. But there is a greater problem at the root which is causing all
this not-enough-talented-experienced-coders situation.Its because the students in India choose their careers not because it interests them, but because their 'experienced and successful' Uncles and aunts have suggested and in a way pushed them into it.So as a result even in premium institutes like IITs n RECs what you have is a bunch of students who are doing their 'selected' course merely with one thing in mind-'It will get us more money and thus respect in society'.And when they finish their 4-5 years in technical field its time for them to move on to management, because thats where more money and respect lies now!
What is more sad for people like me who DO have an intrinsic technical aptitude is that the IT organisations(barring INFOSYS) dont realise that, its NOT the students who get 60 or 70 plus in their marksheet who will form a solid technical backbone for their company , but those who have that aptitude and thirst for technical tasks will; which unfortunately lie in the range of 55-60 %(wrt Mumbai University) range.
In my college years I have seen people who score 56-58in exams, but are light years ahead when it comes to coding skills.All this because in INDIA its NOT those who have good technical BRAINS that get 'good' marks, but those who can MUG things up and put that forward in a 'presentable' manner. In short... MEMORY WINS OVER BRAIN.