The last few years of high school was basically hell for me: the government subsidies OP's article mentions are limited just for the biggies (IITs and RECs), and the chances of getting into them are very slim. You have to get through series of examinations that over the years have gotten very _very_ tough: they basically expect you to know things in Physics, Chemistry and Math that - atleast in the US - are not taught till the third year of college. Forget about high school - I went to IIT coaching centers, and was very miserable because I had no real interest in any of the subjects - I wanted to learn CS, dammit - why was I mugging up organic chem formulae?
Its not even worth it to consider joining other colleges. Job options are limited, but the worst part is they all require huge "donations" upfront for a laughable experience (both in terms of the teaching talent and curriculum).
Long story short, I didn't end up getting a sufficiently high ranking in the entrance exams (my choices in the placement, if I remember right, were either metallurgy in IIT or mechanical engineering in REC: the top 400 had basically grabbed up all the CS degrees. Remember: over 400,000 students write the exam every year, so almost everyone ends up in a field they're not interested in.) so I decided to take a huge student loan and come study in the US. I don't regret the decision: I'm now doing what I love, and have gotten _so_ much more exposure than my peers back home it's not even funny.
When I went back to India to do an internship (and enjoy the vacation) a couple of years back, I was appalled by how little enthusiasm most people have about the work they'd end up doing.
Horrible stuff.
> was very miserable because I had no real interest in any of the subjects
You had no interest in Physics & Mathematics? You can hardly blame people who set JEE questions, you don't expect them to ask to write C programs for the entrance exams, do you? Given, myriad subjects that are being taught at +2 level, only physics, chemistry & mathematics are universally taught across India. And the way I see it, It makes sense to ask questions from those subjects.
>When I went back to India to do an internship (and enjoy the vacation) a couple of years back, I was appalled by how little enthusiasm most people have about the work they'd end up doing.
Again, even in US, "most" people have very little enthusiasm towards work they are doing. But I believe, your story is little anecdotal too. Every one of my friend whom I know socially in Bangalore today, are programming their ass off. They work on weekends, on side projects, start up ideas or open source stuff. I understand, my experience is anecdotal too. But again, if you are willing to look beyond IT services, there are people who genuinely love programming, I guess thats how the case everywhere, pretty much.
This is not relevant to the discussion, but I was very interested in Mathematics: I would have loved to learn more (I even applied to the Indian Statistical Institute, but with all the effort required for the other exams, I simply didn't have the time to prepare well for its entrance test). But the whole experience turned me off. Seriously, how would you feel when your entire experience with geometry is limited to high school level, and suddenly someone comes up to you and asks you to prove Napoleon's Theorem (http://en.wikipedia.org/wiki/Napoleon%27s_theorem) in under four minutes? My Math tutor did that.) I was completely burned out at the end of it all. Goddamn shame it had to happen that way.
> Again, even in US, "most" people have very little enthusiasm towards work they are doing. But I believe, your story is little anecdotal too.
Again, true. I was just speaking from my experience and how my high school batch (also in Bangalore) turned out. It would be silly of me to claim that with a 1 billion+ population, none are genuinely interested in programming.
Joined Info Science engg later. But I've been disappointed since. I had to scrape through chem, physics and civil subjects (compulsory common subjects at my university for all first years). Rote learning is encouraged instead of practical work. Hiring is based on grades and not the ability to create/solve.
In most families joining startups is frowned upon for a funny reason. I had convinced my mom about startups and why they were the coolest places to work at. But a friend of her's turned up at our house, and asked me as to how I expect my mom to answer when a prospective bride's parents ask her about my place of work (it seems that I should be working at a popular place). I had to tell her in simpler words - I don't want to be the replace-able guy working in a cubicle knocking at the keyboard all day. and told her startups don't have cubicles and have a t-shirt culture. End of chapter ;)
People seem to care a lot about `social status` which is measured by money. The remedy would be to start to care about how the money is made rather than the money itself (it's difficult to totally eliminate it since people see social status as a measure of your value).
I ended up studying something I didn't like in Engineering and didn't get good grades. I failed in a few exams. As shown in the movie 3 idiots, I did get selected in 2 companies after Engineering, but due to those failed exams, they ended up not giving me an offer letter even though I had got selected among a group of 3000(me and 12 others had gotten selected.) And my classmates who memorized everything in the textbooks got a high salaried job. I mean these people would never even know how to solve the maths problems which weren't in the textbooks.
Anyway all this has left a very sour taste in my mouth regarding all things Indian. In the next few months, I'm going to the US to pursue a Computer Science Master's like I always wanted, but I do realize that this puts me at a disadvantage over people who did study Computer Science at the Bachelor's level. But I hope I can do well </rant>
I don't think there's that much of a difference in the curriculum itself, especially if you're majoring in CS and not SE. Most of the trouble, from what I've seen both in myself and other Indian students who've just come to do their masters here, is because of our attitude towards authority (yes, I'm being stereotypical here, but bear with me.)
For most of my high school education, I'd been accustomed to incompetent - and often sadistic - teachers and so I had a healthy hatred towards them. This carried on even in college, till I realized professors here were genuinely interested in helping students out, and they wouldn't mind me asking them questions, or guidance. I used to remain completely aloof even at my part-time job on campus, which turned out to be a bad idea. Anyway, I wouldn't have mentioned this if I hadn't seen the exact same behavior in many of the people who came here for grad school, so yeah.. treat them as your peers and you'll be fine.
Anecdote: First year in engineering, we had this computers course, so the lecturer was teaching about input and output devices (Yes they teach this even in engineering). He goes on "Computer pheriperals are either input OR output devices"
One student raised his hand and asked, "Sir, what about the touchscrens like in ATMs ?" (Touchscreen mobiles were not common, yet)
Lecturer goes silent for a minute, and replies "Son, dont try to be oversmart in my class"
-- Just something I saw. Not saying they are that bad everywhere.
> a) There are colleges beyond IIT and REC and no they are not all bad
yes, but atleast in Bangalore, there's a nauseous culture of "IIT or nothing", supported mainly by BASE/FIITJEE and all those schools in Kota. It was very difficult for me to get out of it - if anything, it's gotten even worse since I left five years ago. I feel sorry for my cousins who are in their 8th grade now, and already being forced to go to a pre-JEE training (which, inevitably, will start as soon as they finish their 10th grade board exams. A training for a training for an examination that will then start their training? What kind of Alice in Wonderland crap is this?)
My parents are both professors at a certain well-known MBA factory in Bangalore, and trust me, the education system is worse than it looks. My mom was recently forced to use pencils when correcting examination papers (for the obvious reason), and my dad regularly complains about how he is forced to dumb down papers every semester or risk getting fired. Agreed, this is all anecdotal evidence, but it is damning nonetheless.
A more minor Q, if you feel like answering it: which school are you at in the U.S.?
There are also deemed universities. These are just privately run colleges that have been given authority to have their own curriculum, provided, they fulfill the infrastructure requirements and other stuff.
Faculty, except in a few reputed institutes, are horrible. Horrible as in worst massacre of the terms involved in the subject. We had a lecturer for web programming classes who said "AJAX is a programming language". Fine! Teaching in India isn't taken up based upon interest or merit. It's the job people see as a fallback. They end up there when they don't get into their beloved Infosys, Wipro, TCS and other body shopping companies (due to their low grades coz these companies hire by grades). Some of these faculty turn out to be ego machines who don't learn and never like to see their students knowing more. And the cycle goes on...
The some colleges have pathetic infrastructure and are still given approval for affiliation (cash under the table baby!).
BONUS - A funny incident: We were asked to submit an abstract for (compulsory) 30 minutes talks. The format given to us by our in-charge lecturer was a cover page with title and student name, a separate abstract page and put these in a stick file. It seems one paper with title, student name and abstract won't do.
PS: I am a student at one of these private universities.
This overburdened-ness hardly leaves students the time to think about what they'd love to do in life & any kind of self-improvement. Tired of such a monotonous routine for 3-4 years the escape route turns into getting a job asap -> hence your observation of "how little enthusiasm most people have about the work they'd end up doing" <- for they really never got a time to think & discuss about how they wish to drive their lives.
I was actually one of the first ones in my country to get approved for such a large amount ($60K+ for five years (bachelors+masters)), and it helped that my dad was an employee of that bank. However, it was a really long process and many people were very dubious. My dad actually had to go all the way up to the CEO of the bank in order to get the approval, and those people were constantly behind my parents all this time checking up on my progress. Needless to say, it is very important that you not slip up.
But this was five years ago, and I've heard from my parents that a lot more students are been approved now after the banks saw its not that big of a risk. All in all, be prepared for a lot of bureaucratic hassle.
My recommendation, in retrospect, is that it is not generally worth it. You can learn more from the classroom videos MIT and Stanford have put up, and if you participate in open source projects, you can pick up the programming idioms and practices fairly well. Take advantage of what the internet has to offer. Most companies, atleast from what I've seen on HN, value your github commit log more than your degree as it says more about what your interests are.
I've interviewed a lot of people in the last 2 years, and I never look at the education level. I only care about your ability to solve problems. We've had people with masters in CS from good schools who could not solve trivial programming problems. We've had completely self-taught guys with a high school diploma, who aced the interview. HR cares about your education level, but if we want to hire you, they can't really say "no" to us. So if you're into IT, you're already light years ahead of all the mindless drones who got a degree just because IT pays well.
Smart people are always in demand. Keep educating yourself, in whatever field you choose. Become a pro, and you will always find a job. Do some contracts, or some open-source work, get your name out, you will make more and more money every year.
http://cm.baylor.edu/ICPCFinalResults2010
http://en.wikipedia.org/wiki/ACM_International_Collegiate_Pr...
This leads to two things: 1. Most people do not have a clue about their interests and passion until it is too late (or never!). 2. The only majors that people graduate with are those that seem to have a lot of jobs and "prestige in society", often due to peer and parental pressure more than their own volition. This explains why there are so many engineers and doctors.
Combining these two, it is not surprising that a lot of graduates are not passionate about their work but see it as a means to an end.
Isn't that how it works in the US as well? Don't students join colleges already deciding what they plan to get a degree in? I'm from Canada. When we apply to university we have to apply to a specific degree. First year courses are already tailored to a particular degree path. If that's not the case in the US, when is it that you actually choose your degree? I always hated the notion that 18 year old people coming out of high school are expected to know what course they want to target for the next four years.
Because of this, there's more fluidity (not in any traditionally siloed discipline, like medicine) in the US university system, see: the cliché about the 6 year student who changed their major after three years. Most of the structure comes from parental and academic pressure to buckle down and really dedicate to the subject.
In general no. Some specific programs may have a special admissions program (art and music are culprits here) and sometimes you need to apply to a specific school (e.g. Engineering vs Arts & Sciences). But usually, you can major in "Undeclared" for your first 2 years.
I've always hated the notion that we expect 18 year old people to invest $25-100k on education in "Undeclared Major" with the eventual hope that they will figure something useful out. It's almost as silly as dropping $25-100k on "Undeclared Stock or ETF", though unlike "Undeclared Stock or ETF", there is some hedonic benefit.
Overall, though, US universities and colleges are very flexible compared to other countries. Probably why they are so popular with foreign students. :)
Of course, in the US and Canada you can generally switch programs in midstream. That may not be possible in India.
Also, considering that people are working jobs and going to school at the same time, four year degrees sometimes take longer. It's pretty common for the challenging engineering degrees to take 5 years due to the sheer number of units required to graduate (I took 6 years, without switching, although I did get a double major in math & computer science).
I would also offer that the article isn't complaining that graduates are not passionate about their work; it's complaining that they appear to have taken very little away from their education at all. Having less volition intuitively explains a lack of passion, but I'm not convinced that it does a great job explaining a lack of competence -- passion can be replaced by discipline and social pressure. I find the article's description of problems with teaching, school culture, and school curricula to be more obviously plausible.
Most of the times a student's major is selected for him/her with the following preference:
1. What's available in the most reputed college nearby. 2. What the parents perceive to be the best degree to pursue (usually engineers/doctors followed by other streams based on the general consensus of their friends/peers/relatives).
Children almost never decide their own focus - at least they never did say about ten years ago. Children here make the first choice of their courses to study in High School when they are 16. That's almost too young to decide what you want to be.
You can be certain that almost every Indian student who took Biology in their High School tried to be a doctor and every student who had Maths and Physics took the exams for entrance to Engineering colleges.
That's why we see Indian engineers have a very skewed quality to quantity ratio - many of them never wanted to be engineers in the first place!
This can mostly be attributed to our parents growing up in an (almost) socialist republic where doctors and engineers were the best career avenues after the government. However, things are changing slowly and parents are being very liberal with the career choices of their kids and getting them to explore different options.
By the time they get to assigning spots for those who placed 5000 and above, you are probably left with textiles, metallurgy and some other arcane fields.
Parents. Their future job is usually decided for them before they're even born. The number of people who go into a particular profession because they enjoy it is exceedingly small.
Yes, my point was that it would be of note for people discussing the Indian education system to keep in mind the way people go about choosing their subjects. I didn't say that it was the primary cause or even directly contributing to the lack of competence.
I'm not entirely clear myself on the exact breakdown of truth vs. sarcasm in the preceding paragraph.
However, I did wimp out once when a student begged me to increase their grade from a D to a C because they needed a minimum GPA to play football. My thought at the time was, "This guy is a prick, but he has absolutely no future in the life of the mind, and college football is probably his only chance at success in life." It was something of a split-second decision, and I still regret it. Upon further reflection I realized it was completely unfair to the other students in the class, and swore never to do it again under any circumstances.
http://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html
I couldn't find his minimum-speed prescription, just now,
but he does say 70 words a minute is easily obtainable for anyone with two hands.The outsourcing boom exploited one persistent mispricing of labor: below that tiny sliver of folks at the top of the educational pyramid in India, there was a slice of folks who had a minimal level of competency and prevailing wages which were absurdly low compared to wages in e.g. the US. I've done telephone support before. You don't have to be a genius to do it. Given that you're not looking for geniuses, you could either find a modestly educated American homemaker (or somebody trying to pay his way through college) at $10 an hour plus costs, or you could employ someone near the top of India's educational distribution for less than $2 an hour, fully-loaded.
Then apply the same economics to folks in the top of that below-the-sliver slice who are able to do back-office line-of-business CRUD apps, which are the outsourcing sweet spot.
Even though India is ginormous, though, there is a finite amount of labor in that slice, and when the global economy became aware of that mispricing, that labor got bid up very rapidly. Prior to the Lehman shock, engineering salaries in India were going up at 50% per year. My company had difficulty keeping any engineer on a project for six months -- they were unwilling to match the new market rates so the market did to them what the market does to everyone: allocates scarce resources efficiently. "You pay peanuts, you get monkeys", to quote one of our Indian engineers. (He now works for a Japanese company at a multiple of his former salary, last I heard.)
Anyhow, the overwrought reporting about the labor mispricing for that one little slice of the market apparently convinced at least some people of something which is manifestly untrue, which is that Indian education is world-class. It's not. India in 2011 is the same as India in 2001 is the same as India in 1951: it is gigantic and filled with lots of desperately poor people who do not have even minimal levels of competency for global work. (It is entirely possible than India in 2051 will not be, but they've got quite a ways to go yet.)
I've been working in enterprise IT (and small business) for about 5 years now. I've never had a good experience in India. There are the few who do come over to the US (on visas) that are exceptional (and possibly in a relative sense) but again don't represent the whole, and nor does my bad experience represent the whole for that matter. The fact is that in more than one occasion (it's actually countless) I've had to hand-hold Indian colleagues on how to fix an issue. It astounds me that this price difference can ever achieve it's value and more importantly do it sustainably over time (re: difficulty keeping an engineer for six months).
Our company has outsourcing in Romania and it's by far better than any other outsourcing I've worked with. I think we've found that "tiniest sliver of folk" in Romania, but it doesn't mean the streets are filled with these type of people, nor do I think we can expand to create a managed service hub of thousands of Romania techies.
At the end of the day I always have to fall back on "you pay for what you get".
Yes, when you outsourced to India, you probably did so on the basis of getting cheap labour, so it seems utterly unsurprising that you were disappointed with the results.
There are a lot of competent outsourcing firms in India - you probably don't use them because they are expensive.
And, you get what you pay for. ;)
As someone who as experienced India in the late 80s, the 90s, and the 2000s, this statement seems so spectacularly far from being true, I have to openly question what sort of evidence you've used to draw your conclusions.
Leading them to outsource their own resource needs to cheaper places
While the general sentiment of the article is true enough (I suffered an academic path not too different from magic_haze - http://news.ycombinator.com/item?id=2412098 - above), the specific example of the call-centre in question cannot be used as a valid premise.
They want "new recruits who can answer questions by phone and email.", and also in all likelihood want to pay a pittance for this. Sample the following quote:
Its increasing difficulty finding competent employees in India has forced the company to expand its search to the Philippines and Nicaragua. Most of its 8,000 employees are now based outside of India.
s/competent/cheap there, and you have the reality. I doubt if fresh college grads from Nicaragua or Philippines are on average more 'employable' or 'competent' than those from India. In fact, if a fresh college grad is able to competently answer questions by phone and/or email with a modicum of communication skills, they're arguably better off not getting employed in such a job.
Then Google, IBM, et al in India would be starving for talent.
On a micro scale you are correct - the hiring problems are a function of how much they are willing to pay. But that's not really the crux of the problem - the problem is that, on any pay scale, the supply of competent/qualified people is smaller than the demand.
That's the way I've experienced it in the US anyhow. If you want a software engineer and are willing to pony up a lot of cash, you will find someone good. This doesn't change the fact that the supply pool is still woefully undersized relative to the demand.
I know some US corporations are using US prison labor @ pennies per hour for phone support, surprised that abuse hasn't been pushed further, unless maybe it has.
In fact, a Chrome extension to simply append the redirect to the URLs of any site it works on sounds interesting...
this query will save lots of time www.google.com/url?url=
HN sends thousands of high value users to these corporations each day, and linking to the full version saves us time and brings goodwill to an obtuse online publisher.
That said, I believe that the geeks I hired are totally world class. I also believe that w/in 5 years time they will be earning 100,000 USD per year, whether they are living in Nepal or elsewhere. cuz, they are worth it.
#1. Reason: Most of the folks joining (CS in) Engineering do so due to parental/societal pressure. Engineering degree from an established college is a sure shot way to that cozy job in BigCo Inc. through campus placements, once they clear those stupid interviews (usual stick arranging/manhole puzzles) and have a 70%+ aggregate. From there on, it's the usual journey of going onsite i.e., a long-term assignment to US(##1), a trophy wife and a big apartment, a car and so on and so forth.
#2. Practical subjects have set syllabus in many universities; essentially a set of programs which most of the folks mug up and clear through. (hence the term 'procrammers') VTU (http://www.vtu.ac.in/) is most notorious for it. Ex. Data Structures lab : http://www.vtu.ac.in/index.php/scheme-and-syllabus/766.html?... OOP lab: http://www.vtu.ac.in/index.php/scheme-and-syllabus/772.html?... Algorithms lab: http://www.vtu.ac.in/index.php/scheme-and-syllabus/785.html?... syllabus details for all branches and all semesters: http://www.vtu.ac.in/index.php/scheme-and-syllabus/299.html?...
#3. Most of the teachers (lecturers/professors) have no idea what they are teaching. Many folks take up teaching only if they cannot get through campus placements or another corporate job. A fellow from my batch who failed in Microprocessors (twice) is a lecturer teaching Microprocessors in a small town engineering college. They themselves not being aware of the right set of tools to be used, they would even promote usage of archaic tools. Almost all the colleges affiliated to VTU Belgaum, in Karnataka, state which has Bangalore as capital, use Turbo C as IDE. They have no idea what compilation/linkage is, but only know Ctrl-F9/Alt-F9. Usage of CLI is something that is seen as too technical/geeky. Most of the 'software engineers'/lecturers/professors have never used an OS other than a flavour of Windows. (Few are not even aware of the existence) Very few know about useful sites like StackOverflow or HN; and many would land up in various forums with ‘can haz codez’ requests.
That said, there are few people who land up in IT cause they love computers and programming. Numbers are not in their favour cause for every one of these truly passionate ones, there would be a thousand odd zombie types in Indian IT scenario; and the latter would stand out. The numbers of passionate ones is growing, though slowly.
But there is more to this topic, imho. Article linked by OP talks about folks not being fit enough for the job. The companies which cry foul about the crop of engineers and their capability are not really bothered about technical skills but more about 'soft-skills'. Simply because most of these firms are outsourcing service providers who would not want great programmers in their payroll but some sub-standard/mediocre guy who can keep his head down in the cube farm, conform to org-wide (sometimes ridiculous) policies/norms, follow through checklists, churn out filled up excel-sheets/documents by dozens and get the job done. I am sure many would miss this fact.
(##1) Ask any IT guy from India how someone who has been in IT but hasn't been onsite would be treated. Lepers are better off, much better.
I've seen a number of people who enter CS here in the states do so for this same reason. They get weeded out in interviews quickly because they have no desire to better themselves, no curiosity about the topic, and really give the impression they would rather be elsewhere.
On the educational side, even with 2nd tier schooling, if you want to learn, are curious, and want to put the time in, you can make yourself shine above peers around you.
I attribute these squarely to the teaching methodology which is mostly memorization with no encouragement to creativity whatsoever. On top of this, the teachers in most schools are utterly incompetent and hence lack enthusiasm.
One solution may be to start private institutions that teach or increase the proficiency in such language skills (like how NIIT and Aptech did to computer education when schools couldn't do it).
First off 24/7 is a terrible, terrible company to take as an example, being and ITES company the only skill they require is the skill of communicating in a non-native language, which unsurprisingly is not a strength of most of the college (some of them being Hindi Medium) graduates. If we consider real programming work (which is language neutral), there are absolutely brilliant programmers in India. In fact Indian students were the second highest fraction in GSOC last to last year.
Secondly the point that the curriculum is outdated is totally ridiculous, the books I studied during my Masters and those during my Bachelors had a big chunk in common. One big difference I found was the quality of teachers is top-class here in US, while not so much in India, and the argument from the article about low pay scales for the teachers, being the reason, stands water.
But the biggest difference is in the teaching methodology and the grading system. Here in US there is a great emphasis on 'Learning by Doing' and a majority of the grades depend on the homework even at college level. While in India, as the article mentions, it is almost solely based on end of the term exams, which encourages cramming and discourages daily learning.
But as an encouragement to the Indian students, I would like to add that if you wish to pursue a field in today's world, there is no stopping you back, specially with the advent of places like Khan academy, MIT open course-ware etc. All you need is will and a little persistence.
In a decent engineering college most of the bright students will be hired by one of the software services companies like Wipro,Infosys,TCS,cognizant. Those who are considered "unworthy" by these companies will end up being a lecturer at some engineering college. Most of the bright kids never choose teaching as a profession.
The CS degree taught in these colleges are not worthy, most students copy their lab exercises and get their job done.Again if you look at the quality of the lab exercises they are not worthy enough. A typical lab exercise will sound like "Implement library management system with Turbo-C", (yes Turbo-C) where the student will be given with 100% mark if he creates a structure and prints the contents of it.The point is, a student in 4 years of his college life never create something real and useful.
No one from a decent college will go to a call centre.
Here is a paper done by one of mentor, who is into free software advocacy among students, this paper clearly explains the mentality of students and tutors in most of India's engineering colleges http://www.shakthimaan.com/downloads/glv/shakthimaan-paper/s...
To me it seems that reading and 'thinking' are such fundamental skills in IT that they would just be assumed elsewhere... but an educational system that fails to teach reading is really enormously broken.
That said, I have actually worked with two lots of people in Bangalore. One lot got flown out to my country, and they were nice if a little lazy. On the other hand, they put up with some shit that the 'white natives' wouldn't have, like ridiculously long compile times because some idiot (most likely a well educated white person) had thrown the kitchen sink at their ant script. I wouldn't have put up with a 30 minute build, I'd have lost my nut. They were at least as smart as the 'white natives', they could converse, their English was at least as good (and better in some cases) than the native English speakers.
However, they said that in Bangalore working for companies is very stratified. Everyone wants to work at the large American companies (e.g. IBM) so they are the top tier and get to pick the best candidates, and then you get this trickle down effect, till you get to relatively small non-US foreign companies (like us). From the article, it seems there are even lower tiers, e.g. presumably the good candidates don't apply to the smaller Indian companies.
Funnily enough, later on I got the opportunity to work with some guys in Bangalore who were employed by IBM, and they were completely, atrociously bad. The only time I've seen worse is deliberate sabotage. These guys got on the excuse merry-go-round and never got off, and would keep recycling excuses why they hadn't done any work, even though you'd think "didn't we already deal with this the previous two times it came up?". These guys did nothing.
Naturally, I cheated. :D I took a page out of the managers handbook, declared 'victory' and ended the programming phase. Now we were into the testing/bugfix phase. My 'white native†' colleagues who had also been frustrated by lack of progress in Bangalore were puzzled by this. They said how can it go into testing, they haven't done anything? So I said "run the tests and if you find any problems, fix them" so they said "but there's nothing to run!" and I said "well, that is the first problem to fix then isn't it?". And suddenly the lightbulb went on and they 'got it'. We actually made up all the lost time and then some.
So I'm not particularly impressed with these so called 'top tier' candidates either.
†Not necessarily white or 'native', but naturalised citizens of an English speaking country
So you have people getting CS degrees, but their hearts are not in CS. So there's no passion, no excitement, no enthusiasm.
Meanwhile, colleges also don't light a fire inside their students. It's all rote learning. One of the few colleges that really teaches people how to think independently is BITS Pilani http://www.bits-pilani.ac.in/ (I may be biased a little ;) ). Even though I got a Mechanical Engg degree from there, I learnt enough CS that I was able to get a full assistantship in the US in CS (where my heart was). I am grateful for the education I got there.
I faced similar issue in my previous startup & to solve it, started http://stalkninja.com . It is a way a deserving & self-starter student can differentiate himself/herself from the rest even if they are not from one of the top colleges like IITs.
1) One studies hard trying to get into a decent engineering college. If they are even wee bit good, they get into a decent college.
Sidenote: For anyone who says they did not get into a good college and are doing great in life now (at least intellectually), here is what happened.
You were not so great or smart when you gave that exam. You got to learn through self learning, fear of not being able to do great stuff in life and a lot of experience or got away to US in a decent college because your family could afford it.
2)Once they get into the college, the freedom, the fun, the energy, the beer, the drugs often bring the worse out of them. If none of the above they probably trade lectures for Counter Strike sessions (I mean 6-7 hours of continuous sessions everyday) or Poker or some new shit.
The sad part is these people are still doing the right thing since the guy taking the class most probably knows nothing about the subject too and if they do are either bad teachers or too obnoxious to be able to impart knowledge to a mind that is vulnerable to wandering off to butterflies or scribbles at the back of notebook or tweeting (the hot new stuff).
3) So even if you were the CS guy in school, the agony of being taught by people who were not the best people for the job leaves one disappointed. Something as cool as programming no longer is exciting because you have to do exactly what is expected of you. [Anecdotal evidence: I actually was never much of a programmer. I kept passing every exam by just writing logic and pseudocodes. I did write a simple factorial using something other than recursion and the lab in charge got the better out of me. Then on I left bothering myself, so by the time we were being taught data structures, I had lost my ground.]
The people who are the toppers in a class are those who attend every lecture (does not matter what they get out of it) and show utter respect for the profs. 100% attendance and you are bound to get a decent score in the end sems. That is when studying loses its charm.
4) At the end of college getting a good job means getting into a consultancy. Many smarter companies just do not allow Non CS people to sit for programming jobs even when they prove to be great. [ Anecdotal Evidence: A friend of a friend from a non CS degree got into Facebook US, before being not allowed to sit by Google India and MS India]
So call it lack of opportunities, self belief, hard work of students, peer pressure, you end up being just a graduate. Not an engineer in any sense of word.