As an Indian student who tried to get through the "system", I can relate to this. I was really into computers and programming in high school, so I decided to go into the engineering stream in the "+2" years (basically, 11th and 12th grades, as opposed to the biology stream, which supposedly preps you for medical school). I remember the parental and peer pressure particularly well: my dad was pretty much opposed to it because he felt taking biology would "lead to more options later", but I was not convinced. Most of my friends suffered through the biology classes, and yet ended up in engineering degrees at college (and for the most part, are working at either Infosys or Wipro now. No one is doing anything even remotely related to medicine.)
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.
The problems of entrance exams are obvious, but you are not being fair - when you say, why did I had to mug organic formulae? Isn't that kinda, how everywhere? If all I want is to do - MS in CS from some top US university, why
do I have to mug that word list for GRE?
> 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.
yes, I agree. I understand why the JEE people decided to go that route, but all the same, it is completely unfair to the thousands of students and parents who are forced to go through this mess. The system of incentives is just so perverse.
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.
I can relate to you but I did take up CompSci in 11th and 12th grades and was pushed by my parents to stick to what I wanted (lucky). They had probably noticed that I was spending too much time on the computer trying to create something or just tinker with it.
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).
If social status == money, why is starting a company so frowned-upon by Indian parents? Is it risk aversion on the part of brides' families? Is it considered better to marry your daughter off to, say, an IBMer where both the upsides and downsides are bounded than it is for your daughter to marry someone who is a risk taker? BTW, I'm a white American guy who is simply trying to understand.
India has no welfare structure, zilch, zero, nada. More than half of population has no sanitation, lot of children are seriously suffering from malnutrition; and good schools are available to few.
If you are an entrepreneur in India, most probably you were lucky enough to be born in 20% of 'richer' family of India, and more often than not, a failure might put you back with the rest 80%. That is too much to bet, especially in a place where start-up in Silicon valley sense is quite difficult to setup.
2 points. One is that starting a company is only frowned upon by a section of Indian society - the middle class professionals who grew up reading the mantra of job security. Also there are not yet enough stories of people making big by starting their own companies. Once we have few stories, things will change.
Second, a lot of people start companies and do business in India but since those are not in the traditional IT or other VC oriented sectors, they are not heard of that much in these circles. Also not a lot of these companies would be doing the "innovative" stuff but building businesses in well tested markets.
In the US, the result of failure is bankruptcy and burning through your savings, followed by an upper middle class career track. Worst case, you are earning the pay of a 35 year old when you are 40 and your 401k is smaller.
In India, the downside is unbounded. Peru looks wealthy by comparison. 46% of the urban population doesn't have access to improved sanitation. I know a doctor in India who can't afford a water supply with one nine of uptime.
Under the same circumstances, I'm sure you'd also discourage your daughter from marrying an entrepreneur.
Granted, you probably wouldn't be locking her away from the outside world, discouraging her from getting educated (makes her less marriageworthy and harder to control), or selecting her husband for her. But that's a separate issue.
what you are saying is true. But one does needs to standup to one's beliefs. I did bachelors education in India, Masters in Compu Sc in US. returned to India, founder of a startup which was eventually sold to a US listed company. So it is possible to do it. Just needs relentless determination as PG says
Being an Indian and a former student myself, I can't relate enough to OP's article or to your comment. I took up biology in +2, because my mom insisted it would "lead to more options later" even though I wanted to take up Computer Science (Yes my +2 college had that as an option). But I didn't get to. And I regret that decision even now.
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>
man, that sucks. Good luck with your masters degree, though. (Where did you apply, if you don't mind me asking?)
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.
Interested in CS, ended up doing Mech Engg, Worked for of those TCS/Infy type software houses in India.
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.
I agree with you on several points - too much emphasis on engineering/medicine, very tough competition and superfluous subjects but I disagree with your conclusion.
a) There are colleges beyond IIT and REC and no they are not all bad.
b) A case can be made that at least through high school people be aware of what different fields have to offer before choosing to specialize.
c) Donations are limited only to management seats. Say what you may - admissions in India through centralized processes are very transparent, actually more so than here in the US.
d) Most people everywhere have little enthusiasm for the jobs that they do.
e) It is not all bad.
I'm not sure if my reply had any conclusions, but if it did, it is only that the difference in (supposed) quality of IITs vs. local colleges is atrocious, and this needs to rectified ASAP. However, it is important to remember this quality of education is merely a crutch, and it is completely up to the student on how he/she makes use of it. There are certainly many cases of students going way beyond what their peers have accomplished (best case in point: that whole Scoble/Yuvi Panda thing)
> 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.
I am from India and have had my fair share of suffering at the hand of the Indian education system. I dont want to be an apologist for the status quo but do want the rhetoric to be cooled down. For eg Here are a few non IIT institutions which are pretty decent
a) http://www.iisc.ernet.in/
b) Bits Pilani
c) Anna University
Also
a) I think it is fair to say that a post which ends with "Horrible Stuff" is reaching some kind of conclusion.
b) When I look at people who like me who "failed" at 12th grade and didnt get into IIT, I see that just the process of trying has served us well.
c) Education as you rightly said is what you make it out to be.
d) I do want to congratulate you for the strength of your convictions in choosing to pursue undergrad abroad when you realised that the Indian education system wasnt serving your needs.
You're right. My bad; remembering all those days cooped up studying Loney and K.D. Joshi made me emotional. Yes, it certainly helped me breeze through all my college math courses, but it's that sort of experience I wouldn't want even on my worst enemy.
One question: does India have equivalents to U.S. private colleges and universities? It seems like one of the U.S.'s major strengths comes from the fact that you don't _have_ to choose public schools, which means that a) you have many more schools to choose from and b) the competition, especially for top students, forces public schools to be somewhat better.
A more minor Q, if you feel like answering it: which school are you at in the U.S.?
I don't know much about the US. In India, some universities have have campuses and some don't. There are colleges affiliated to them. Then, there are govt-run colleges and private colleges. In between those two, there are aided colleges, which are run by a private trust, but funded by the govt (the trust gets to make profit while the govt pays a specific grant every year which takes care of the institute's expenditure and faculty salaries).
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.
> 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.
@SingAlong Your lecturer was just helping prepare you for the real world. So you wouldn't forget to put cover sheets on your TPS reports!
>We had a lecturer for web programming classes who said "AJAX is a programming language"
I had a lecturer who said API was a programming language. It's only while studying for exams (during the study hols) I came to know what an API was. :|
India does have many private colleges and universities, but their quality varies a lot. CS courses in most of them are dictated by the needs of the outsourcing biggies like Infosys and TCS, which doesn't gel with traditional CS hacking. However, with the rise in the startup culture, these private universities are changing for good.
PS: I am a student at one of these private universities.
Last 3 years of my higher education has been an emphasis on "what"s and not "how"s. But a college where every other week there's a test stacked up for the 6 subjects, syllabi is mixed up the way it should not be, even the last semester has two useless subjects lined up, and attendance is compulsory, it hardly leaves you with much time to answer the "how"s you've been wondering about.
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.
Thanks for the detailed comment. I just want to know how did you got the loan? The question is open for anyone too. I'm a third-world citizen looking to study in the USA and while can make my living, I don't think I can pay the expensive tuition fees.
Sure. I think its definitely worth getting a loan if you're really determined that's what you want. Most schools here (private ones included) give rather significant scholarships. You don't even need to apply for most cases: they just base it off your SATs and essay, and they usually give more if you go tell them about your circumstances.
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.
Applying and requirements differ from one university to the other, but you can find the highest ranked ones (by subject) in several places online and the unis' websites normally tell you how to apply.
My impression (and I might be very wrong) is that both Indian and Chinese education is concentrated on memorization rather than understanding. That's why so few people from both countries can solve problems (at least in my work experience).
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.
Sadly, as SingAlong mentioned (http://news.ycombinator.com/item?id=2412393), the hiring system in India is based on grades (except for big name companies like MS or Google, that, from what my friends say, are still unfortunately doing that 90's thing of asking stupid "why are manhole covers round" type puzzles. Warning: Anecdotal Evidence. (I seem to be typing this a lot lately, I guess I need to get off HN for a bit.)
But yeah, I agree - open source contribution is the best way of increasing programming proficiency.
Based on the description in the article, they need the manhole questions more than we do :D
Which is to say that since the Indian education system as described in the article doesn't teach problem solving, and since you want people who have some problem solving ability, you must ask them to solve a problem in the interview.
But, I find the article confusing, it is about how a call centre company is struggling to find people who can't think outside the box... why the heck does a call centre company want people who can think? Aren't they just going to follow the same script day in and day out?? Wouldn't the ability to think for yourself actually be a curse at a company like that???
I read it as them looking for people who can read, write, and converse in English. And that even with many technical graduates, they could only hire 3 out of every 100 that came into the office just to do those tasks.
Besides that, I know from living in the Philippines for six months that a call center job can be like striking gold for people who came up poor. Poverty here is so much different from poverty in the US that it's hard for Americans to understand the motivation of people here. A call center job may suck, but it could be the difference between life in a slum without basic sewerage, and eating at western chain restaurants while texting your friends on your new smart phone. What's basically a birthright in the US is highly prized here.
Very true about the Philippines. However, a crucial difference is that most educated Filipinos have very good English language skills compared to many other SE Asian countries I've been to.
Do people think these kinds of competitions provide a good correlation with what makes an good developer for a software company? I feel like solving a well-defined problem in a limited amount of time is a very different task than, say, architecting a system that will be worked on for years by a team of people, or refining a vague set of business requirements into something that can actually be built, or finding an unreproducible concurrency bug in 1000s of lines of someone else's undocumented code.
By no means I meant that every Chinese developer is incapable of solving problems. I'm talking about my average experience at work.
ACM competitions are in no way indicative of the overall picture. I went to a few of these competitions myself and got my ass kicked by some younger Asian kids. ACM finals represent the top of the top fastest thinking developers you can find. When you have a billion people, you will produce some brilliant ones regardless of how broken the education system is. Plus I bet that
1) Almost none of the finalists went to average schools.
2) All of the finalists practiced solving ACM Archive Problemset day and night (unlike the rest of the students), and probably skipped a lot of the regular classes.
2) All of the finalists practiced solving ACM Archive Problemset day and night (unlike the rest of the students), and probably skipped a lot of the regular classes.
Both times I attended ICPC world finals our team had only practiced once a week for 3-6 hours, but we were much worse than many teams that did not qualify from more competitive regions. The people who are the best at these things really do spend a lot of time practicing, though. The kid who beat Neal Wu at IOI practices 3-4 hours a day.
A lot has changed, and very little has changed. The whole framing for the story -- that one would expect an Indian graduate to be fluent in conversational English and capable of being net-productive in the global economy -- is one way in which a lot has changed. Historically, that has been true for only the tiniest sliver of folks in India.
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 was speaking with a potential client concerning their current outsourcing in India. Not happy with their outsourcing in India, that potential client said "I need people who can think".
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.
First, I was working as a consultant to work with organizations who off-shored there sys admin work. As a consultant I found myself having to document something step by step to the India counterparts. Why on earth does this make any sense to hire such people when I could simply do it myself? I've looked at the costs and they could hire one good on-site consultant for the price of 3 bad Indian ones. This is the age old consulting/outsourcing paradigm of "let's just throw more bodies at the problem"
Second, the expensive Indian outsourcing firms are not advantageous to do business with. (1) What's to stop the employee turnover when these people are sent to the US under H-1B visas? Large corporations (in the US for example) often exploit this ability. (2) What then becomes the cost advantage as opposed to near-shoring it?
I think that's why countries such as a Romania, Hungary, Bulgaria, Ukraine, Czech Republic, Argentina, and Brazil are up next as the areas to blossom for outsourcing. These areas foster strong technical skills (and strong educational systems to back them) and are still at a fraction of the price of their "1st world" counterparts.
I can't claim to be an expert on outsourcing economics but I see and breathe the issues and benefits of it everyday.
Well, I think we're looking at it from different angles.
You see good outsourcing companies as those that have technically competent engineers. That's not how I see it.
I think part of the reason big companies are still outsourcing to India is not because of the low cost of technical competence, but rather, the low cost of process management in developing IT-related software.
For example, when you outsource a module to be built by the offshore team, you may end up with code which is not world-class quality in terms of maintainability or performance, but you will end up with something that matches the requirements you gave. And if something seems out of place, they will be able to trace it from the bullet point in the requirements.doc file down to the module stored in VSS (yes, sadly, probably VSS, not subversion or git), to the unit test cases that cover it in unit-tests.xls.
This is because all the companies that are outsourcing their IT are not doing it in the hopes of getting good code, or because they're not technically competent enough to write the required code (most outsourced code is of the CRUD variety as people have mentioned here) they are doing it because its cheaper than having a whole team to track requirements, and make sure they map to UI elements in the right places and that the code is documented in a way that someone down the line won't be able to complain about it not being understandable, and that the unit tests are in place and all of them are checked-off.
I guess if you're outsourcing work that requires technical competence, maybe you're right about other countries working out better (I have my doubts but don't have any reason to disbelieve you) but I think a majority of the outsourcing success stories (involving India) work because their outsourcing needs have less to do with the actual code quality and more to do with the process involved in writing boring enterprise CRUD apps.
Absolutely agreed -> low cost of process management in developing IT-related software.
The issue I have with this is that success (if you could call it that?) in enterprise IT is driven by both competence in both process management and engineering talent. The paradigm (and the fallacy) of today's IT is that the enterprise sees IT as largely commoditized. What would happen if, for example, a CRUD application was built by developers who understood the benefits of UI/usability and this increase performance/productivity of a salesforce? Naturally I'm inclined to think the 'Enterprise' would simply write off IT's existence ("let's cut costs and send it to India!") and praise the salesforce ("another great quarter of double digit growth")
I think it's wishful thinking, but whatever happened to using to technology to solving strategic problems?
I have an even more reductionist angle: if you look at the success rates of these sorts of IT projects, total failures are somewhat less than 50% but general failures, the latter plus systems that lack significant functions that were part of the requirements are well over 50%.
So you might say that doing this sort of IT is akin to cargo cults: these organizations aren't really doing it, they're just pretending to themselves that they are.
So, if you're going to fail, why not fail as cheaply as possible?
It's not. India in 2011 is the same as India in 2001 is the same as India in 1951
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.
Very good points, put concisely & effectively. Outsourcing and it's impact on technical education in India is a topic that requires a post on it's own.
An important, but tangential point to note is that unlike the US, college education in India does not allow for a student to independently chose his/her major. People join colleges already deciding (without taking a single course) what they plan to get a degree in.
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.
"An important, but tangential point to note is that unlike the US, ...People join colleges already deciding (without taking a single course) what they plan to get a degree in."
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.
No, at least not if the academic advisor knows anything. I was pushed into generals and certain key classes to get an introduction to my major and it's fit. In smaller US high schools there are vocational training paths, however it was limited to welding and nursing where I came from. There's supposed to be the tradition of "Liberal Arts" in the system, where a general academic background is impressed before any specific training.
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.
Isn't that what an index fund is? "Undeclared" stock - you'll get whatever the average of the market is buying.
Just because they're an undeclared major doesn't mean they're not learning anything. You still take courses for those first two years - you just don't know what they're leading up to. It's not all that unlike founding a startup knowing that you'll have to pivot to get to a viable product.
(I was a de facto physics major for my first 3 semesters, switched back to being actually undeclared for my 4th (flirting with philosophy and sociology majors in the process), actually declared as a physics major in my 5th, and then switched to a CS major in my 8th and last. Just because you think you know what you're doing doesn't mean you actually do.)
You can change degrees fairly easily but, depending on the requirements for your new degree, you may have to fulfill a number of additional requirements. For example, if you are going to a large public university and are in their engineering program studying for an electrical engineering degree, you can switch over to computer science with very little difficulty. However, if you are in the liberal arts college studying philosophy and want to switch to computer science in the engineering college, you will often have certain minimum requirements to be accepted into the college (much like if you had applied from outside).
Overall, though, US universities and colleges are very flexible compared to other countries. Probably why they are so popular with foreign students. :)
Another data point here: my first year of studying electrical engineering was almost exactly the same as the freshman year of someone studying any engineering field, and it's common for people to switch majors after one or two semesters. If it's a switch from one branch of engineering to another, it's pretty much effortless.
I hear that things are similar in other majors: if you're switching from one major to another that's fairly close to it (e.g. from molecular biology to botany) it'll be pretty easy. Longer jumps are more difficult, especially if you're going into a major with long prerequisite chains, like mathematics.
That's kind of the point I was trying to make in the initial post. The first one to two years in engineering schools tend to be very similar across majors. Physics, Chemistry, Mathematics are all required. After about your sophomore year, you will be adding quite a bit of time to your college career if you decide to switch.
It is my understanding that at top schools like MIT at Berkeley, EE and CS are actually combined into a single undergraduate degree.
e.g. "The Berkeley EECS major, offered through the College of Engineering (COE), combines fundamentals of computer science and electrical engineering in one major."
This is the old debate of whether CS should stand for Computer Science ( chips / signals / digital electronics ) or Computing Science ( algorithms / language design ).
Even in Canada, liberal arts students don't have to declare a major until they're a couple of years in. However, for STEM degrees you've generally got to know where you want to go by the end of high school, or by the end of freshman year at the latest.
Of course, in the US and Canada you can generally switch programs in midstream. That may not be possible in India.
It's not necessarily true. There are a lot of people that take mainly "general education" classes that are required to graduate during the first two years, or alternatively get an associates degree first. Also, given that you're not in a particularly demanding major (like the max-unit engineering degrees) and have a lot of electives, you're not out a lot of work by changing majors within your first two years. Most majors don't have chaining dependencies that take the full four years to complete. For my degree, there was a set of 8 classes that were required to become an upper-division student that only had a 3 semester-deep dependency chain (let's use a computer -> object oriented programming -> abstract data types), and then upper division had around 8-10 classes, and there was only a 3 semester-deep chain (data structures -> processor design -> operating systems). The number of classes you can take per semester is the limiting factor.
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).
As someone who knows nothing about the Indian education system, can you clarify? Do Indian children have their major chosen for them via parents, tests, or administrators? Or do they decide on their own focus, but prior to college?
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.
As stated above, most colleges in India do not allow you to pick subjects and customize your course. Thus, all you chose is a 'major' (the degree) and the rest (the subjects and curriculum) has been chosen for you by the college.
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.
But this won't solve the problem, does it? This will actually make it worse and lead to unhappy/tired generations. I'll actually sensibles people and push them to make a revolution.
Is it? I think distribution is more the issue. We shouldn't underestimate the paralyzing impact pervasive bureaucracy and corruption can have on an economy.
>As stated above, most colleges in India do not allow you to pick subjects and customize your course. Thus, all you chose is a 'major' (the degree) and the rest (the subjects and curriculum) has been chosen for you by the college.
>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.
This is exactly the same as in britain. India inherited most of it's bureaucracy from britain.
I think it is exactly the same in most/all of Europe. And let me say that I think that's a good thing, but I'll get to why.
Let me give Portugal as an example, as it is where I live...
By the start of the 10th grade we had two major choices for the next three years, either go to a "professional school" or to a "regular school". Neither blocks access to the university, but the regular school's curriculum is mostly tailored towards it, as the professional schools are more tailored to just finish 12th grade and go work somewhere.
By the end of the 12th grade you must choose what course you want to take at the university. I chose Computer Science/Computer Engineering (a 5-year course).
The first three years of a course like this is a pretty inflexible curriculum (maths, physics, programming, miscelaneous computer science stuff, electronics, some history). The next two years are more flexible, you can choose your courses, but within the computing subject.
Nothing stops you from learning stuff from whatever subjects you like on the side. But the (mostly) fixed path means that someone who graduates from a CS/CE course (or any other) really knows something about CS/CE (and not only the subjects he/she deemed interesting enough to enroll in).
This means you don't end up with computing people that never used a functional programming language (or don't even know what the hell that is), or don't know how regular expressions actually work in a formal setting. They may choose to forget about it, or never actually need it, but they will be better professionals because of it. $DEITY knows that I took a lot of uninteresting courses in college, but sometimes that knowledge comes in useful in weird ways.
Flexibility is just fine if you have the discipline, but it is a killer if you really don't know what the hell you want.
But was it that way in Britain before India became independent in 1947? I thought the British "slot everybody into a job" system was part of post-WWII socialism.
Modern British universities have always required you to 'read' a particular subject. The major change after WWII was to make them available to more people by changing the funding model rather than the educational system they provided.
The move to vocational courses for things outside the obvious (such as medicine) is a more recent phenonemon, in part bought on by large numbers of people going to university as it is the 'done thing' rather than by a desire to be educated, and in part by a return to a funding system requiring the students to pay for the education and wanting something tangible at the end of it (a job).
Parents choose based on what they think is the safest option for their kids. To put the blame entirely on them will not be fair. One of the most interesting things I find about the American way of life is, people start taking up jobs from a very young age. IMO this helps them explore options and also discover their own interests and even aptitude for a particular line of work.
Also in the Indian way of life hobbies always come second to academics.
Nowadays, more and more Indian parents seem to be receptive of "unconventional" career choices. Not saying that it's common, or that most don't push their kids towards engineering/medicine, but the situation seems to have improved over the last decade or two. However, you still hear tragic tales of kids who were forced into a field in which they hold no interest.
They typically take a test. The choice of majors is pretty broad for those who place first. They end up taking CS, EE and other popular majors. Those who placed in the 2000+ ranks get to pick from an increasingly smaller pool.
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.
> Do Indian children have their major chosen for them via parents, tests, or administrators?
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.
> Parents. Their future job is usually decided for them before they're even born.
This is patently untrue. Parents usually have high expectations of stable, well-earning jobs, but in no way decide before they are even born. It might apply to the minority of businessmen who insist that their children carry on the "family business", but even that is rare.
> 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.
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.
As the price of talent in India continues to increase, the problem may be that these companies aren't willing to pay the new premium for the same talent they used to pay less for pre-offshoring boom in India.
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.
Kind of. If the call center started paying dramatically more, it would solve its hiring problems overnight. In fact, customer service quality would go through the roof as IIT grads and extremely smart folk joined.
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.
My disagreement with this perspective is that demand is measured in dollars, not desire. The perception of a problem in the supply pool is a problem with the quality expectation (or need) per dollar of salary, rather than a problem in the workforce itself.
I think that programming is just at a difficulty level where employers really either have to spend the money, or realize that their business model really isn't viable if it depends on a large supply of competent $36K programmers.
Out of curiosity, who is India's "India" for even cheaper outsourcing?
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.
As somebody who has experienced the education system both in India (Bachelors in CE from a decent, but non-reputed school) and US (Masters in CS from a very good school), here are my thoughts on the article:
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.
Guys, lets all use the Google redirect when we provide massive value to large for profit companies.
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.
I ran a startup in Kathmandu, Nepal for 4 years (www.olenepal.org) and this mirrors my experience there. The modus operandi of Nepali Schools is the "the teacher speaks and the kids repeat." this means that you can't judge applicants at all by their educational background. The best ones I had were almost entirely self-educated. Also, I think I found that only one in 50 applicants were worth hiring.
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.
Do (great) software engineers in Nepal really make 100k/year? Because I imagine that would mean a lot higher standard of living that it would in the US?
They do make 100k a year but typically after moving abroad. In my anecdotal experience, 90% of the "great" Nepali sw engineers emigrate. I do think you will see some move back and take high-paying contract work w/ them to Nepal. However, this depends on whether Nepal's political/economic climate stabilizes. By all accounts, the current situation is a mess and worsening.
The article clearly explains the current situation in India,
I am an Indian myself. I graduated two year back from a decent engineering college.
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...
Part of the problem is a social and cultural system where due to the success of IT industry, every parent wants to see their kid become an engineer. Many of the engineering colleges do not even take minimum tests for admission and you can buy seats on so called management quota. Even in premier institutes like IITs, NITs etc 30% of seats are reserved under SC/ST caste based quota scheme. It is no wonder that majority of people who are graduating are not employable. The article is well sourced but ignored some of the social and political issues in India which are the root of the problem along with a dysfunctional government.
We do it differently. In a traditional bribery situation, one bribes the official to get a specific "exception" through. In the US, we declare that we aren't paying umpty-thousand dollars a year so that Johnny can get an F and that our contributions to the college will be going down if this continues, and in the spirit of American egalitarianism and fraternity, we lower the standards for everyone. Basically, we've collectively bargained the bribery rather than doing it on a per-student basis.
I'm not entirely clear myself on the exact breakdown of truth vs. sarcasm in the preceding paragraph.
Maybe you should stop trying to be sarcastic, then?
Please don't take that the wrong way, I've got nothing against you personally (I've read some good posts from you, IIRC), or even with that particular post - it's just the straw that broke the camel's back. I just read a large thread on programmers.stackexchange asking whether IT job requirements are customarily exxagerated, and the answers were distressing. Firstly because most replies painted a bleak picture of HR practices, but secondly because most had a jaded, cynical tone which made it impossible to guage the sincerity. Or whether all the upvotes were from genuine empathy/agreement, or just amusement at the sarcasm. It gets really unclear.
It's like having two angels on your shoulders, one saying 'these sagacious persons have just offered a terrific insight, you must act upon it,' and the other saying 'these people are just trying to sound cool, of course the real world doesn't work like that - ignore them.'
Unfortunately, I do seriously think the truth percentage is quite significant or I actually wouldn't have posted it. Grade inflation at lower levels of education have different forces in play, but at the higher end it is my serious opinion that it is mostly the colleges/universities giving the customers what they want. Calling it bribery is a bit sarcastic, but even ten years ago I could see professors on low-level classes struggling against grading fairly vs. the knowledge that if they did they would actually be overruled by higher levels of the organization over concerns about monetary implications. (On the positive, I did see one mass-flunking for cheating on a computer science 101 course, though, and it stood.)
I teach college in the US. I have never been offered a bribe. In fact, I've never heard of anyone even attempting to offer a bribe.
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.
Can you be sewed for discrimination or violating grading policy. I am sure your grading policy doesnt say you can give arbitrary grades. Just curious, drop me a reply at soumya.5200 (@) gmail
I used a mechanism that was outlined in the syllabus. My understanding is that the syllabus is a legally binding contract, so no.
I'm not going into any more detail than that. I'm sure you didn't mean any harm by it, but it creeps me out a little when internet strangers start asking for information about how I could hypothetically be sued. I'm not a lawyer, and I'd rather not be surprised to discover there was some wacky clause of a law I wasn't aware of.
Anecdotal evidence: My brother was doing a PhD at Yale and was a TA for a 1st year chemistry class. He was marking papers and gave a few of them an 'F' because they were terribly done. The professor told him to re-mark them because the school motto is "You don't fail at Yale"
I had a professor once who had did something vaguely similar, but actually helpful: if you did badly on a paper, he wouldn't mark the grade on it. Instead he would write "Please see me after class."
After class, the (usually slightly terrified) student would go and talk to him -- and this guy, bless his heart, would do his best to figure out what the problem was, and how to get that student back on track. It worked, too. For a lot of students who get demoralized and let their studies slip, it's enough just to know that someone in charge cares about them, personally.
Ever since then, I've always thought that was how it should be. Grade adjustment is a pretty sad substitute.
Well cheating was pretty rampant where I studied computer engineering, and I would guess that it isn't much different elsewhere. More important, though is that kids in America aren't learning any more that kids in India, albeit there are probably more students in technical degrees in India. Look here, though: http://www.insidehighered.com/news/2011/01/18/study_finds_la...
Just because something can happen anywhere does not mean that they happen to the same degree. India has a corruption perception index of 3.3 (out of 10) in 2010. Below even countries like China and Columbia. The effect on education is just one ramification of corruption. It is overly dismissive to make the claim that 'well corruption happens everywhere'
To me the most disturbing thing as described in the article is that despite an emphasis on rote learning, they can't even teach how to read.
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
The basic problem is that instead of focusing on improving one's skill set, the focus is more on hacking the system; getting that job or admission into a college. I have seen how resumes were photocopied from a standard template with only personal details changed. Also most of the answers were canned and memorized based on what the interviewers would like to hear. I am not sure if this happens across the globe,perhaps someone can comment.
Also most of the engineering entrance exams test on math, physics and chemistry. A lot of the graduates come from areas where the standard of english teaching is not very high, which explains why they may have poor comprehension.
Something that is not mentioned is that the options in terms of higher education is mostly limited to engineering and medicine, at least these are the only socially acceptable degrees to a large extent. So virtually everyone ends up doing an engineering degree and it becomes a situation where there is quantity but no quality.
Yeah, I disagree with this post a lot. Unless you're typing out Java factories by hand with no IDE support, any speed approaching touch-typing is going to do you fine. 70 words per minute is not necessary.
I think the main difference between India and, say, the West (US/UK) is that in India, students pick a profession based on the earning potential, or what their parents what them to do. Very few people pick it based on what they want to do.
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.
Its not the educational system that is the main reason here. Well the system needs to change but the problem here is caused by the proliferation of engineering colleges (and other technical degree colleges). Its too easy to start a engineering college in India. There are way too many "engineers" and degree holders pushed out that don't deserve to get that degree. The schools only care about getting money and are really shitty. That is what is making for the influx of poor candidates into the employment pool.
People are educated in India. That doesn;t mean they have to speak English or be able to read English books. English is not the native language for many school and college going people and their education have been through vernacular medium schools. Its how sharp they are that matters. Teach them English properly and they will be able to grasp that too! This articles tries to judge students based on "So few of the high school and college graduates who come through the door can communicate effectively in English, and so many lack a grasp of educational basics such as reading comprehension, that the company can hire just three out of every 100 applicants." which is ridiculous!!
I had a couple of Indian grad students in my office last Fall who were seriously distraught that they were getting an A- in one of my courses. They thought this would prevent them from getting a job. I tried to disabuse them.
The problem seems to be poor communication in English and lack of a grasp of educational basics such as reading comprehension. These are problems to be addressed at the high school level.
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).
I have my doubts about the quality of computer education imparted by the likes of NIIT. Years ago, one of my non technical friends wanted to join a C/C++ course at one of their centers. Their claim was they'd teach him both in 6 months, part time. I tagged along with him on the first day and was generally trolling around, asking their faculty if they teach Assembly language. As expected, not one of them had heard of it. One of the more ludicrous responses was something like "What's assembly, is it something like pseudo-code ?".
Being an Indian, I agree that it is a mad race & it is very tough to identify the right guys in the vast pool of students coming out every year.
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.
Indian who finished Engg in CS (from a less known university) here, I can pretty much attest to the story. Some facts that I want to state are below.
#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.
#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.
--
#1. Reason: Most of the folks joining (CS in) Engineering do so due to parental/societal pressure.
--
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.
It was medicine and engineering 5-10 years ago, now it's MBA. Everyone wants to do whatever is currently hip or what their peers are doing. The society here is breeding passionless robots.
Here is what is wrong after having been taught in a decent engineering college in India.
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.
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.