As an Indian there are reasons you can point out for this.
Education:
Engineering syllabi are pretty outdated. And due to a work-just-enough-for-month-end-salary mindset, professors are against being up-to-date. As a result, everywhere but in top notch colleges, quality of teaching is piss poor.
The "Rat Race":
There is no better word to describe this. 90% of people who enter computer science / engineering courses don't have any interest in computers. They enter because they scored well in entrance exam (which can be games by studying some books relentlessly for some years), and since Software is still one of the highest paying fields. And quite some of them continue their relentless pursuit for a good "package" by grinding Hackerrank / leetcode. It is literally a rat race.
The same mindset will create an impression that being a manager is superior to being a programmer. Because you are "managing" people. These people do all kind of office politics to become manager, and spend rest of their life ruining someone else's life.
You can't expect these kind of people to love their job or even do it properly.
Hierarchy:
Related to above point, in India, you don't oppose or even question an upper officer or elder's decision, because ELDERS ARE ALWAYS RIGHT HERE IN INDIA. That's why so many people want to be manager.
Lack of interest in improving education:
In many Indian engineering colleges, one year is wasted teaching theoretical subjects like chemistry and physics. No computer science related subject except basic C Programming (Lol not even malloc() and free()) are taught. This appears to be purely done in order to provide jobs for people who had studied these subjects. While teaching these subjects may have marginal benefits, they are outweighed by pure rote learning oriented assesment sysem and wasting one year of CSE programme. That's a bad trade-off for someone interested in CS. All entrance exams are based on Math/Physics/Chemistry and we have learnt enough of that. STOP the old age tradition.
If the chemistry they teach in last two years of high school (called pre university here), which is quite high level, qualifies for entrance exams, Computer Science should too. No I am not telling this because it is a programmers forum. But CS taught in pre-uni (optional subject) is more essential and often more helpful than chemistry and half of physics taught to these grades. But chemistry is compulsory for some legacy reasons. There is no interest to change that.
Your generalization of Indian colleges is not right.
India has a lot of Engineering students.
There are around 60k students joining Tier 1 colleges every year in India (IITs, NITs, etc funded by the Central Government alongside some private colleges like BITS). Very few students from Tier 1 colleges join these consultancy companies. Most of them studying CS from these colleges join product companies like Flipkart, Swiggy, Paytm, Amazon, Microsoft, Uber etc.
Consultancy companies get students mostly from 2nd and 3rd tier (mostly private) colleges. Pretty much all these colleges are in a very bad shape. I think there are over half a million students enrolled in these colleges every year. Students still go to these engineering colleges since the education is not as expensive as in the USA and it's what pretty much everyone do after high school. If it was USA they would have just left college altogether instead of wasting money on a terrible college.
Sure, the quality of education of Tier 1 colleges can be improved a lot as well. But generalizing the entire Indian engineering education as the reason why these consultancy companies are doing poor is not correct either.
Yeah. Tier 1 colleges. Tell me more about NITs and IITs.
I study at a so colled top college. Where highest placement is always around 50-60 LPa. That doesn't mean teaching and other things are good (sure better than average, but that's not what I call 'good'). The highest placements are more because of students and a FEW professors who actually happen to be passionate.
But in the entire class, there are less than 15% of people who actually have interest in CS or Programming. Many came through good scores in entrance exams (myself included) and many through management quota (i.e Paying the institution heavy sums). While the first group has some people who like programming and CS, it also has more number of people who just happened to get good scores because of relentless studying and practice, then took CSE branch because placements.
I don't think NITs and IITs look much better these days. I attempted JEE but that was really hard to get an NIT without studying hard for 2-4 years. People who have money take coaching classes and study for JEE exclusively, but a rural student like me can't do that. The system is gamed like hell. With the abundance of such coaching kids, I don't think IITs and NITs can keep their previous charm.
Here is a paper on the Joint Entrance exam (JEE) tragedy:
I dont't really understand what point you are trying to make. Nobody is saying all the students in top tier colleges studying CS are super passsionate into CS. Some are. A lot of them are not.
My point is that tier 1 colleges produce a lot of good programmers. The reason why they are good at programming can be because of high salary expectations, peerpressure, parents, status, passion, etc. I honestly couldn't care less as long as they do their job. The reason why companies like TCS/Infosys are bad is not because tier 1 colleges produce programmers that are not passionate about CS. It's because India has way too many Engineering colleges that is of abysmal quality. And those colleges accept students who otherwise would not have gotten into any decent engineering colleges
> Many came through good scores in entrance exams (myself included) and many through management quota (i.e Paying the institution heavy sum
I don't think there are any tier A colleges that takes money for accepting students. Highest package is not really what is used for defining tier A. What I meant by tier A are centrally funded colleges like IITs, NITs and really good private colleges like BITS and IIIT-H(not SRM, MIT etc). None of them take students by accepting money. If the college takes students by accepting money then it is definitely not tier A.
> The system is gamed like hell. With the abundance of such coaching kids, I don't think IITs and NITs can keep their previous charm.
Sure. The system is gamed. But it's still a fair system. The rules are same for everyone. You are measured by the number of correct answers you circle in the paper. Nobody cares about who your parents are. Nobody cares about what you wrote in your essay. Its a hard competetion. But it's a fair competetion. There is reservation at play for students from backward castes as well but lt's not get into that. Some would say it's good. Some would say it's bad.
> I dont't really understand what point you are trying to make.
That the quality of NIT and IITs are decreasing. I have seen a lot of previous generation people who studied in IITs and have stellar achievements. But I don't think the same will be true for current crop of IIT and NIT students. To be clear, I won't be judging those people who are of my own generation, but this is a disappointment about how artificial the entry to these institutions has become. How many of them will be mechanically grinding leetcode as compared to their previous generation?
Increasingly so in recent years - the year I wrote JEE mains, the paper was much more susceptible to 'tricks' and 'shortcut formulae' taught by coaching institutions, than the previous years.
At this point, I have heard IIT professors expressing discontent about the coaching center crap. I don't know how you think it is still a fair game.
> I don't think there are any tier A colleges that takes money for accepting students. Probably explains why your batch had a lot of CS students who were not any good.
Fine, what defines tier A? I also mentioned lot of them with high state-level entrance exam scores are not "Good Enough", too.
In what I have seen, those people who do well in exams solely due to peer pressure and high expectations, don't very well understand the concepts. I have seen so many such book-worm topper kids not properly understanding recursion or algorithm complexity.
60k from tier one engineering colleges. It includes all branches. Not only CS students. Similar number to the number of students enrolled as undergrads in entire engineering colleges in USA.
The number of engineering students enrolled in India as undergrad is around 350k (It's not over half million. My bad).
So students from tier 1 colleges makes about 17%. That's not a small fraction that can be ignored.
Statista says that CS in India is 880k + 660k of Electronics Engineering (CS adjascent field). That's 1.54mil students in the field that we are talking about.
60k of tier one - are fairly smart and probably half of them are brilliant and passionate(being very generous here). They are the outliers that prove a point.
That said - 4 year degree shouldn't be a requirement in software engineering. It's a very poor quality marker
These consulting companies are often referred to as "mass recruiters" in most engineering colleges. I went to one such school too, and the the qualifying test/interview was a couple of CS101 questions, and was the default option of employment for anyone who wasn't joining any other organization (this also included good mechanical, chemical and civil engineers with little to no CS background, but the market had slowed down at the time, and they had to resort to IT jobs).
This might not be the case for every firm or client, but I hear a lot of my friends complaining about there not being very little work, and if you're someone competent enough, you can complete a day's work in an hour and play Fortnite for the rest of the day.
> The "Rat Race": There is no better word to describe this. 90% of people who enter computer science / engineering courses don't have any interest in computers. They enter because they scored well in entrance exam (which can be games by studying some books relentlessly for some years), and since Software is still one of the highest paying fields.
I've seen this a lot, especially in ODC parts of Capgemini, TCS, Cognizant etc - it felt like only a very small number of people actually wanted to be developers or even architects; everyone else just wanted to be "a manager".
I'd asked about this strangenes, and Indian friends told me that managers were seen as superior, and even their families would push them to become managers.
You see this everywhere in the world. I've worked with a huge number of Americans who went to school for anything but computing, would rather be doing anything but computing, but realized that a six-week crash course in web development would literally quadruple their salary. Many of them go on to embrace computing, many of them turn out to be good developers, and some even become passionate, but they all start out by abandoning their dreams and chasing the quick buck.
Tech and finance eat all the smart people. There are unlimited tech jobs, but only so many jobs for physicists, chemists, professional musicians, teachers, lawyers, etc. And the vast majority of them pay a lot less than tech and finance.
Difference is, a lot of these people wouldn't get jobs as junior devs in the west, and if they did, there just wouldn't be so many "natural" opportunities to move into management. Whereas in India, the big outsourcing firms need such a large quantity of people every year, that thousands upon thousands are hired and placed in junior dev or test roles. And because these orgs are so large, there are many layers of middle management, and plenty of opportunities.
I don't think this is true at all. The tech bubble in the West is huge and claiming junior devs in the West are anywhere less afflicted by the rat race syndrome than India is outrageously false.
The tech bubble in the west is bug, sure - but that's not the same as organisations with 100s of thousands of employees selling bodies as cheap as possible.
Furthermore, it's naive to think India is the same as western countries - it's a huge country with it's own unique culture (cultures, really), history and languages. For many Indians, software development isn't seen as professional career path; a dev job is little more that a vehicle to becoming a manager. And being a manager, in charge of people, elevates your social standing, to a position of kudos and respect - that doesn't happen in the west.
> everyone else just wanted to be "a manager"...I'd asked about this strangenes
It isn't strange in the slightest. If you look outside tech, you'll find this in every industry in every country. Everywhere in the world the person in charge is more respected and better-paid than the person doing the work. And it's always been this way. Tech, and software-heavy tech in particular, is the outlier.
> ELDERS ARE ALWAYS RIGHT HERE IN INDIA. That's why so many people want to be manager.
I think it's because managers get paid more money and have more respect. People wanting to be manager (or chief, captain, general, shaman, headman, minister, consul, cardinal, king, nobleman, judge) isn't a unique feature of any single culture or organization. It's a universal drive across every culture throughout history.
Regarding the lack of secondary level CS education, it is a problem everywhere. You have to be passionate about teaching CS because practicing it is so lucrative. There's a global shortage of CS teachers especially at the secondary level.
Education: Engineering syllabi are pretty outdated. And due to a work-just-enough-for-month-end-salary mindset, professors are against being up-to-date. As a result, everywhere but in top notch colleges, quality of teaching is piss poor.
The "Rat Race": There is no better word to describe this. 90% of people who enter computer science / engineering courses don't have any interest in computers. They enter because they scored well in entrance exam (which can be games by studying some books relentlessly for some years), and since Software is still one of the highest paying fields. And quite some of them continue their relentless pursuit for a good "package" by grinding Hackerrank / leetcode. It is literally a rat race.
The same mindset will create an impression that being a manager is superior to being a programmer. Because you are "managing" people. These people do all kind of office politics to become manager, and spend rest of their life ruining someone else's life.
You can't expect these kind of people to love their job or even do it properly.
Hierarchy: Related to above point, in India, you don't oppose or even question an upper officer or elder's decision, because ELDERS ARE ALWAYS RIGHT HERE IN INDIA. That's why so many people want to be manager.
Lack of interest in improving education: In many Indian engineering colleges, one year is wasted teaching theoretical subjects like chemistry and physics. No computer science related subject except basic C Programming (Lol not even malloc() and free()) are taught. This appears to be purely done in order to provide jobs for people who had studied these subjects. While teaching these subjects may have marginal benefits, they are outweighed by pure rote learning oriented assesment sysem and wasting one year of CSE programme. That's a bad trade-off for someone interested in CS. All entrance exams are based on Math/Physics/Chemistry and we have learnt enough of that. STOP the old age tradition.
If the chemistry they teach in last two years of high school (called pre university here), which is quite high level, qualifies for entrance exams, Computer Science should too. No I am not telling this because it is a programmers forum. But CS taught in pre-uni (optional subject) is more essential and often more helpful than chemistry and half of physics taught to these grades. But chemistry is compulsory for some legacy reasons. There is no interest to change that.