Hacker News new | past | comments | ask | show | jobs | submit login
The most prized degree in India became the most worthless (restofworld.org)
395 points by danso on May 12, 2020 | hide | past | favorite | 377 comments



> 3,500 engineering schools across the country, and about 90% of graduates do not have the programming skills to work in software engineering, according to one study.

The "study" is by 'Aspiring Minds' - an Indian company that sells buggy web-based pre-interview filtering tests as a service. It is in Aspiring Minds interest to portray Indian graduates as incompetent to make Indian employers buy their pre-interview filtering services.

Aspiring Minds tested engineering students from all fields (including chemical, mechanical and civil) to make up the misleading '90% of Indian graduates are stupid' headlines. It worked. The headlines went viral and people still quote their misleading study. The coding part of the test was to submit compile-able Java code through an HTML input without any syntax highlighting or formatting. Needless to say most chemical and civil engineering graduates will not be able to do that.

I was a CS student at an Indian engineering college. I was forced to take an Aspiring Minds test. The test was buggy and had no feedback. I probably failed. But today I'm a full-stack developer in Denmark. Most of my graduating class have good jobs and almost half of us work overseas.


Ha I was given one of those when I graduated and interviewed for some random firm (in US), I don't know if it's Aspiring Minds but it was clearly from India. They really go to an extreme length to monitor the tested and I felt very uncomfortable during the whole thing.

The camera's on, Document.hasFocus() is obviously also on, I use multiple screen and you can't move your mouse out of that screen. The test questions are repetitive recital garbage that ask you to recite java syntax and concepts. All in all I would judge it as a complete failure in selecting for technical talent.

All you need to prepare for this is to recite some book about locks or thread and names. And have the coding ability to write hello world level programs in Java without a linter or autocomplete, god forbid you forgot how to use Scanner interface.

I might sound salty, but I didn't need that job and I'm in a much better position today. My opinion is that those filtering tests are loads of crap.


> But today I'm a full-stack developer in Denmark.

Would you mind sharing more details about this? Were your recruited or did you seek out overseas employment?

I'm Indian but in the US since a young age; I'll be finishing my CS education next year and would like to leave this country.


Europe is pretty welcoming. There is a huge shortage of software engineers (of acceptable quality) here.


More precisely: a shortage of software engineers willing to work for low wages. Its far more interesting to move into management roles overhere. Tons of devs leave for the US if they wanna stay in software. Germany and the UK have most chance of solid pay. It is a public secret that Indians are recruited simply because they are not as insistent on making 60k+.


Well it is also true that wage are lower than in the US. So if you are young without many families bonds makes a lot of sense to seek employment oversea.

If Europe started to pay better money, then there would not be such lack of engineers.


Gonna defend Europe a bit more here, I'd wager there are soft benefits which aren't as easily appreciated as cash. On Europe you make less, but you also get out of the meat grinder much earlier. If you are a median person (which most likely, we all are), then your expected value will be about the same, at most a bit lower cash wise than in the US. But even that is debatable, in most of (western) Europe we don't treat active shooters as a matter of normal life, the cities are made for humans not cars and employee rights are a thing. And looking at the worst case, Europe wins: a medical emergency will not bankrupt you, if you call the cops they won't shoot you etc. And on a political level, having more than 2 parties and a wider overton window is quote nice.

If you think of yourself as a human and social being, not a shark or worker bee, I think Europe isn't too bad. But I recognize that dollar amounts and funding for new ventures is still in the US, or China nowadays. And all the stuff I cited are things at odds with the pure capitalist system some people seem to want to live in, and so might not actually be desirable for all


I expected this kind of lazy analysis to appear on Reddit but not on Hacker News.

> If you are a median person (which most likely, we all are), then your expected value will be about the same, at most a bit lower cash wise than in the US.

In my experience wage offers were significantly lower in Europe when I was potentially looking about a year ago. levels.fyi seems to be pretty in line with my pay experience in the US and that’s not anywhere close to the pay I was offered or researched in the EU.

> Europe we don't treat active shooters as a matter of normal life

People in the US certainly do not treat active shooters as a matter of normal life. Have you ever considered that it makes the new explicitly because it’s a rare thing that people do not expect?

> the cities are made for humans not cars and employee rights are a thing.

I think you would find that most technology companies are in cities with walkability/public transit in the US. I think you would also find that software engineers are not treated poorly as well.

> And looking at the worst case, Europe wins: a medical emergency will not bankrupt you

Medical insurance at tech companies I’ve worked for in the US are very good. For example, I pay $20/mo and the theoretical maximum I would pay for insurance in any given year is $3000.

> if you call the cops they won't shoot you

Again, I think you’re treating news as proof that this is a common occurrence. It gets reported explicitly because it is not

————

I’m not saying the US is perfect because it certainly isn’t. No place is perfect. But, I think that you would find that the US is a very nice place to live for the upper half of the middle class and above and software engineering would definitely put you in that category in the US.


Wow, just wow! Unfortunately I did expect your response from the HN crowd. You and I have very different ways of looking at the world.

The entitlement and privilege among software engineers in the US to have crazy high salaries and "perks" such as health insurance is exactly the reason why I will never move there. I think your last statement sums up the situation very well, but it baffles me how any decent human being would consider that to be a positive.

You may think I am crazy, but did you know that insanely high salaries of a select few is one of the reasons that directly or indirectly leads to income and wealth inequalities in the world, one of the biggest problems of our generation? While you may have excellent health care for $20/month, what about the barista at your local coffee shop? What about your disabled neighbor who got laid off for no fault of hers? How can you live with yourself while they die of cancer as they cannot afford to go to the hospital? And don't get me started on education. How that is viewed as a commodity rather than a basic human right astounds me.

I am very happy with my $60k/year job. I have more than sufficient for myself, and a decent amount to spare. I have excellent healthcare for free and independent of my job situation, and so do all my neighbors. I live in a city with no homeless, and no one desperately poor. I do engaging work for 7 hrs a day and religiously shut my computer at 4 pm, and pursue my many passions afterwards. I have 6 weeks a year of paid vacations, and travel to a handful of countries every year. I paid $50/semester to get educated at a top university, and so will my children. And I received a stipend to cover part of my living expenses. I love the fact that I do not have to worry about getting shot (as rare as that might be). I love living in a country with highly educated people all around with most having the skills of critical thinking. I love living in one of the most gender equal countries of the world (I am male). No offense to anyone, but I wouldn't trade this for a $250k/year job in the U.S. (as levels.fyi seems to suggest for my case).


And I could also expect the response to his response by you, probably none other than my own countrymen. (Origin from Scandinavia I assume?)

I moved out from Scandinavia to another country in Asia, with way more safety, better health care, way more educated population, and the added perk that I were offered 2x Salary before tax. Oh and the health care is actually there, not "free" so that people can claim moral high ground while in reality delivering mothers have no hospital to go to and non fatal young ill people are actively shunned away from health care, but it is there and it works for cheap.

You can make any moral or living standard superiority claim if you just cherry pick the stats (as the healthcare example above). As someone that have relatives in US, have lived (study/work) in both Europe and Asia, The North/West Europeans blatant naivety and sense of superiority towards US is shockingly embarrassing to say the least. (and your naivety is offensive, not only toward the US citizen you are trying to smear, but also toward your countrymen that have to live with the facade of perfection)

Edit: typo


I just find that Americans have little understanding on how things run in Europe. But same goes the other way around.

If you want to earn a lot - you go contracting in Europe. I used to save about half of my income when contracting 6 years ago in London. My rate was 470 GBP for 220 days out of the year. My expenses were taxes and 700GBP in rent. I saved 60k after tax... and I used to fly business class to Thailand, NYC and Mexico.

My income is technically higher, but expenses are through the roof. You sneeze here and it's $20 gone.


> did you know that insanely high salaries of a select few is one of the reasons that directly or indirectly leads to income and wealth inequalities in the world, one of the biggest problems of our generation?

Yes, but it's not the engineers and other well-paid workers that are the problem. They are still workers - they get paid for wealth produced. It's the insanely high incomes - which are mostly not salaries, BTW, but capital gains - of the top management and owners where all the money (that would otherwise have stayed in the pockets of those who actually earned it) goes.

Europe patches it up by taxing the entire top half of the scale more, and redistributing it to the bottom half - but it's still a hack, and it still has substantial wealth inequality as a result.


You can earn 250k and donate 190k if you want. 190k per year will go very far. If you don't to whom to give I can send you names of specific people who are struggling at the moment.


If you completely ignore the cost of living - yes, San Francisco offers way more.

Practically - the compensation offered is on par with your expenses, between US and Europe. Some places in Europe are better than others, but same goes for US.

Booking.com in Amsterdam offered me as much as I get in NYC right now.


I find your rebuttal short sighted and frankly immature, no offense.

> In my experience wage offers were significantly lower in Europe when I was potentially looking about a year ago.

They are. But the median wages are good enough to raise a family and have a happy and peaceful life. Not everyone works for the top-tier companies.

If someone's goal is to optimize the amount of money they make and save, then for Tech US beats everywhere. That's not everyone's goal.

> People in the US certainly do not treat active shooters as a matter of normal life.

Agreed, but the frequency of being shot is higher in the US than in other developed countries. That does not mean the probability of a person getting shot in the US is very high, but certainly higher than other developed countries.

> I think you would find that most technology companies are in cities with walkability/public transit in the US.

This is certainly not true. There are some companies, in some cities with high walkability, but that's not true for most companies. Also in such cities, the cost of a home or rent is expensive for a family and so most people have to live miles away.

> Medical insurance at tech companies I’ve worked for in the US are very good. For example, I pay $20/mo and the theoretical maximum I would pay for insurance in any given year is $3000.

What happens if you lose your job? What about for people who don't work at the best companies (majority of the people).

> if you call the cops they won't shoot you >> Again, I think you’re treating news as proof that this is a common occurrence

I agree with this though.

tl;dr: For people who don't prioritize $$$ and want to raise a family without a lot of PITA, Europe is great!


The wages are indeed much lower than in US, atleast for me. However, I work in a company with a proper labour Union (IG Metal). I have 36 hours working time, any overtime will be paid 30% more than normal. I have extremely good health insurance. My kids get free education all the way to university ( and are part of my insurance until 24). The retirement is linked to the government, not the company. 30 days of compulsory holidays. Sick leaves are not counted.

With all this calculated, the salary sort of equalizes itself.


Don't forget in Europe you have between 25 - 30 holidays guaranteed, better health care - people live longer here, much much cheaper education (I had it for free.), better public transportation... And it's also closer to Asia.

Also there's definitely less extremes around. Less of the bad stuff. Less violence, less criminality, less guns, less social disparity, less racism etc. On the whole I think life is better over here.


> less racism

I think this one is much more contentious than the others. The racism certainly takes more latent forms, so it's perhaps less extreme in that sense, but "less racism" to me implies lower in rate of incidence which I'm not sure is true. It probably is true in at least a few European countries compared to the US.


There is definitely a glass ceiling for immigrants/expats in many companies in Europe.


Cost of living is also considerably lower than US. Your employment guarantees are also considerably higher. Let's also not forget that graduates from European schools don't come out with 100k of student debt.

Then... If you really want to make a lot of money, there are options to do so in Europe as well. Though US should just open the floodgates for CS talent and force the rest of the world to catch up.


While the salaries are indeed lower, you should take into account that in the US people almost always report their salary before tax, whereas in Europe salaries are almost always reported after taxes.

An engineer earning 100K in Europe will be listed as earning 60~65K, whereas in the US that engineer would be listed as earning 100K, despite earning the exact same wage.


Not necessarily.


"It is in Aspiring Minds interest to portray Indian graduates as incompetent to make Indian employers buy their pre-interview filtering services."

They really don't need to do anything. Indian graduates, in my experience, have done everything to screw up quality standings of Indian IT education.


"When a measure becomes a target, it ceases to be a good measure."

Churning out engineers as fast as possible and pressuring everyone to become one despite lack of interest just guarantees you will churn out astronomical numbers of crappy engineers.

And I hate to say it... but it possibly creates unintentional racial bias in interviewers because the sheer volume of crappy engineers being churned out from [Indian/Chinese/etc. universities] has preconditioned you to think all engineers from [Indian/Chinese/etc. universities] are crappy, which couldn't be further from the truth.


I've seen this bias in myself. I interned with several guys from India during college. I was an undergrad, they were grad students, having gotten their undergrad in India. We all went to the same university in the US. They weren't "crappy" engineers, per se, they just seemed to not actually have an undergrad degree in CS. Obviously I never saw their transcripts, but we seemed to be working from very different knowledge bases. I've since worked, as many of us have, with brilliant people from all over the world. It just gave me a weird impression of CS education in India. But, I'm sure others have similar experiences of graduates from [random school in the US or elsewhere].


I have a similar story. I used to work with a guy from India, and he told me “If you ever meet an Indian in a position of power, they got there through nepotism and not by their own merit.”

Hearing that was pretty shocking, not so much because it’s clearly untrue, but because he held that opinion of other Indian people. He did fall under the description you gave, though. He seemed to struggle with basic Arduino and Raspberry Pi programming even though he had a degree in computer science from an Indian university.


> Hearing that was pretty shocking, not so much because it’s clearly untrue, but because he held that opinion of other Indian people.

Why would it be shocking for people to perceive nepotism in their own society?


From my personal observation, it seems to be because a lot of sheltered people who grew up in the US tend to assume that the US culture is the epitome of racism, divisiveness, and inequality that is unprecedented in the rest of the world.

So, in their minds, it is very shocking that a racial minority immigrant said something negative about their own culture. Especially since it sounds even worse than their over-exaggerated negative perception of the US.


There's another assumption going on too, which may explain another component of the shock. People educated in the USA and UK tend to assume that both education and work are based on meritocracy. So when a minority from another country points out this isn't the case, and perhaps even not the case anywhere by offering examples, it can be shocking to people who have spent their entire educational and career trajectory in 'the system' which presupposes meritocracy.


Growing up in Boston specifically - there was quite a lot of awareness of the inequality in the US. Boston has certainly made an effort to address inequality but the old racial divides between communities were quite visible and active racism was still all around me growing up.

In terms of nepotism in particular - we had the Kennedy's, honestly not the worst political dynasty in America but a pretty clear example of name trumping qualifications. I've since emigrated, but I think I was probably disabused of any glorification of the land of opportunity and american exceptionalism by the time I finished middle school.


I wasn't saying that racism or divisiveness aren't present in the US. I am absolutely with you on that, both of those things are present in the US to one degree or another, depending on where you live in.

I was simply saying that a significant number of people in the US get so myopically focused on those issues locally, they don't realize that there is a whole world out there, where those same issues are massively more rampant and ubiquitous. And when they suddenly discover that through a first-hand or a second-hand experience, it is understandable they would be shocked.


OP was saying that sheltered Americans think America is racist, but other countries aren't/have fixed it.

Are you providing anecdotal evidence to support him or were you trying to disprove?


Nope actually - I just fully misread his comment and thought he was saying that Americans don't think America is racist.

Sorry about that!


The irony in this is that it's yet another manifestation of the American Exceptionalism myth, merely applied with the opposite sign.

There's other stuff like that, too. For example, many Americans - especially progressive left politically, but plenty on the right as well - appear to believe that single payer is the norm in the developed world, and US is unique in deviating from that recipe for universal healthcare, even when discussing other options. When you tell them that one can opt to go with fully private insurance in Germany, or that Switzerland runs on something like ACA (much better done, obviously - but the same basic principle), it just doesn't compute.

Or gun control: some lefties literally refuse to believe that civilians can own an AR-15 in Germany, or a silencer in UK, or carry a handgun concealed in Czechia, without much trouble.


I mean... They have serious misunderstanding how Europe works and how the "almighty" US can come in 17th place in freedom according to pretty much every single rating.

PS: US doesn't have universal healthcare, but universal healthcare doesn't imply that government must provide the services.


Yes, I know. I meant the ongoing discussions about how it should look like when we do get it. A lot of M4A agitprop is built on that notion that it would be uniquely bad in comparison to other countries for US to go for anything other than single payer.

I get why this is, propaganda aside - the only developed country that borders US is Canada, so their health system is the one that Americans are most familiar with, and the one that's most often used as a prop in political debates here. And Canada is single payer...

But even that doesn't fully explain it. For example, all proponents of M4A in US want to implement it on the federal level. Canadian healthcare system was created bottom-up - started in one province due to popular demand, gradually adopted by others as it became obvious that the benefits vastly exceed any downsides, and eventually the feds stepped into the coordinating role, but provinces still retain the final say as they can always opt out of that federal system. So, why can't US do the same? For that matter, why shouldn't the states be able to decide for themselves whether they prefer the Canadian model, the German one, or the Swiss one - and then we can see which one works better here? I never got coherent answers to any of those questions.


I've realized this as well. It's probably an "overcorrection" of the perceived average (racially biased) image of a people (which guess what, ends up being prejudiced as well).


I think it's the absoluteness of his statement. He basically said there are no Indians who got their role through merit.

That seems extreme.


That's just a guy making excuses for why he isn't in a position of power himself.


[flagged]


We ban accounts that post like this. Please don't do it again.

https://news.ycombinator.com/newsguidelines.html


(Anecdotal counterevidence:) Founder of Omio, Naren Shaam, has a very diverse company.


I posted a comment a while back about this subject and the funny part was I got flamed by a bunch of US based technical workers, while the Indian techies pretty much agreed with me. Anyways the TLDR was I have a buddy Karthick and he is one of the best developers I know. So I asked him one day about why there was such low quality in India and he explained to me it was misaligned incentives due to the fact that, the fastest path to management is via a tech degree. So India is churning out a bunch of want to be MBA's with tech degrees that are just doing their time in tech to get to management. He said it was a hold over from the cast system and that you are held in more esteem in India when you manage more people.


> He said it was a hold over from the cast system

I was with you until the "cast (sic) system".

> you are held in more esteem in India when you manage more people.

You can replace "India" with literally any country in the world. Managers and bosses always are and always have been held in more esteem than leaf node workers, in every society past and present. It's got nothing to do with the caste system.

Personal anecdote: I caught up with an American friend from school after about 15 years. He worked in some kind of product/project management role. When I told him I was an engineer in the Bay Area he said "Oh, you're just a programmer?" (OK so he wasn't a great friend, and that was the last time I spoke to him...)


> You can replace "India" with literally any country in the world. Managers and bosses always are and always have been held in more esteem than leaf node workers

This is true to a much greater or lesser degree depending on country, though. Here in the US you can be a really senior leaf node software engineer with fancy titles like "Staff" or "Senior Staff" or "Distinguished Fellow" and command tremendous respect and compensation.

That doesn't exist in some other countries. I was talking with an Italian friend once who works at a bank over there as a programmer, and seniority was exactly the same as how many people you manage. It was a contradiction in terms as far as he was concerned to be a senior software engineer if you weren't at least managing a team. The first question he asked when I was talking about my job was "How many people do you manage?", and when I responded zero, he immediately thought I was low level (I was not). Everyone aspires to be a manager over there.

My anecdote isn't exactly the opposite of yours, because in mine it's programmers themselves that are assigning status based on how many people you manage, whereas in your anecdote it's someone in an outgroup.


"Staff" and "Senior staff" and such are only recognized by ingroups. And often you need to be a staff level engineer to even begin managing people in tech.

In most industries that aren't tech, compensation and prestige are directly proportional to how many people you manage. Only in tech can individual senior engineers have impact that justifies the high pay without managing people.


Consultants, lawyers, physicians, engineers, architects, designers, board members... lots of occupations with high status and/or pay without managing people. The 'how many people' you manage metric is just a heuristic, and maybe believed by people stuck in the middle of business hierarchies.

Agree on 'Staff' and 'Senior staff'... military terms that never caught on generally. Not sure why they have started being adopted by some companies... I guess in larger companies people want their hierarchy and pay scales and whatnot.


I'll go by them in order:

> Consultants

A term so generic as to be almost meaningless. It can apply to an Agile coach, an Ivy League fresh grad billed at $1200/hr by McKinsey et al, or a programmer with an LLC and some marketing skills. These all vary widely in prestige.

> lawyers

Ditto. No one is impressed by a poor ambulance chaser or public defender. Judges, senior partners at big law firms, senior corporate counsel, DAs and attorneys general - those are lawyers people generally respect. And they all have authority over people and laws.

> engineers

Depends on where they work and what they do. Engineer at FAANG or a hotshot startup - that's been glamorized by media and entertainment but that's a relatively recent phenomenon. Engineer at a mid-sized auto parts or chemical company - usually associated with pocket protectors and slide rules, but basically just solid pros that take home a solid paycheck.

> physicians

They don't always hire or fire people but they certainly give orders. To patients, nurses, technicians. Physicians have always been respected, in every society across time.

> architects

Same deal as engineers. Plus on significant projects (like a skyscraper, apartment complex, government building etc) there's probably a team of architects that have one or more managers. Someone with an architect's license working for the city planning office in a non-leadership role? Not especially prestigious.

> designers

Are we talking about fashion designers? They don't manage people? Like literally zero people? That's news to me.[1][2][3]

> board members

They can literally vote to fire the boss of bosses - the CEO. And usually they're appointed on the basis of their achievements in business, law, or the industry.

1. https://en.wikipedia.org/wiki/Calvin_Klein

2. https://en.wikipedia.org/wiki/Ralph_Lauren

3. https://en.wikipedia.org/wiki/Donna_Karan


>> Consultants

> A term so generic as to be almost meaningless. It can apply to an Agile coach, an Ivy League fresh grad billed at $1200/hr by McKinsey et al, or a programmer with an LLC and some marketing skills. These all vary widely in prestige.

To add to your point, it is absolutely the case that in places like McKinsey et al., several key measures of the consultants as they make their way up the ladder are directly related to how many people they manage.


Consultants - the term has been diluted. But if you say that you're a consultant, people's imagination takes over. There's a reason why so many people are consultants. It's because generally speaking it's a term that projects high value merit.

Layers - people respect lawyers?

Engineers - we generally have very low respectability, among laypeople.


Not sure why you're being downvoted; this is true in my experience as well.

Hell, I've been (a software developer) in SV for 16 years now and I hadn't heard of the "Staff" title until a few years ago.


Only in tech is this the case - but I don't think that only in tech this necessarily needs to be the case. High impact employees can exist in a wide range of roles, but recent cultural trends have been to push toward commoditization employment so that someone with a different approach is assumed to be a malus rather than fairly evaluated - there are KPIs and if your work style isn't optimized for them you'll flounder in corporate america.


That's only true for a small subset of technology companies.

Outside the tech world it's barely true, and even within the tech world, the vast majority of companies still require you to enter management the moment you've been promoted a couple of times.


Sure it exists outside the tech world. It's the meaning of the word "profession." A senior doctor or senior lawyer is respected, despite being a leaf-node.


"Doctor" is always respected, senior or not, in every society going back to the stone age. It's the nature of the profession. And doctors have authority over people in the workplace - nurses and technicians primarily - even if they don't fire or give out raises.

"Senior lawyer" isn't a thing AFAIK. Law firm partners or senior partners have management roles, or at least, influence, in their firms. Otherwise you're an associate, or in private practice, working for the government, or as corporate counsel (where again, you might manage teams of people). A random lawyer with a small private practice isn't going to command a ton of respect in society generally, even if they do very well financially.


"Senior lawyers" exist—they become judges :)


Err...ok, but again, a judge commands respect because that's a position of authority. They can order people or organizations to do things, take away their property, freedom or even their life. They can literally write the law in some cases.


> I was with you until the "cast (sic) system"

You will have to take this as second hand information as I am not familiar with the relics of the cast system. But as he relayed it to me. When you go on a date with a girl that would be considered to be in a higher social status than yourself, the first thing the father will ask is how many people do you manage. Being a manager seems to provide some mobility in the relics of the system that is left. This is how it was relayed to me.


It's the "caste" system, not the "cast" system. Your friend does seem to have a pretty conservative circle of movement. He's probably talking about arranged marriages, not "dates".

(Am Indian, have gone on plenty of dates without ever meeting anyone's father.)


maybe the explanation is that management level is a replacement for the caste system to measure social status. not much different from western cultures. social status used to be the size of your land and how many people lived on it, now it's the size of your company or your team. the difference is that it is less universal but differs depending on the industry you work in.


I think he was suggesting that the word you were looking for was "caste"


While your points on broader power structures are entirely correct, I can understand why their friend put it that way. There's a natural tendency to attribute the state of your country to its past. The caste system was just the noticeable local manifestation of how societies have tended to structure power the world over.


I've had similar conversations. These guys were pretty open about the fact that they crammed for exams and didn't take undergrad very seriously. People that are in tech for the money is common everywhere, but there is definitely something unique about the Indian experience.


Unusually high number of openly abusive schools and parents.

90% of my class cheated in some form on regular exams until 10th grade. This was known by the management and teachers often hide it. They also increased marks of students by changing their answers lol. Discouraging environment for actual students.

Why?

Because education is a business. Metrics such as 90 percentile scored so and so drives admission rates.

why cheat?

Because lack of good parenting, teachers and dysfunctional infra. Most teachers outside of few top schools are "failures" (not literally) in private schools where they are spending their time trying to crack exams for government jobs or getting another degree. They don't care or aren't paid enough.

Parents won't help their kids or take much interest in what they like. They will be pretty thorough when investigating report cards and standardized bullshit metrics that indian schools make (outside of board) but shallow when empathising with their kids.

Tuition is a widely common practice in india which is similar to daycare in practice, I guess. It gives off an effect of your kid working... Whenever someone gets a bad grade, the first thing to do is increase their tuition time. My previous schools had same teachers taking tuition at home and an after school program. You will get questions and stuff that will come in exam by going there. It was public knowledge too. Most schools are shady. I can't remember one where I didn't see some bs going on like messing with paperwork for tax fraud (openly), messing with report cards, exams, board requirements, etc.

Big chunk of parents are not educated or live in poverty. Their kids will come to school and disrupt it for others but what can you do about it?

Separate them and put them into low cost classrooms? Yeah, that happens. Though it usually starts from 8th grade onwards. Until then, everyone is in the same classroom.

I think the biggest problem is we start investing in kids at a later age than we should. All their junior years, no one sets a good bar for them. They won't suddenly change as drastically as some people hope.


That's in line with what I perceive to be the waxing and waning of various degrees in the US. The farther the incentives drift away from selecting for people with sustainable interest and aptitude, more generally maladapted people in the field for the next five to ten years.

I think it's often a self limiting thing because word gets around that there isn't enough brass rings for everyone.


The problem is formal scholarly training and employment demands are 4-8 years dislocated from each other.

Universities do their best to keep a bead on the market (at least, the good ones do), but without medical school-style coordination it's almost impossible not to under- or over-shoot substantially in terms of graduate supply.


I don’t think that this is due to the caste system. I have seen it first hand - used to work in a restaurant flipping burgers with the other guys and as soon as somebody was promoted to shift manager - his demeanor towards other employees would change drastically .


That's also the case to a large extent in the UK, which makes me wonder whether it's a hold-over from the Empire rather than the caste system? I thought castes were more about who you're born as than what you end up doing?


It has nothing to do with caste system. It is that younger people are not supposed to say elders are wrong or oppose them, even if they are clearly wrong. I don't know about other countries but this kind of culture is root of many problems in India.


I remember that comment. I’ve quoted that story a number of times.


Thank you, it is good to hear. You know you put words out there and you don't really know if it contributes any value to anyone or not. I just try to relay my life lessons.


I have noticed this as well, both as a worker and an interviewer. The number of unqualified people of Indian ethnicity that inundate job applications is staggering, and some perform embarrassingly bad in the interview.

That said some of my favorite people to work with (smart, easy to work with) are Indian. It's really a shame that the issues affect perception of everybody. It's a good reminder to me not to judge a book by it's cover, metaphorically speaking.


> That said some of my favorite people to work with (smart, easy to work with) are Indian. It's really a shame that the issues affect perception of everybody. It's a good reminder to me not to judge a book by it's cover, metaphorically speaking.

I don't even know why race or color would even matter when it comes to considering one's capability to do some engineering job. At the end of the day just work with whoever can get the job done.


Because humans are pattern matchers. We have to strive to eliminate or reduce conscience and subconscious biases to ensure fairness.

I know intelligent and successful people who would never take financial advice from someone with a beard for example.

Edit: maybe an interesting example. I grew up around smart woman and girls. From observation, I “knew” women were smarter than men. I was in college before I heard that some thought that woman were not suited for math. I couldn’t even process that. But people see patterns and extrapolate based on their observations and what they hear, and often start to believe something that does not exist.


> We have to strive to eliminate or reduce conscience and subconscious biases to ensure fairness.

Why? Does fairness serve a business purpose? Are businesses held to be fair to their employees in other circumstances?

What is fair? Perfect proportional representation of the host population? Within what limits? Can we make a heuristic for what's more fair? Should that drive hiring decisions more than other factors?

The way I've come to see it, so-called fair hiring practices are purely a social signal that companies are required, by the market, to hold - and only in the sense that they need to NOT appear to NOT be fair, in terms of bad press.

Other than that, companies don't seem to have any actual obligation to be fair, unless held accountable by some other mechanism (a union, the court of public opinion, government regulations, etc). They will only do so as far as it provides a favourable outlook for the company, and not further. When sweatshop-like conditions are profitable and the attention of the public is elsewhere, for instance, sweatshops you will get. It doesn't matter much if every race is slaving away in there together side by side if they're still slaving away.


Another reading of "We have to strive" is simply that, if we do wish to reduce various biases, it is something we must do consciously. That doing so runs against what's easy, our natural inclination is to extrapolate and generalize.

Deciding what fair means is indeed hard. But most would today agree (I think) that judging someone to be incompetent based on the reputation of those of the same ethnicity is unfair.


> if we do wish to reduce various biases

Again, though, the desire to do this is based entirely on marketing, and not on merit.

> judging someone to be incompetent based on the reputation of those of the same ethnicity is unfair

Sure, but mandatory hiring of people of particular ethnicities in order to boost some arbitrary "diversity quotient" (read: non-white quotient) is potentially just as unfair to other qualified applicants.


I work with exactly 0 black software engineers in NYC office.

I see it as a reflection upon America, rather than a reflection on my company.

The same company has black engineers in London.

When we seek new employees - we had 0 black applicants in NYC over the last 3 years. We have a small percentage in London.


"Fair" can mean a lot of things. If you asked three people to define fairness, you'd get at least three definitions, and I can think of some definitions that would indeed have a business purpose; I can also think of some that wouldn't.

An example of something that would serve a business purpose: widening the potential target market. Of course if your company is producing maternity wear then you probably don't want to aim for a gender-balanced customer base. But in general, increasing the size of your taget market can serve a business purpose.


There's no reason to assume that a diverse (read: non-white) group is required in order to market to a diverse audience. Plenty of 100% Chinese companies manage to market to everyone in America via Amazon etc. every day. Will there be some requirement or even some business advantage to them to hire diversely?


I can't see much practical value for diversity based on skin pigmentation intensity, in software engineering. (There's a good amount of research for gender diversity, though)


There have been studies on the value-add of diversity in the workforce. TL;DR: research "suggests that diverse work environments boost profitability, culture, and public perception.[1]"

1: https://www.purdueglobal.edu/blog/careers/how-does-workplace...


Research that validates the only conclusion you're allowed to publish isn't research I'm going to base my life around. The famous Putnam study on diversity in neighbourhoods is much more realistic:

https://en.wikipedia.org/wiki/Robert_D._Putnam#Diversity_and...


Society exists to serve people, not businesses. Businesses are a tool to that end, so business purposes are only relevant when they don't run counter to human needs or cause human suffering.


If you want to have good objective judgement you must remove or at least be aware of your biases as much as possible.


What's a bias, versus a well-trained heuristic? Am I to deny a million years of evolution as a pattern-finding organism just to satisfy the political goals of a group of people who do not have the best interests of my own group at heart?


All living things use pattern matching - not just humans - as a surviving mechanism. It allows fast decision making.

Which model do any of us prefer in most situations: one that allows us to be right more than 50% of times done in miliseconds, or one that takes hours/days/weeks (whatever) and allows 95% of good (or fair) decisions?


The appropriate response time depends on what is being decided

When it comes to deciding who I will be working with I would rather take the time (hours/days/weeks) so that that we make a fair (un-baised) decision

As for deciding to whether to evade a baseball being thrown at my head, I would prefer the faster response time. It okay to be biased against fast moving projectiles :-)

Any time you deal with people you need take the time needed to eliminate any biases that are common to many humans


User story: Jane works in HR for $COMPANY. They have 10 places on the graduate scheme this summer, and have already received something like 800 applications. The boss wants a shortlist by Friday - they're going to read each one on the shortlist in detail and make a fair decision, but they're not going to spend half an hour on each one in the 800-pile because that would be 400 person-hours.

Of course, first you throw out the obviously bad ones - anyone who sent a word document when they clearly asked for PDF; anyone who doesn't have an engineering degree etc. etc. That still leaves you with 500.

What do you do? This is I suppose why implicit bias training exists, so you don't go "this one's from India, the last 10 from India couldn't even spell the company name right, reject".

(The next step in the UK is, reject everyone who doesn't have a first-class degree, if that still leaves you with a long enough shortlist. No wonder students are anxious about getting a first!)

Point I'm trying to make: there's situations in hiring where the time you can take is influenced by the volume of applications.


I think the parent was referring to survival instinct. Millions of years of evolution has lead to the need for fast pattern matching to avoid danger.


> Because humans are pattern matchers

Agree, but then you would think that engineers (when it comes to working with other engineers) are a little more rational than the average folks and can go beyond superficial observations.


I would think that engineers would also respect that cognitive operations have a cost just like computer operations.

If a cognitive bias lets you arrive at a conclusion 10 times faster and is right lets say 90 percent of the time, is that strictly worse than being super fair and objective as the thinking pattern you employ? I think if you had a process at your job that is 10 times faster and was what right 99.9 percent of the time you would absolutely be for using that process over the one that reaches a 100 percent accuracy rate but was vastly slower for anything that isn't fatal to your career.

Large parts of society seem to reward thinking fast and making quick decisions, and would prefer a quick decision even if its wrong. We have 2 pressures here. Making the decision quickly, and then making the "correct" decision. Your circumstances will determine which is correct at the time. But saying to always stick to one and avoid the other doesn't seem super rational to me.


You just matched all engineers to a pattern you observed.


That's brilliant! (as is the observation that humans are naturally pattern matchers)


In fact, I would argue that engineers tend to be people with stronger pattern matching capabilities, because that's exactly how most engineering problems are solved.


But these are not 'superficial' observations. People of Indian ethnicity are more likely to be the product of (tier B) Indian educational system (which is based on Brahminical rote memorization), Indian culture (always say yes to your superior), Indian incentive structure ("how many people are you managing?").

The last job I worked at, more than 50% developers on the floor were Indian (like either fresh H1b or intra-company transfers), so I noticed that I would get 'lost' in the crowd. A non-Indian person will immediately notice other non-Indian person, and ignore me. It wasn't their fault because most Indians on my floor never bothered to say 'hi' or 'bless you' or even acknowledge anyone who wasn't Indian. But then, I'd also ignore other 'pattern breaking' Indians (until, like me, they made themselves stand out).


> > Because humans are pattern matchers

> Agree, but then you would think that engineers (when it comes to working with other engineers) are a little more rational than the average folks and can go beyond superficial observations.

You are saying pattern matting is irrational? If one is to apply pattern matching in an absolutely rational way, they would not make abitrary judgements that some traits are/are not superficial. They should just take the fact as is, then make their hypothesis, then prove or disprove it then act upon the result.


Engineers tend to be more empirical and less idealistic, not to mention not uncommonly somewhat autistic.

They are more likely than the average bear to apply Bayesian probability, which comes alarmingly close to confirming stereotypes in most cases.


All in all no-one is beyond bias. Most of interview judgment comes from system 1 thinking. Meaning you feel some way about the candidate. And you only use system 2 to justify what you are feeling. So you use system 2 for cherry picking instead of determining whether candidate is good or not.


That could not have possibly be born out of observing engineers ...


Indeed. Categorization is how the brain works. On purpose or not, if you have two people with the same resume your initial impression of "Steve Smith" is better than your initial impression of "Bubba-Joe Willum Jr."


Maybe it’s not the race but the culture that makes working with them a pleasant experience. And they are also good engineers. From my experience with working with indian engineers they are very agreeable and polite people. Of course it’s a big generality and they have flaws like everybody else


This has racial connotation only because India is mostly populated by brown people. Other than Pakistan and Bangladesh - no other place has a clear majority of what you would call brown people.

That said - Indian cultural quirks definitely play a role in how majority is raised and how they operate. Economic situation and a very clear way to get a well paying job makes people try to get into these fields. IT doesn't have an insane filter like medicine, which is another way to earn a lot in India. Thus you get a lot of people that try to get around the system.

I had two cases happen in India to demonstrate this:

One of developers lied about their qualifications for the previous 3 years. He was supposed to be working for Oracle for 3 years, but we found out that he worked at multiple companies for 3 months at time.

The other one was one of three brothers, but only one of them was somewhat competent and would do the interviews... while the other brothers would actually try to show up for work.

I could not make up this crap.


If you noticed that people with a pimple on the left cheek performed significantly worse in interviews and you had limited time to review candidates, wouldn't you apply more scrutiny to resumes of this type of people? Well, this case is even stronger because there is an intuition at to why people of certain races are more likely to be worse engineers.


Because there is a clear correlation between an amount of blatant lies in an average resume and the country of origin.


I am from India and I think it is because many people try to game the system instead of actually working hard. It is rooted deeply in the education system itself.


That's cultural, historic and economic reality that puts pressure.

I'm in US and despite US having 20%(?) black population, I'm yet to have a black American colleague in engineering.


> Indian ethnicity

Small nit, this is a nationality, not an ethnicity.


Actually in the context of racial discrimination, I think ethnicity is correct. The true nitpick is that it should be “Indian ethnicities”, plural.


true but its like saying African as a ethnicity even African American is pointing to both. there is original regionality to ethnics so to speak. perhaps our terms are at fault here but is still accepted and not negative in a racial context.


Something similar happened in the US where numbers of students in CS went up over time. However, academic fraud has not been as big of a problem as it is in India.

An Indian friend of mine said that IIT is good but hardly anyone can get in and the caste system dictates admissions policies anyway so many people try to get engineering degrees from schools with lax standards. The professors are completely unqualified, according to her, and people have to pay more to learn the material from off-campus tutors but not everyone can afford that.

I think this should be the focus is ending academic fraud rather than some of these other issues. That could do a lot of good. Here is a reference to a story I found that corroborates what I was told.[1]

[1]:https://timesofindia.indiatimes.com/city/chennai/UGC-probe-f...


> ...and the caste system dictates admissions policies anyway

Like, officially, in writing? Even if it's informal, as an American it blows my mind that that's still a thing.


It is not the caste based discrimination like you might intuitively perceive.

In history there was a caste system that led to systemic deprivation of education and opportunity to underprivileged castes. So India (few decades back) came up with a reservation system so that people belonging to those castes could get jobs/education/opportunities.

In today's times it's scale is more like racism that you would find in most developed nations.

However after achieving the basic purpose, the reservation system based on caste was never withdrawn. Lots of political parties invested into those vote banks.

Nowadays, the situation is such that many people who get admissions based on the reservation policy are from acceptably well off educated families. There are many people who are relatively poor and financially underprivileged but belong to the upper caste and they cannot get any benefits.


Sounds like you're describing was what Americans call affirmative action ("a reservation system so that people belonging to those castes could get jobs/education/opportunities"). I am not knowledgeable about India's system, but I get the impression that like the one in the US, it is politically/culturally divisive and I would take any comment about it as opinion/preference rather than fact.


It's factual that a policy exists or does not, however one feels about it.


Ah, that is not what I assumed, and rather less surprising.


I was told (if I remember correctly) that discriminated castes get an advantage (or even a certain percentage of seats) at universities in India. I am surprised this could be considered mind blowing, isnt there also affirmative action for college admission in America?


Universities aren't allowed to have racial quotas in the US. They are allowed have affirmative action that is implemented in a fuzzy non-numerical way, but they can't just say "we will admit X students of Y race".


They aren't allowed to have racial quotas anymore, but it was commonly done before the 2003 supreme court ruling that ended the practice.


Racial quotas haven't been allowed since 1978[1]. The 2003 case[2] was about a points-based system, not about racial quotas.

[1] https://en.wikipedia.org/wiki/Regents_of_the_Univ._of_Cal._v...

[2] https://en.wikipedia.org/wiki/Grutter_v._Bollinger


Yes. There is actually a whole Wikipedia entry[1] on it.

The relevant portion:

> For candidates in the general category, successful students must generally score within the top 0.25% or top 0.5% of all students to gain admission to the IITs, whereas SC/ST/OBC candidates must generally score within the top 2% of all students to gain admission to the IITs.

> Currently, reservation of 15%, 7.5% and 27% seats are provided for candidates originating from the SC, ST and OBC communities respectively.

[1]: https://en.wikipedia.org/wiki/Reservation_policy_in_Indian_I...


To be clear, that's affirmative action for people in the lowest castes (not everyone knows what SC etc mean offhand).


TIL that "SC" is the caste formerly known as "untouchables". It does not seem unreasonable to institute some affirmative action for them.


SC/ST were historically the most oppressed. However the OBC[1] designation is heavily diluted and is often handed out to previously well to do communities in exchange of votes.

[1] https://en.wikipedia.org/wiki/Other_Backward_Class


No, it’s formal. Much as there are certain groups in the US that are held to lower standards in the US for purposes of admission to universities and some other opportunities so it is in India. There are reservations for Scheduled Castes and Backward Tribes. If you don’t come from them the grade you need to get into a good college will be higher, much as if you want to get into Harvard it’ll be harder if you’re Li or Nguyen than if you’re Jones or Ramirez.


Honestly the remnants of the caste system are hard to distinguish from "legacy" in America. If you're a Bush or a Kennedy you're going to have an easy time getting into school - in America it's a bit weirder even because buying your way in is generally considered legitimate and culturally approved.


Is it that surprising? We have the exact same system in the States.

Affirmative Action exists today. The Ivies modified its acceptance criteria to "soft" discriminate against Jewish Americans in the 50s and 60s. There are arguments that this is indeed the case for Asian Americans today.


The soft discrimination actually happened much earlier than that. I think it was happening in the 20s and 30s already.


Officially - yes. It's affirmative action. About 40% or more of the seats are reserved for students from a "lower caste".


In this case, the caste system based admission is equivalent to affirmative action in US universities


Well, sort of. Explicit quotas used to be a thing in American universities until Bakke in 1978, and racial "points" systems were ended in 2003 with Grutter. Notably these Supreme Court decisions actively endorsed Affirmative action in general, they just implied you couldn't be too explicit about how you were using it.

https://en.wikipedia.org/wiki/Regents_of_the_Univ._of_Cal._v... https://en.wikipedia.org/wiki/Grutter_v._Bollinger


The proportions would be different. Minorities in US are, well, minorities - but if Wikipedia is to be believed, the category that is targeted for affirmative action in India constitutes about 40% of the entire population.


> Even if it's informal, as an American it blows my mind that that's still a thing.

In past times (and by that I mean XX century - before WWII usually) anti-semitism was pretty harsh, and official. Even on university admissions in the US.


I mean it's literally the same thing as affirmative action.


Yes there are laws about disadvantaged Castes I believe and caste discrimination goes on amongst communities outside India.


[flagged]


This is pretty harsh criticism. People perceive the world in the form that they experienced it through life. There's probably very few people in the world who are familiar with every culture and the nuances with it. You should encourage people to learn more, not attempt to make them feel ashamed that they didn't know it already.


> you should encourage people to learn more

I think you stopped reading after the first sentence because encouragement is exactly what I did. And I stand by the comment about naïveté.


I'll mention that from experience. IIT is a mixed bag. I've seen some really good people, but a lot of them were just terrible at coding as well.


I also have a problem with calling developers engineers. Heck, I would be offended if someone called me a developer rather than a programmer.

But unfortunately even the degrees themselves become less significant. A PhD in mathematics used to mean more than it does now. But another point is that with global literacy going up, scarse skills are now not based on the amount of people with certain degrees, but rather with inherent abilities that are uncommon. (Take Fortran coders as an example.)


> I also have a problem with calling developers engineers.

I held this point of view for a long time but, after lurking at r/engineering, I've learned that their jobs are (depressingly) similar to ours. I.e. it's almost never deriving things from first principles, but rather trying to quickly bolt together a solution out of pieces looked up at different vendors' catalogs. Most engineers don't even remember the basic equations they have learned at university.

> Heck, I would be offended if someone called me a developer rather than a programmer.

It depends on the specific job, but currently, I can spend 30 minutes changing one line of code followed by one week of deploying, testing it, making sure the configs are all right etc. So that's 30 minutes of programming followed by one week of "installing dishwashers" (as the joke on the team goes). Lately, I see myself more of a software configurator than creator (my nominal job title is a backend web developer).


The new "software engineer" is just a software assembly line worker. I guess the same goes for other engineers. I would imagine the quality of software engineer will get worse over time as it becomes easier to assemble software from an assortment of black boxes.


An assembly line worker just puts parts together - they don't understand why those particular parts have to go together in that particular way to achieve the desired result. Engineer is the person who does.

And engineers have always been assembling boxes together. At first those were the most basic components, like levers. Then we figured out about standardized parts and interfaces, and components got a lot less basic. But, fundamentally, what's the difference between an engineer fitting two cogs together, and an engineer fitting two pieces of electronics?


Is it getting easier though? Did you try "modern" web development lately? Good luck piecing together a working website...


It is easier. If you wanted to create a web application from the dotcom era, you could probably knock it out faster by one or two orders of magnitude. It will probably look neater too, and you won't spend days or months tuning it so it will look decent in IE. We even have amazing CSS capabilities now.

If you wanted to create something that's better than the pages we had in the Geocities era, you can do that in 5 minutes (download some static page generator, add a theme and voila).

When it was unveiled, the GMail frontend was a remarkable feat of engineering. Nowadays? Polishing to that extent (also scaling, etc) will take time, but creating a knockoff UI is no longer a revolutionary job. Most web developers would be able to single-handedly replicate the basic functionality ('ajax' and lots of client side javascript are no longer arcane).

As web development progressed, so did expectations.


well, so if requirements were easier back then you can't really say things got easier. The stack got harder. you used to be able to get by with asp.net / php and that's it. Yes, you would throw files into ftp and there weren't any stackoverflow or frameworks. But still, the amount of knowledge you needed to keep up was way less than what we have today. My point: 20 years ago you could learn php and make good money. Nowadays you can't get by without a convoluted front end stack as well, which kinda doubles the amount of knowledge you need to carry.


You can still do simple stuff, it's not hard: just don't use the complex garbage :)

I wrote a web app the other day with vanilla Python, it doesn't do much (it's a tasks app for my wife and I), but it does it's job, and in one file even! It doesn't use fancy front end stuff, just HTML template strings and some links that send CRUD ops to the server, then that saves the data in a big text file. It uses CSS to make it look nice.

I bet I could get a hundred people using it without edits, and it took a few hours. With a proper database and server, it would support thousands easily.


We all do what our managers / tech leads / architects tell us to do in the end of the day. Even if you have a lot of say where you work, eventually you will join a company with an established stack over which you'll have little control. If you're going to do web development there's zero chance you can keep this up forever unless you're working for yourself. Don't get me wrong, I wish the industry would do more of what you're describing, unfortunately it's just not happening.


Sounds like your job could use devops with some deployment stack.

I know the basics of chef/ansible etc but I much prefer traditional dev.


We have top-notch devops stack, but "thanks" to relying on microservices, a lot of changes in software require changing something in the devops part as well, which takes much longer than writing the software change.


I recently tried nix package manager and I gotta say - if your pain point is devops it could take away a sizeable chunk of problems. Steep learning curve though.


I prefer the term "software engineer" for a reason I haven't seen yet in this thread: clarity when speaking to people in other industries.

Among many of the people I talk to on a regular basis, if I told them I was a "developer" they would assume that I was a real estate developer.

If I told them I was a "programmer" it would be a little clearer, but before I moved into software I worked in the events industry for a few years, where "programmer" means "one who develops event programming."

In practice, I could append "software" in front of either "programmer" or "developer" to provide that clarity, but "software engineer" seems to be more common, and to me feels like it more adequately covers the totality of my job, which is as much about measuring, planning, and communicating as it is about producing code.


I think part of the discomfort is that there is no exam that software engineers have to pass (other than a few states) unlike real engineering professions. I suspect and I suspect many others suspect that a large percentage would not actually be able pass a meaningful exam.

However passing such an exam would probably only be partly correlated to success in the field. Part of this is because exams are imperfect, part because success in the field is not dependent on engineering skill, and part is because the tech field’s success is based on finding/creating/replacing/owning (new) markets rather than pure engineering.

If software is much better than what was there before, even shoddy software engineering will be superior to the existing solutions.


The exams and credentials part is certainly murky. One could argue we make it worse in tech. Among the certifications I hold is at least one with "certified engineer" in the title (RHCE), but that's hardly only ambiguous one, with "engineer" showing up in all sorts of vendor and third-party certs and "architect" and "auditor" also finding their way into many others.

Are those phrases misleading? I don't know. I certainly feel like I worked pretty hard to earn and maintain the certifications I hold, but I can't compare the rigour and level of effort to licensure, because that's not required of me for what I do.

I also know that there are quite a few "certifications" out there that aren't rigorous at all, that are basically multiple-choice exams you can cram for without actually learning anything. I've never bothered going after a CompTIA certification for that reason.

It's a tough problem. On one hand, I despise artificial barriers to entry on principle. On the other hand, being able to understand and trust a person's base level of understanding and competence does have value.


The solution IMHO is to perform your own test. It is hard to scale unless you have some superior filter or are a magnet of some sort (back channel references or your company is really hot).


The funny thing is, to be a professional engineer in Canada, the exam you take is more of an ethics and law exam rather than a skills exam. You prove that you've worked for four years or more under a P.Eng and do that exam and you've got your cert.


I immigrated into the US (from Canada) to work for a tech company, and a piece of advice I got from our legal dept was: Whenever you cross the border and the guard asks you what your job is, answer "Software Engineer". IIRC it was important I answer this correctly because that's the role that I was permitted to work for (under a TN, later a H1B; I'm now naturalized). Saying "programmer" or "developer" may have been fine (I don't know), but I do recall some emphasis on getting this right.


It was important because there were specific job requirements that had to be met in order to qualify for a TN visa. The expertise you were expected to be bringing in as a Software Engineer was architectural level knowledge of coding.

The TN visa could be revoked at any time which is why you want to be really clear when crossing the border. I worked for Microsoft and they recommended that I bring my full job description package and lawyer's letter every time I crossed the border

The best part was when I had to go to the border to apply for the TN visa. The poor guy had a list of questions to ask and clearly had no idea what any of it meant. "And will you be doing any <...long, dramatic pause> programming?"


Wait... so in your mind there is a distinct difference between a developer, programmer, and engineer? Because in my mind, they are all the same.

How are they different, in your mind?


In Canada you can't call yourself an engineer unless you studied engineering in university and went through licensing.

It's not really enforced in tech, but for me the definition is someone who at the minimum studied an engineering degree. Calling yourself an engineer when you studied Computer Science is a bit odd to me.


Lots of CS programs in the US are accredited by ABET [1] (our professional engineering standards board) and graduates from said programs are eligible to take the PE exam.

I call myself an engineer and is anyone has a problem with that, I just point out that I graduated from an engineering college and am eligible to become a PE, and will, should the world ever decide that's an important credential for building software. I work with tons of Mechanical and Aeronautical engineers, none of whom seem to take any issue with my holding a title of engineer.

[1] https://www.softwareengineerinsider.com/abet/abet-computer-s...


That list has some rather notable omissions. Stanford isn’t on there, nor is CMU, nor any of the Ivies besides UPenn.

This frustrates me because ABET degrees are required for a bunch of government jobs (and the patent bar). While it might make sense for certain fields, it’s silly to gate CS jobs on a credential that the field evidentially doesn’t take seriously.


Accreditation is weird. I lived with some engineers at university and they had a huge range of interesting courses they could choose. In physics we had mostly core modules and a smattering of electives.

I asked whether they could take the courses they liked (eg mix a bit of civil, mechanical and electrical) and they said in theory they could, in practice nobody does because your degree wouldn't be accredited. And no accredited degree, no job in engineering. I think for civil it made a bigger difference than the others.

I always thought that was quite sad, since the mathematicians did whatever the hell they wanted between maths, engineering, CS and physics and still ended up with a maths degree.


I'm fully OK with the distinction because of the licensing process and strict requirements on engineer-certified work, but as someone with a CS degree from a Canadian university I can tell you with confidence that my friends in the software engineering pathway had probably 90% the same course load as I did.

Really the only major difference at our university (IMO) was that they had a capstone project they did as a group and took two semesters, while mine was done individually and took one semester.


In my experience at UVic (6 months fresh) the CS students did more theory of computation, and SEng had formal requirements and specification writing, engineering economics, and project management courses that CS did not. And also yes, the capstone. So, those are the features which distinguish software big-E iron-ring engineering from computer science, in my mind.

e: and yes, cf. the sibling comment, some of those courses were mandatory curricula set by The Professional Body Formerly Known As APEGBC (I forget what they're called now).


The course load isn't the critical aspect, though, is it?

Licensing typically means professional standards set by a licensing body, continuing education requirements, insurance/liability rules, etc.


Absolutely, not disputing that. I just took offense to the "Calling yourself an engineer when you studied Computer Science is a bit odd to me" statement. I don't think the degree makes the difference, the licensing does.


I don't believe you would be able to get the licensing without the degree so saying the degree doesn't make any difference doesn't seem accurate.


I'm suspicious of any attempt to place so much importance on the name of a degree. I'm not even convinced there's a meaningful distinction that can be made between the two. Computer science topics like finite state machines are central to software engineering, and engineering ideas around correctness, safety and reliability form the basis of a lot of CS research.


The main difference is that engineers have a code of ethics they're expected to uphold, with the threat of taking away your certification if you don't.


Note that licencing is country-specific issue. Where i live 'engineer' is just an academic degree on the same level as 'master', just issued by technical university instead of 'general' university.


Is that a common thing in the tech world? Regardless, I'm not sure what that has to do with the name of the degree one got.


In Sweden, engineer is also a protected title, but computer science is aligned perfectly with software engineer because engineer basically says 3-5 years of "practical math of that field". Learning Python would not be "practical math", learning the O notation and linear algebra would.


Most US universities from what I've seen don't offer a different track for software engineering vs computer science, it's all under computer science. Most universities also have computer science in the college of engineering.

I think the issue is just university programs aren't granular enough.


Why do you think Computer Science is not "engineering" aka a scientist with thumbs.


Well, i see relation between compsci and software engineering similar to relation between physics and mechanical engineering, or biology and medicine.


As explained to me by an engineer: the distinct lack of statics, dynamics, and thermodynamics.


Then (most) electrical engineers are not engineers either.


Computer Science is an "engineering degree" at many universities. The distinction of which school a degree belongs to at a university is basically arbitrary.

I am definitely against the idea of licensing or professional organizations gating who gets to call themselves something. I think it's OK for an organization to invent their OWN term and branding, but they cannot take a generic word like 'engineering' and add regulatory capture on top of it. For instance, if IEEE or ACM wanted to license programmers, they are free to come up with a process for licensing with a title like "IEEE Software Engineer". The market can decide if that bears any value. But that value has to stand on its own, and not rely on government intervention granting those organizations a monopoly over the term 'engineer'.


I always thought calling programmers engineers was very weird until I watched this great talk:

Real Software Engineering, Glenn Vanderburg, Lone Star Ruby 2010 https://www.youtube.com/watch?v=NP9AIUT9nos

which explains what various kinds of engineers actually do. Not at all dry and boring like it might sound! From the YouTube blurb:

Software engineering as it's taught in universities simply doesn't work. It doesn't produce software systems of high quality, and it doesn't produce them for low cost. Sometimes, even when practiced rigorously, it doesn't produce systems at all. That's odd, because in every other field, the term "engineering" is reserved for methods that work. What then, does real software engineering look like?


Sounds like some of the cynicism behind Dijkstra's bit on software engineering[0]

"A number of these phenomena have been bundled under the name "Software Engineering". As economics is known as "The Miserable Science", software engineering should be known as "The Doomed Discipline", doomed because it cannot even approach its goal since its goal is self-contradictory. Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter "How to program if you cannot."."

[0]https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/E... Edsger W. Dijkstra's "On the cruelty of really teaching computing science"


I was very sceptical too, but when I watched it, it all sounded very common-sensical.


Really I recall working for one on the big civil consultancies and we had one of our bridges fall of its supports once.

And lets not mention the new airport in Berlin (or the NYC tube lines) in the context of low cost.


> Really I recall working for one on the big civil consultancies and we had one of our bridges fall of its supports once.

> And lets not mention the new airport in Berlin (or the NYC tube lines) in the context of low cost.

That seems to me a low-quality comment, sorry. The lack of punctuation and the spelling mistakes made it hard to parse, and until you flesh it out more, I'm not sure precisely what point you were trying to make. And more mentioning, less "lets not mention"-ing, please.


its two sentences mate ok first one it should be one of - I am dyslexic go sue me


Engineers are typically required to have a license, have agreed to some code of ethics, and typically will have a membership in a professional organization. Like mechanical engineers and the SME, or electronic engineers and the IEEE.


True in the US, not necessarily true elsewhere.


IMO, developer and programmer are the same.

Engineer implies a higher level of skill WRT establishing and following processes designed to minimize risk. A software engineer, like their mechanical or civil equivalents, has a strong sense of duty WRT building things that are useful, safe, reproducible, etc.

No doubt the line is gray. But, your stereotypical web app developer (failing fast while chasing a unicorn) is not an engineer.

In the real world, I'd expect Boeing to employ many software engineers [insert 737 Max joke here]. Google and Apple would employ a mix of engineers and developers. And a company that builds CRUD apps on contract would be almost exclusively developers.

All of this ignores the licensed engineer's opinion, which is often that none of us are engineers because we don't have to pass a licensing exam. And often don't even have to pass a particularly rigorous academic program.


No doubt the line is gray. But, your stereotypical web app developer (failing fast while chasing a unicorn) is not an engineer.

That could just as easily describe Google and it is full of “smart people” (tm)


And I wouldn't call those developers engineers either. I said as much in the next line of my comment...

Google and Apple would employ a mix of engineers and developers.


So, whom will you exactly call an engineer?

A person with degree or a person with a specific set of skills? If skills, then can you enumerate few of them?


Generally, any licensed engineer (PE or non-US equivalent) would be an engineer. That usually means a proof of skills via professional exam. Somebody could have an engineering degree, but not be a practicing engineer at all.

Of course, there is no PE for software. So, within our industry, it's a lot more squishy. There's a bit of "I know it when I see it" here...

If you're building complex systems with an eye for reliability and/or safety, you might be an engineer.

If you're just building a business/consumer app, using infrastructure and tooling that somebody else built and maintains, you might not be an engineer.

With all that said, as a hiring manager, I'm not going to be hung up on what title you held at a previous job, as long as you appear capable of doing the job now. And my career has mostly been on the "just a developer" side of the line - there's nothing wrong with that. I'm simply not building software that has massive negative repercussions if I get it wrong (beyond impact on my employer's bottom line).


> All of this ignores the licensed engineer's opinion, which is often that none of us are engineers because we don't have to pass a licensing exam. And often don't even have to pass a particularly rigorous academic program.

Also, we're not putting our licenses/careers on the line by signing off on software releases. As someone with a degree in Mechanical Engineering (but not a licensed engineer) working as a developer, I think the key difference is the accountability and incentives.

Avionics software and some medical devices do have near-Engineering cultures and practices, but a lot of software would look much different if we had real Software Engineering. Half the IoT malware magnets sold wouldn't ship if someone had to put their professional license on the line with every firmware sign-off.

Not all software would need a practicing Engineer certifying that standardized releases, just like you probably don't need a structural engineer to sign off on your patio expansion or treehouse.

Steam boiler explosions very common in the U.S. (and around the world) until we started requiring licenses to design them with serious consequences for neglecting best practices and procedures. It's one thing to bet your company's reputation and move on to somewhere else if the company fails, but quite another to set aside the corporate veil and be personally responsible.

For a look at what an Engineering-like system would look like, a good friend lives in Vienna, Austria and went to church with Joseph Mangan. [0][1] The short version of the story is that airliner air pressure control valves have three positions: (1) closed, (2) slowly bleed pressure, and (3) wide open to equalize pressure on the ground and better ventilate the cabin. Older designs used separate motors for the two different open positions. Mangan was working for an Airbus subcontractor, writing the firmware for a valve that saved weight and shifted complexity from the mechanical design to firmware by using a single motor. From the closed position, it spun the motor one way to open the valve a small amount, and spun the other way to open the valve a large amount. If the firmware were to malfunction while closing the value, it could turn the motor too far and rapidly depressurize the cabin. In order for the subcontractor to ship the product, Mangan had to sign off that a whole bunch of testing and best practices had been followed. Best practices hadn't been followed, he refused to sign off, and his manager faked his signature. (In particular, one of the required standards was that the first thing the firmware does is initialize the processor's interrupt vector to point to actual interrupt handlers. This wasn't the case.) Mangan ended up stealing a bunch of internal documents and posting them online at great personal cost in order to force the company to follow procedures. In the end, after long court battles, Mangan continued to work on certification of the valve firmware, and he eventually signed off on it once it had really met all applicable standards and he was convinced it was safe.

[0] https://en.wikipedia.org/wiki/Joseph_Mangan

[1] https://www.telegraph.co.uk/finance/2923861/Airbus-whistlebl...


Engineer: Someone qualified with a B Eng or equivalent. In some countries this requires a masters level as well.

Programmer: A person who writes computer programs. I would personally also imply that the programs are typically not deployment of other programs, but this is my own view and not a standard definition. (Actually all of these are not standard definitions. At least, not anymore.)

Developer: A web developer; A person who writes or deploys applications. In the web era I guess most developers have some inherent focus on the internet as a client interface.

I would also add:

Hacker: A person who likes to probe things until nothing jumps out anymore. (These days people call this a White Hat.)

Cracker: A person who likes to probe things until nothing jumps out anymore. Then they probe some more where they really should not and the police get uneasy. (These days called a Black Hat.)


"hacker"/"cracker" are terms only used/understood with nuance in the tech community.

For the non-tech community:

hacker = person committing computer crimes (black hat)

cracker = a tasty snack (or, if you are in the American South, a contemptuous term for a white person)

tinkerer = someone who tinkers around with stuff (what tech community traditionally called hacker as in hacker news)


The top two are wrong.

The concrete definitions are:

Hacker: A programmer; someone who embodies the spirit of the programmer's way of thinking

Cracker: A programmer that commits crimes by illegally breaking in to systems.


A programmer writes programs, but a developer writes applications? Really odd line to draw in the sand.

If I build an iOS app that streams video to a webpage, am I developer or a programmer?


A developer is a type of programmer.


In my experience most people use them interchangeably with no distinction between them. The only time I've seen anyone show disdain for one term vs another is here on HN.

I've never cared what people refer to me as, and I've never seen anyone voice a preference for it among people I've interacted with.

I call myself a Software Engineer, because pretty much every job title I've had has used that term.


Truth be told, a lot of people with engineering degrees or titles are not doing any real quantitative engineering. Probably some sort of 80 20 rule in any field. Most "engineering" is just organizing and arranging things, fitting building blocks together. A lot of engineers stay "at the bench" just long enough to go into management. The people who keep their quantitative skills end up getting all of that kind of work.


Where did the term "software engineer" originate?

The only anecdotal observation I had is that people in nontech, non SV companies use the term "developer". People in SV style tech companies use the term "engineer". YMMV.

The line is blurring though, as I see the term "engineer" becoming more common in nontech companies too. Just like how leetcode interviews are spreading too.


Back in about 1970, various people realized that writing code was not the cakewalk in the park that everyone (who did electrical or mechanical engineering) thought it would be. See "software crisis".

They decided that "we would have to get serious" about this whole software production thing. Some people like C.A.R. Hoare and Edsger Dijkstra said something to the effect of "formal logic..." to which the reply was, "Hol' up, there. That's too hard." They then assumed the term "software engineering" and went off in the '70s, '80s, and '90s to develop stuff like UML and the software engineeing lifecycle requirements -> code -> testing -> acceptance V-thing.

For the cynical computer science programmery-type person such as myself, the end result seems to have been the software engineering degree, sort of a lite CS degree (just enough to be employable) with more project management and what-not. At least it's more comprehensive than information technology degrees.


Not the person you responded to, but my $0.02.

Developer: codes websites and apps.

Programmer: writes computer code. Encompasses developers.

Engineer: builds bridges, rockets, cars, missiles, smart tvs, gaming consoles, computers, power stations, electric infrastructure, water treatment plants, etc.


Developer: builds subdivisions and "develops" real estate.

Related: I've come across a handful of programmers that describe themselves as "contractors". So you hang drywall and install toilets?


You're a contractor if you work on contract. Just as you're a consultant if you consult.

(I'm most comfortable with "developer" because that corresponds most closely to what what I do feels like. I don't spend so much of my time actually programming, but very little in software is engineering-like)


Designs bridges :-) its the navvys that build them


The same argument used to call a programmer an engineer could be applied to anyone that writes for a living, any doctor, any lawyer, well pretty much anyone. We're all "engineers" unless we're doing something completely mechanical.


According to the dictionary, an "engineer" is a person who designs, builds, or maintains engines, machines, or public works.

A computer is a physical machine that runs programs which are encoded digitally on physical hardware (memory).

I could see an argument for considering a computer program to be an engineered "machine" that runs on a turing-complete computational platform. Just because a computer program is digital doesn't mean that it's not an engineered mechanism. In fact, early computer programs did run on physical hardware in a physically mechanical manner.

A doctor or lawer, on the other hand, is not building any type of machination. They are diagnosing patients and having arguments with judges. What exactly are they engineering?


> According to the dictionary, an "engineer" is a person who designs, builds, or maintains engines, machines, or public works.

That's exactly the point. Programmers write programs. They don't design engines, machines, or public works. Programmers are excluded from the very definition you're quoting.

If you want to expand the definition to include the application of scientific methods to solve a problem, so that it includes someone that creates a Javascript single page web app, there's no way to exclude those other professions. Programs are not machines by any conventional use of the term.


https://ncees.org/engineering/pe/software/

You can become a licensed software engineer


"NCEES discontinued the PE Software exam after April 2019."


True. Looks like only 81 people took it in 5 years. IEEE also seems to offer a certification.

In any case, software engineering seems to be considered a legitimate engineering discipline.


They're considered the same nowadays mostly because they've been doing overlapping jobs. Even worse, 'entrepreneur' is something that tells me absolutely nothing concrete about what the guy does.

But to come to your point, in my mind - an engineer is the one who designs the software, a programmer is the one who actually writes good code to make that design a reality, and a developer is a blanket term for someone who does both (or more) jobs.


But according to the dictionary, and engineer is a person who designs, builds, or maintains engines/machines/public works.

An engineer isn't just someone who designs things... but also someone who builds and maintains them.

Wouldn't that mean that even a lowly programmer who is just simply maintaining code is also an engineer?


To me, those are roles that describe different aspects of software creation. Depending on the job, those roles are needed in different proportions.

Engineers apply math to create systems. Without Newton and his math there wouldn't be engineers or the other way round: engineers are those who create the stuff that is only possible with Newton's math.

Since only few software needs math to that degree, rarely any software is developed by software engineers.

Software developers on the other hand are like real estate developers. They don't build walls, they don't do structural analysis. Instead they combine systems. Unlike real estate developers, they mostly do the plumbing by themselves.

Programmers are to engineers what words (Greek: grams) are to math. They focus on the language and care about expressing ideas in program code.

Then there are also software designers and architects who care about the overall system structure.


> Software developers on the other hand are like real estate developers. They don't build walls, they don't do structural analysis. Instead they combine systems. Unlike real estate developers, they mostly do the plumbing by themselves.

I like this analogy, because it confirms my personal biases/discomfort about web and app developing falling under the same umbrella of "engineering" as nuclear reactor design, missile guidance, and the worldwide chemical industry.

However, to advocate against my biases, in my field (ChemE), most of the fundamental work has been done. Very few BS graduates in chemical engineering will design a distillation column or a chemical reactor. Again, most of the basic science and engineering has been figured out long ago (which is why most research ChemE looks more like chemical physics, molecular/systems biology, and materials science than reactors and unit operations).

So, to an approximation, a chemical engineer won't "build" something. They'll stitch together components that were figured out a century ago. In fact, this was the entire point of "unit operations" -- black boxes that can be represented as a functional transformation on their inputs to produce outputs, and can be solved, quasi-linearly, to estimate the overall inputs and outputs of a chemical process.

In that case, by the same analogy, they wouldn't be "chemical process engineers", but "chemical process developers". Yet I wouldn't suggest a chemical engineer who pulls correlations out of Perry's isn't really an "engineer", so with critical review, it's hard for me to justify a believe that somebody who stitches together APIs for a living isn't equivalently an engineer.

[Edit: a relevant xkcd: https://xkcd.com/1988/ -- Most engineering doesn't seem to be that different]


My title is "software engineer".

I don't have an engineering degree, or even a CS degree.

I feel pretty uncomfortable calling myself an engineer since it seems to carry a certain weight of responsibility, but seeing as the title was bestowed upon me by my work place, I'll continue using it.

IMO the designations are meaningless until there is a real standard in place for "software engineer" and what it entails (in the US at least).

I refer to myself as a "programmer" or "developer", but I use them interchangeably.

Anyone putting any real weight on the title is splitting hairs.


I feel the same way and try to say "software developer" when I can, though, same as you, my official job title has "engineer" in it.

Of course, I also see titles like "Customer Success Engineer" and "Technical Support Engineer", which are just as, if not more, ridiculous.


I agree, I tend not to call myself an engineer because I don't have a PE license and never took a PE exam (though at one point I almost took the PE exam for electrical engineering). However, I was using the terminology of the article.

On a side note, when people ask what my job is, I usually say "programmer" or "software developer". For some reason I just feel uncomfortable calling myself an "engineer", I think I find it is just a bit pretentious.


I think you're right, it just feels a little wrong to claim a title so easily when others work hard in a specific practise to earn it and have standards designated by law for it.


Or know the right people - certainly in the UK its who you know not what you know.


It's funny, I actually have an undergraduate and graduate degree in engineering - but not software engineering - and I work as a software engineer.

Yet I tell everyone that I'm a programmer/developer. To me, having seen what goes for engineering in other fields, I feel like a small subset of engineering jobs in non-software fields is true engineering. To me, that bar is inventing something worth patenting. I'd say its an even smaller subset in software.

The thing is, I wouldn't say it the highest value work is the stuff that is true engineering. Actually implementing ideas is so much more value adding and difficult in my opinion. Execution and front lines gritty work is incredibly undervalued in every industry. So I prefer to go by developer because I take more pride in that part.


Depends where one comes from.

I have no issue calling myself engineer, because I have a degree in Informatics Engineering and in Portugal it is a professional title validated by the Engineers Organization and all universities must have a green light to offer such degrees.

What I have an issue with, is developers feeling like calling themselves "engineer" after a six months bootcamp, or not having any kind of engineering degree to start with.


I have a mechanical engineering BS, but I work as a "software engineer". None of my engineering friends in college had a problem with "software engineer" as a title.

Pretending that engineer is a restricted title does not match the reality of the world today, and is unnecessary at best and creates miscommunication at worst. Language evolves and certain words become more lax and widely applied. We can prevent it in cases that are sufficiently technical (Zoom does not have E2EE, that's a blatant lie), but getting the world to use "literally" as it was originally defined is no longer feasible IMO.


>I also have a problem with calling developers engineers.

Well, I for one am both a developer and an engineer. I have a B. Eng (equivalent) degree in ICT and I work as a full-stack dev. I don't really have a problem with using either "developer" or "software engineer" to describe myself.


> scarse skills are now not based on the amount of people with certain degrees, but rather with inherent abilities that are uncommon. (Take Fortran coders as an example.)

Soft skills and people skills are also scarce skills, in my experience. You can always teach a monkey a new trick (you can always teach a fresh looking young man to program in Python or to solve a differential equation), but you can't as easily teach them to: communicate in a professional manner, talk like a professional to other professionals (both people above you and people below you), write clearly, concisely, and without grammatical or orthographical mistakes, sell yourself or your product, etc.

The geeks will not inherit the Earth. Socially sophisticated people will inherit the Earth.


Adequate comment for the user name :)


I hesitate to label that "racist". Developing a feeling from interviewing engineers trained in India or China that they're generally not competent is not equivalent to feeling they're inherently stupid or bad people. They just came through a crummy education system.


I agree, as far as that. But it's racist to overgeneralize that feeling to ethnic Indians or Chinese who did not go through that system.


It's not helped by the Indian consulting sweatshops.

I didn't have any particular prejudices about Indians before I started dealing with Tata and Cognizant and Infosys and Cap-Gemini and the ATT/IBM/Oracle Global Services divisions, but afterwards, it's just hard. You get to where you just expect dishonesty and incompetence and disorganization and abusive behavior as the default.


I was going to say the solution is to raise the bar for software engineers, but it seems the problem here is the culture around prestige and money which has prompted millions of people to go after programming careers. It's not easy to change culture.

Still I think there should be some needed post-grad accreditation for software engineers if they want to actually be called engineers.


> the problem here is the culture around prestige and money

Everywhere in the world people flock to careers with prestige and money. Chasing cash in a developing country makes even more sense because being poor there sucks even worse than being poor in a developed country.


> there should be some needed post-grad accreditation for software engineers

Which will depreciate just as fast for the same reason.


Not necessarily if it's challenging enough. Based on CS/SWE knowledge and requiring a lot of focused effort. Not a requirement to create software professionally, but a requirement to be a "Software Engineer".

This would reduce the need for crazy interviews for those that have passed it, since it proves a level of competence above scraping by for a CS degree, etc! Maybe you need a few years of real work experience to have a chance at passing the Software Engineer accreditation. Just like if you have a long work history at GoogAmaFaceSoft, it's assumed you're already pretty capable.


Not necessarily. Most gatekeeping institutions outside of education works fairly well. The Bar, the AMA, PE exams, etc.


> Still I think there should be some needed post-grad accreditation for software engineers if they want to actually be called engineers.

That's just the opposite of what works. I personally find looking at github or whatever personal project the person had to be the best indicator of whether he/she actually liked/is good at programming - for someone coming out of school or claiming little/no experience otherwise.


> but it possibly creates unintentional racial bias in interviewers because the sheer volume of crappy engineers being churned out from universities has preconditioned you to think all engineers from there are crappy

You can't blame interviewers being racist on the bad actions of some university. They have to address their own racism themselves.


“You can’t blame cops for shooting innocent minorities. You have to blame guilty minorities.”

Yes, you always blame the racists for being racists.

Edit: instead of deleting my (incorrect) parsing of the parent poster, I’ll leave this here and accept my well deserved lashings and downvotes...


I think you're misinterpreting his statement. I think he's saying that the actions of the university are not an excuse.


You are correct. See edit.


That hasn’t been my experience.

Biggest predictor for anything is past experience, and understanding what bad habits people pick up in different places and roles — your interview needs to look for that.

End of the day, people are snobs about education, etc. Some companies just won’t deal with you if you didn’t go to a school on the happy list.


"sheer volume of crappy engineers being churned out from"

This has been a problem my entire career. Long before China, India, Vietnam, etc entered the fight.

Credentials are just one signal in the torrent of noise.


Let me just nod in the direction of stackoverflow and how it developed with regards to quality of content ...


I didn't check in for a bit of time, but the homework questions are still quickly closed and marked right?


The article is about the education of engineers in the country of India. The vast majority of Indians working in engineering in the US were born and raised in the US, or at the very least educated here. Ethnically Indian people in the US are disproportionately represented in the upper levels of tech. Anybody who can't recognize this has only themselves to blame.


Which part of the parent comment are you responding to? I'm afraid I don't see how your comment follows.


> And I hate to say it... but it possibly creates unintentional racial bias in interviewers

GP is trying justify racism by interviewers when the people being interviewed and the people mentioned in the article are two distinct groups. This is HN so you can't just say "don't be racist", but even from a logical point of view this doesn't make any sense. How does perceived poor performance of one group justify discrimination of another unrelated high performing group.


This is a well written article. For decades, the Indian society has tried to use engineering (along with law, medicine and IAS) as a template to success. Given the population numbers, it was bound to break sooner or later.

As an Indian CompSci graduate, I am excited for this bust to happen as soon as possible. Most people I know did not like studying computer science, are absolutely unhappy with their worklife and want to get out of it as fast as possible. Out of the 700+ in my graduating class of Computer Science, less than 70-80 are still associated with computers in some for or manner. Most fucked off to other fields, predominantly MBA. I hear similar stories from other Tier 2/3 institutions.

I can't wait for Indians to realize just how much easier it is to get employed today if you are willing to let go of the traditional path. Internet has unlocked so much opportunity and after 2016, pretty much all barriers to internet access have been lowered as much as possible. All you need is a computing device like a phone or laptop to get started. Doesn't work for the extremely poor still, but the opportunity for mass swathes of people have been widened much more than before.


> Out of the 700+ in my graduating class of Computer Science, less than 70-80 are still associated with computers in some for or manner.

I can back that up with my anecdotal stat as well, that number is rather generous, not even 70-80 would be doing it still. There were some which hated it and it showed. They were pressured into it and they were just struggling all around to develop any interest at all in the field.

> I can't wait for Indians to realize just how much easier it is to get employed today if you are willing to let go of the traditional path.

I am skeptical about this. Unless you can actively demonstrate competence (select few) you are not going to be favoured against someone with real degrees in the pile of resumes.


> I am skeptical about this. Unless you can actively demonstrate competence (select few) you are not going to be favoured against someone with real degrees in the pile of resumes.

That's why I said, if you are willing to let go of the traditional path. If you have to compete against a pile of resume, you are near or on the traditional path.

Employment doesn't necessarily mean you have to be working for a company.


Could you give an example?

Clearly, there are new paths. Streamer, Podcaster and so one. But nothing that couldn't employ masses.


What sort of opportunities are available for someone with little experience/qualifications in a poorer country?


In East Asian economies, the workforce transitioned from farming to labor-intensive manufacturing before moving onto high-tech services. India, in contrast, had a booming tech consultancy sector before they had a strong manufacturing sector. A poor farmer in China, and Japan/Korea in the decades prior, could move to a city and make a better income on an assembly line despite not having any formal education. A poor farmer in India needs to jump up to a service job which needs a lot more training and preferably a diploma to prove it. So even if your local college is a shit diploma mill, you'll still send your kids to it because there's no other choice for upwards mobility. There's no factory job where your children can get hired at and save up so the next generation can go to a college with legitimate training.


Which is good overall because automation is making those manufacturing jobs worth less and less. Companies are starting to leave China for low wage countries already. Right now service jobs designing the automation is where the real money is and India is well positioned to take it.

Note there are no easy roads to success in general. Being born to the right family helps (a lot) , but you can sti mess up.


Apparently not based on the premise of the article discussing the poor quality of service workers coming through India's education system. My hypothesis would be that the poor quality in education comes from trying to funnel as many people as possible into highly-skilled service jobs because there's no middle rung for them to take a rest at. Rushing things without a solid foundation always ends up being self-defeating and slower in the long run.

In addition, automating a factory process is more effective if the designers live in a society with plenty of manufacturing experience. Avoids problems like egghead designers creating the latest automated process that turns out to be a nightmare for maintenance when actually used in a high-volume manufacturing line. I'd be willing to bet big chunk of the companies in the future automated factory revolution would be Chinese companies leveraging their manufacturing experience. Once again, skipping steps = problems down the line.


The article is just a repeat of similar ones I see in the US pushing some agenda. I take it with a grain of salt.


Plenty if you are willing to learn. People are creating exceptional stuff on the internet. From blogs, youtube, instagram to SaaS and apps, the content to learn all of this is available easily.

It does not work for literally everyone from the country but the people I'm talking about can definitely travel on this path.


> Out of the 700+ in my graduating class of Computer Science, less than 70-80 are still associated with computers in some for or manner

'700+ graduating class' sounds more like a fraudulent diploma mill than a Tier 2/3 college.

Actual Computer Science and Computer Engineering grads from Indian Tier 1/2/3 colleges have no problem finding jobs.


Nope. Legit college whose students went onto excellent post graduate programs in US and Europe. 700 in a graduating class is chump change in India. Plenty of colleges whose annual batches are that size.

I never said they had trouble finding jobs. You jumped the gun. I said they were not happy with choosing computer science as a career.


Why is 700+ fraudulent ? HBS for example, has >1000 students in their graduating class


Berkeley is graduating 900+ undergrads every year in EECS/CS.

https://eecs.berkeley.edu/about/by-the-numbers


> For decades, the Indian society has tried to use engineering (along with law, medicine and IAS) as a template to success.

Isn't this the case everywhere? Even in developed countries education has become the default path to a successful life. Medicine and law are extremely competitive fields because they have a reputation for guaranteed success. There aren't many opportunities available for people without qualifications.


Indian universities outside of the top rung (IITs et al.) have been issuing worthless degrees for at least 3 decades. In my state during the 90s tech/outsourcing boom a lot of corrupt politicians realized that engineering education was a gold mine and opened degree factories all over the state. I graduated from a supposedly "reputable" university in 2004 and was basically unemployable on graduation.

Looking back here are a few memories of my college education experience that stand out:

* 1 computer "lab" with 15 PCs shared amongst 720 students. Only 1 PC had a dial-up internet connection that rarely worked.

* Majority of the courses taught by industry rejects who were unemployable.

* Hilariously we learnt standard nix command line tools (sed , awk, filesystem commands etc.) by writing the commands and their outputs using a pen and paper never once using a real terminal + shell because the college did not have a single nix machine.

* "Systems Programming" professor walks in the first day and declares she cannot code in C and 8086 assembly which the course mandated. She encouraged us to seek external tutoring (coaching classes as they are known in India) instead of relying on her.

* There was small cottage industry that sold finished projects to students - including source code, project reports, electronic circuitry where applicable. About 30% of the class bought these “projects” off the shelf.

Thankfully my family was able to send me to an American university for a graduate degree allowing me to have a shot at a tech career. Now having lived and worked in the Bay Area for 15 years I can say that quality of education at an average community college in the US is far superior to the tier-2 / tier-3 universities in India.


I am an Indian and I have seen so many worthless engineering colleges. The main issues, at least in my opinion, are "very very" bad teaching and very low incentives for someone to study well. I can't fathom how easy it is to pass a class in these engineering colleges and how widespread plagiarism is. When >50% points of the class is determined by a single exam that repeats same questions every year, it isn't hard to study for a day and pass the class. I am not kidding, you can buy an "all-in-one" of around 600 pages which is essentially enough to pass or even score 80% in "all the classes" in a semester.

I would say at most 10% of engineering students in India are properly taught and properly tested and rest of them just spend 4 years in college essentially learning nothing. When it is so easy to get an engineering degree, people who barely pass high school also enroll in these programs for "engineering degree" and become an "engineer" after 4 years of college. It's no wonder that most of these "engineers" can't do anything.


> The main issues, at least in my opinion, are "very very" bad teaching and very low incentives for someone to study well.

Another significant element I'd point to is outdated curricula. By way of example, many Indian CS course materials still require students to use Turbo C++ -- an IDE from the mid-1990s which runs under DOS. Needless to say, what ends up being taught is hardly representative of modern practices.


I don't think the curriculum is outdated. Those are tools you are talking about.


They go hand in hand. A C++ IDE from the mid-1990s implements C++ as it existed in the mid-1990s -- which is a rather different language from that which exists today. No STL, for instance. Without access to modern features of the language, it's inevitable that the course won't end up teaching those features.

Moreover -- the use of a 25-year-old IDE is symptomatic of a more general problem in Indian CS (and probably other) curricula. Many instructors are teaching to a syllabus which was set in stone many years ago. If you look at some of the links I posted in a sibling thread or explore other universities' posted materials, you'll probably see signs of this -- Java courses which still cover applet development is another common one, for instance.


Reference please...


One common citation is:

https://www.quora.com/Why-is-Turbo-C++-still-being-used-in-I...

But I'll do one better -- here are a couple of syllabi and course materials that suggest that it's still being actively used in universities:

https://www.darshan.ac.in/DIET/CE/SubjectDetail/2140705 (note the "reference books")

http://cmscollege.ac.in/course-menu/syllabus-object-oriented... (similarly)

http://www.alagappauniversity.ac.in/modules/DDE/uploads/book... (published in 2018, references Turbo C++ throughout)

http://www.dbit.ac.in/cse/syllabus/compiler-design-lab.pdf (2017, references Turbo C++)

You can find more examples pretty easily. It does look as though some universities are starting to support the Code::Blocks IDE and/or Geany, but not consistently.


When I joined Engineering in India (1994), my state had 2000 engineering seats. 120K people wrote the entrance test for the 2K seats.

Today the same state has about 250K seats. Anyone who writes the entrance test can get into some college or other.

Has the quality gone down? I would think so. But I definitely think qualified students is definitely greater than 2k even when I went to college.

I would rather prefer over supply rather than shortage of educational opportunities any day.


To play devil's advocate...

The value of an education comes as much from the group of peers (classmates who interact regarding experiences, plans, lessons, and ideas) as from the books and professors themselves. Like a critical mass of brains.

If you water the group down, then the most talented cohort benefits less than if they were the only people to advance.


As someone who got an undergrad degree from a top 40 school and is now taking courses at a state system school accepting a lot more students, I completely agree.

The difference in terms of work output and professionalism between students is massive. Presentations from other students lack depth and often fail to explain basic concept; they have very little educational value. Group work is a complete mess since a lot of people never learned how to organize themselves, have very little motivation or fail to explain their ideas properly. Simple things you usually learn in undergrad like putting a bibliography together or spell checking documents are lacking. You end up wasting huge amounts of time correcting other people's mistakes.

Another big difference I've noticed is that students seem to have little interest in the area of study; none of the ones I met have non curricular side projects. There's also a lot less discussion happening outside of classrooms.


You are not hanging out with the right people then. I think you will find the top students in any random state school are just as good as at an ivy league institution. Source: I've been at both.


I've been at both an average school (undergrad) and a top school (grad). I somewhat agree with your parent.

I don't doubt great undergrads exist in an average school, but the chances of randomly running into one are much lower. I did not run into any.

I'd also disagree with the characterization of "top" students. A lot of the top students at the average school, while great at academics, were still a lot less "well rounded". They had few projects that they worked on outside of class, etc. Not that they weren't interested - just that there was not enough "critical mass" of such people for it to become natural.


Or maybe they spend their spare time working so they can afford to stay in school.


There are a few top students at a random state school that are just as good. The difference is that there are just many, many more good students in an Ivy League institution.

Also, the Ivy League students just have a much better education. You can tell by interviewing the bad Ivy League students and noticing that at least their thinking process is structured (try to understand problem, form hypothesis, etc...) The bad students at non Ivy League level schools have no thinking process. It's saddening.

You can tell that the few top students at the random state school would be even better if they had the opportunities that the Ivy League students are provided. It's much more impressive to get to third base starting from home than getting to home starting from third base. It shows independent thought, grit, and adaptability. Those aren't that common even at the Ivy League institutions. The trait most prevalent in Ivy League interviews seems to be excellence in a circumscribed area rather than general ingenuity.


There might be some students that are just as good as the top ivy league students but in a smaller faculty (~100 students) that number is most likely closer to zero.


Looks like the parent is saying that the right answer is somewhere in between. When enough engineers can be educated without watering down the entire cohort


Value of education in a professional context comes from such things. Many professional groups such as lawyers , accountants, actuaries etc have entry systems which are not directly linked to the education itself ( BAR membership and degree in law etc).

Value of education itself cannot be only quantified by the its value in a job, even a poor education is better than none. Lack of employability should not be a reason for not learning.


TLDR: The passion and rigor for study/education died and it shows

Being from the same decade , could not agree more. It was really selection through fire (especially if you were in general category of applicants) . Not all set their sights on this degree , the later part of the decade set about this whole boom of software engineers (Y2K , eCommerce etc.)

Those who didn't get in , then got into roles of lecturers in these colleges that mushroomed. The quality started going down in GP , 1/2 cooked engineers produced 1/4 cooked ones and this went on.

I think what is to blame as well was the fact that the path was all too easy and clear , finish engineering , pass through some quant tests , 3 month bootcamp and lo you have your job (or in some variant of this). Attitudes changed toward this easy life.

Compared to this other professions like Charted Accountants (CPA equivalent) , Actuaries (who i think are the best data scientists around) or Doctors where there is a lot more work in the first decade of one's career post undergrad , engineering was a cake walk.


This article is all over the place, with some elements of truth. The essence is that Indian universities don't provide good education - that's been known for decades now. This is reflected in how many Indians have been going for higher education to Western universities for decades.

> There are currently more than 3,500 engineering schools across the country, and about 90% of graduates do not have the programming skills to work in software engineering

That's because there are non computer science graduates as well?

> In India, you need a ‘traditional degree’ before you pursue your passion,” he said. “And that degree in almost all cases is engineering.”

Not true, this depends on the region. Engineering is way more prominent in South India than the rest of the country.

> With programmers everywhere, annual salaries for entry-level jobs have remained at around $4,500 for the better part of a decade

This is referring to the outsourcing companies I'm assuming. Ironically, majority of intake of the outsourcing companies are graduates whose major is not computer science. So the presence of "programmers" should not have an impact on the other engineers.


Five years ago I was working at a software company in Europe that was willing to accept hires from anywhere, globally.

We managed to hire about one smart person a month, out of a torrent of perhaps 1000 applicants per month. The vast majority (like 85%) of the applicants were from India and Pakistan. And out of those, 95% used the exact same resume/personal letter layout and content, sometimes down to the exact same wording.

We tried to be openminded, so we set up a bunch of interview calls with especially promisingly people from this "pool". After about 10-15 of those calls we just gave up.

We did eventually hire two indian people and were very happy with their contributions, but only after they had made their ways to our little country on their own. Imagine being a talented developer in India, interviewing for a job overseas, against this background of overwhelming mediocrity?


Resume scanning/filtering is a real problem.

Generally I start classifying resumes into two piles: those that put everything they know on their resume, and those that include a handful of relevant, interesting pieces of knowledge with a few lines of job experience to back those up.

When "everything they know" fits on four pages, in my experience they aren't worth interviewing.

When "interesting pieces of knowledge" makes me want to ask more questions about what they did, in my experience they are worth interviewing.

Unfortunately the HR system scans for keywords, which makes the "interesting pieces of knowledge" resume less likely to get through HR and "everything they know" more likely to get through HR, which is the opposite of what I want to see. HR needs to either admit that they need to hire a developer to scan resumes instead of using automated software or just admit defeat and pass all resumes on, regardless of source or quality. They just are not capable of filtering software developer resumes in their current form.


Having an HR department filter resumes for qualification before the relevant manager/team sounds like an absolute disaster. If I heard that happened at the company I was at, I'd probably pack up and leave because I wouldn't want to work in a place where leadership doesn't realize how obviously stupid that is.


"HR" wasn't really involved in hiring, except as a secretary role here. The scanning and decisions were made by development managers and team leads. I think that's the way it should be.

(HR printed out all applications on paper. We sat in a meeting room to scan through them, and discuss them. The mechanism was: scan through each one; write your initial and then yay or nay. Obvious ones got into the yay/nay piles, then we debated the maybe pile. After all of that, HR set up interviews with the people who ended up in the yay pile.)


The article draws mostly from this piece from a company that apparently tests prospective employees.[1]

Good coding skills (the ability to write functionally correct code) are possessed by 4.6% of Indian job applicants, 2.1% of Chinese candidates and 18.8% of the US candidates in the IT and software industries. However, if we consider only those candidates who can write correct code with few errors, the gap between China and India narrows (8.6% vs. 9.8%, respectively). Interestingly, while the percentage of Indian engineers who code well is greater than the number of Chinese engineers, a much higher proportion of Indian engineers (37.7%) cannot write a compilable code compared to Chinese engineers (10.35%). This means that India must do more to educate its general population in proper coding skills. By comparison, the US engineers perform four times better than Indian engineers in coding: only 4% of the US candidates cannot write compilable code despite the fact that the base of the engineering population in the US is approximately four times smaller than in India.

I wonder what their tests look like.

[1] https://www.aspiringminds.com/thankyou/?url=2602


The last sentence of this paragraph makes me distrust the whole analysis. Mixing percentages with population-dependent numbers makes no sense. And even if that did make sense, the conclusion is exactly backwards. If fewer people go into engineering you would expect the few people who do make it to be of higher caliber. Obviously as you widen your pool you will regress to something closer to the mean programming ability.


And I don't consider being able to "write compilable code" as a good metric for programming ability. You can be a great programmer in many different ways: in optimising for performance, in optimising for testability, in increasing readability or in reducing the time taken to produce working code. Most people I know really heavily on an IDE to help them write compilable code because they want to use their brain power on solving issues the IDE can't help you with.


I would be interested to know if there is actually an oversupply of programmers or whether there is still a shortage of skilled ones in the labour force and they are just graduating anyone who pays their tuition.

We have that problem here in Canada and the USA. Plenty of developer jobs are open, but I also know lots of CS grads who never found jobs, even two years out of university. That's because most would struggle with FizzBuzz.

Sure, they are on paper qualified to do the work, but absurdly unqualified in actual skill.


A good CS program will touch on FizzBuzzesque questions early on as part of one of the introduction to programming classes, and in later classes do a deep dive on algorithms and their efficiency in pseudocode or real code.

I guess it's possible they didn't practice, but I have a hard time believing that they could get through an undergrad CS program and not be able to quickly remind themselves of some basic code logic beforehand if they don't already code regurarly.

Were they actually passionate about CS? Did they have bad professors?


> The best jobs are reserved for graduates of the Indian Institutes of Technology (IIT), the crown jewels of the country’s higher education system. Every April, over a million students take the Joint Entrance Examination (JEE), the primary pathway to the IITs. There are fewer than 12 thousand seats at the 16 IITs in India, and they accept one in 50 applicants each year.

This is one of the core issues many people seem to ignore. The number of universities where you can actually become a good engineer is really small, apart from the IIT/NIT/BITS/IIIT, the rest can be categorized into mediocre to astonishingly bad.

I do have a lot to say about this topic, as I had go through this experience first hand, and I wasn't one of those who managed to get into a good university (in fact, I barely managed to get into a really shitty one).

Here's a short summary of what's it like to get a degree from shitty private university in India -

a) There's no focus on getting an actual education, people (including professors, students, their parents) are more concerned with getting a piece of paper which certifies that the student is an engineer now.

b) The faculty responsible for teaching rarely give a shit, not that they have an ability to give a shit in this case. Most of them barely know the material they teach. I've had lecturers who would literally write out Java code on a board and then explain the meaning of each word for the next hour.

c) Most of these schools have mandatory attendance for classes, so if you have assumed you'll just sign up and go through the material on your own, you're screwed. You will end up spending 8 hours everyday for 4 years doing this, then spend additional 2-3 hours everyday doing assignments which basically consist of copying shit from a textbook.

d) Exams are just an exercise in mugging up the textbooks. Even for subjects which involve programming.

e) Companies that hire out of these schools are usually service based like Infosys, TCS, etc on a salary of about $300/mo. So the next time you complain about the shitty Indian guy with a thick accent who writes spaghetti code, just remember that they're getting paid peanuts for doing so. Also these companies have a bond of anywhere from an year to 3 (which basically means if you leave anytime before this period, you pay the company <X> amount), it might be illegal, but then your lowly IT guy doesn't have the resources to take these companies to court.

There's lot to write about this topic, there are a lot of facets which intermingle with one another in absurd ways, perhaps I might write something more detailed some other day.


Even happens in the US. This is why US tech companies don't give a shit about a diploma. Half of applicants then can't pass basically fizz buzz during a phone interview. It get's even worse once on site. As annoying and ineffective as tech interviews are we can at least weed out the people who have no idea how to program fairly effectively. Though too much of the focus is on that really. When it comes to higher level positions interviews can barely even start to gauge talent.


> The number of universities where you can actually become a good engineer is really small, apart from the IIT/NIT/BITS/IIIT, the rest can be categorized into mediocre to astonishingly bad.

I wonder why this is. It doesn't seem like it would be that hard to teach basic CS well, nor would I think that India would lack for competent people able to teach this way.

Does this occur in other parts of Indian society? For example, is it like this in medicine? Or food processing?


I spent a good half hour composing a reply and then I decided to defer to the expertise of someone who's spent the last decade and half grappling with the Indian education system.

Full disclosure: The author is a friend.

https://www.livemint.com/Opinion/9B4x2LbRpZuwuFz72g9f3O/The-...

https://www.livemint.com/Opinion/RybPVLh2hlTYsSBycUIzgM/The-...

(edit removed an irrelevant link)


> It doesn't seem like it would be that hard to teach basic CS well

Why do you think so? If anything it's harder than doing a regular programming job, because in addition to knowing CS, you have to know how to teach. And programming pays better than teaching.


> And programming pays better than teaching.

Let's quantify that since most people don't understand just how bad the discrepancy is.

A lecturer in CS might get $4000 for a semester. That's 12+weeks at 40 hours a week of work preparing the lectures, grading, preparing tests, and answering student questions via email. Not joking.

That's right around minimum wage in most civilized places in the US (about $8 an hour).

I presume the discrepancy is much worse in other countries.


I have taught CS, and I'm not sure I'd say it's harder or easier than a straight programming job. It's certainly different. Teaching definitely is an independent skill. But on the other hand, there are a very large set of skills that are part of being a professional programmer that are never really touched on in an academic CS program.

Based on the above description, though, the issue doesn't seem to be that CS education there is mediocre, but rather than it is abysmal. Not sure what to make of that.


There is a crisp answer: the disparity in pay between the tech sector and teaching jobs. When you get 3-4 times the pay in a software job, only the desperate and the dedicated opt for teaching. That is a recipe for disaster. Dedicated teachers might demand more pay, so it is mostly people who can't find a tech job for the moment, and are desperately unhappy to teach, and ready to flee as soon as they get a software developer position.


Put another way, why is this problem worse in India than it is in the US? Those factors would seem to apply more-or-less equally in both places.


In the US, for-profit education (Univ. of Phoenix-type) is equally bad. I think there is a report by former Senator Tom Harkin (D-Iowa) from circa 2011 on this. [1]

But almost no US educational institute is for-profit, many run on endowments. The teaching faculty often have PhDs. The faculty in CSE even in teaching colleges have had post graduate education, often involving research.

The teaching staff in Indian for-profit colleges are essentially the stragglers among the UGs from similar for-profit colleges. Poor pay with a shoestring staff willing to work for that pay is part of the business model.

[1] https://www.insidehighered.com/news/2012/07/30/harkin-releas...


Nobody mentioned the problem of Indian "high context society". Individual developers may be very productive when employed by western companies but from my anecdotal experience Indian teams in India have very low real productivity due to the "cultural specifics", aka rigid hierarchy and people dynamics.


Same thing has happened with college degrees in the US. Why are people always surprised by this? A credential only has value through exclusion.


The credential's value doesn't go down for the entity seeking someone with the credential. The value only goes down for the person who has the credential IF they were deriving value from the exclusivity of the credential.

In other words, the value one gets from the exclusivity of a credential is separate from the practical value of having the credential.

The value from the exclusivity is bound to decrease as a population recognizes that value and rush to claim some of that for themselves which in turn diminishes that value for everyone.

As the value of the exclusivity is removed, the true value of the credential is discovered.


If a credential gets less exclusive over time (meaning they relax the requirements on it) and the same company seeks someone with that credential repeatedly over time, the value that the company expects from that credential does go down.


A credential becoming less exclusive doesn't necessarily mean the requirements are relaxed. Could mean the requirements stay constant and there are more people shifting their priorities, seeking to obtain it and succeeding.

Of course in the real world, supply will react to the increase in demand and those looking to make a quick buck will offer an inferior credentialing service. For example: the fairly recent glut of web dev bootcamps (Of which I am a graduate of one, it can work occasionally).

And then things get complicated and every firm tries to filter out unqualified candidates with wild interview processes which leads to countless blogs about the whole situation including the article featured here, which is, at least, tangentially related.


Lowered exclusivity doesn't require the requirements relax though. If, before, there was one student passing the exam candidate, and now there are 10 passing, where have the requirements been relaxed (assuming there's no cheating going on)? It's less exclusive because now there are ten instead of one (well, eleven total) but the bar hasn't been relaxed, there's just higher supply.


A credential has value derived from the ability (in a given subject) it takes to obtain that credential, and how useful that ability would be to an employer. Qualifications awarded by a college usually indicate that the student has a certain level of ability in that field. When colleges' standards of what they deem to be an adequate level of ability to warrant granting a qualification drop, so do the value of those qualifications, independently of how many people have that qualification. That is what happened here: “Quality was compromised in pursuit of quantity.”

There is still demand for skilled tech workers, but many technical colleges are not producing them.


It's really interesting to see the bottom-rung schools closing. In the U.S. the legal field has been saturated for years and I'm not aware of any law schools closing. I wonder if the easy availability of school loans is propping up the lower schools in the U.S.


> In the U.S. the legal field has been saturated for years and I'm not aware of any law schools closing.

There have been several mergers (I'm personally aware of one in my area), and it sounds like some schools have closed as well:

https://www.abajournal.com/magazine/article/urge-to-merge-la...


Sounds like India's 'push against tech event'

The same around early 2000s where suddenly there were a large amount of surplus programmer and even my parents social circle which is about 3 level removed from any programming start talking about this 'surplus' and how starting a programming career or major is a bad choice.

Tech is still the biggest job creator and the best paying job for what we do. It's easy to be shortsighted over a couple of months about what you don't understand or can't do well, but this world is clearly marching towards an more autonomous future.


I felt similarly after a career change via a coding bootcamp regarding what perspective employers would really think about someone coming out of such a system.

I think bootcamps can work, but the incentives for those running them are off.

At the camp I'd look around the room and think that about half the folks straight up can't do the job, and "If one of these people interviews before me / or worse gets a job and bombs ... am I even going to get an interview?"

Fortunately I got a chance to prove myself with an employer and got my foot in the door.

But even so sometimes in casual conversation I just say "self taught".


The top story on Hacker News right now is how Twitter is allowing (some) employees to work from home permanently. The locational cost of living arbitrage (from an employee perspective) and labor arbitrage (from an employer perspective) available in the market is immense and companies that can succeed in overcoming the language and cultural barriers are looking at a massive opportunity.


The story goes into how 90% of them are unqualified even after training. It doesn't matter how cheap I can hire someone if they can't do the job they're a net negative.


OK, but what about millions of European devs who earn 50% what an American dev is earning? Or Canadian, or South American?


Why should it be the western companies that overcome the cultural barriers and not the indian workers?

Asking as an immigrant to the west.


It's only worthless if you don't practice. There are tons of programming jobs out there but don't expect to get hired if you can't do the simplest algorithms. Many people who earn CS bachelors in India have barely even touched computers. There were some in my Masters courses who were hopelessly lost. Then there are some who are topcoders and into competitve programming, practice and experience are what really matter.


What do they do in their CS curriculum if they're not actually programming?


they just do the math and theory, many classes have hundreds of students and neither the students nor the universities have the infrastructure to support computing for all the students. Not all students can afford a Rs35k (~$500) laptop (or cheaper) when that's the price of admission for the entire year.


I've noticed something similar in the US university system. I was a Assistant Prof during my PhD in CS at a state college. Students from our program went on to directly compete and get jobs over students from Stanford, MIT, CMU, etc. Our program probably cost 1/4 that of other "prestigious" universities yet we largely had the same outcomes for students.

Personally, I'm glad there's been a leveling of the playing field.


But the article is describing the opposite phenomenon, it seems that in India only students from their Stanfords and MITs are qualified for and get the jobs.


A lot of this argument seems to rest on this premise...

"Good coding skills (the ability to write functionally correct code) are possessed by 4.6% of Indian job applicants, 2.1% of Chinese candidates and 18.8% of the US candidates in the IT and software industries"


A wrong premise based on Aspiring Minds fraudulent studies.

Aspiring Minds is an Indian company that sells buggy web-based pre-interview filtering tests as a service. It is in Aspiring Minds interest to portray (Indian) college graduates as incompetent to make companies buy their pre-interview filtering services.


Based on the US candidates that have come across my desk, I'd agree with that!


Tagnetially related. Because of COVID lockdowns, many consulting firms are shutting down. I hired an engineer with 2 years experience to teach me HTML/CSS/JS for one month. So fa I am satisfied with him compared to what I learnt on Udacity frontend nanodegree. I am paying him $100 for 30 hours of classes. For people wanting to learn stuff, this is the best time. If you want to contact him, email is in profile


> I am paying him $100 for 30 hours of classes

Seems a bit unethical to pay someone $3/hour for their time (unless he is retired/mainly doing it for fun/teaching a lot of students at the same time).

But for a person trying to make a living with 1-on-1 lessons, that's pretty brutal.

I pay $15/hour practicing foreign languages on italki


>> But for a person trying to make a living with 1-on-1 lessons, that's pretty brutal.

Well, for now, he is looking at this as side/fun income. if he asks, I will pay him more. But ask he has to.

Also, all along I was not able to pay market rates. So, I could not entertain idea of hiring a tutor. Only Because of covid crisis, I was able to hire for so low.


Who in the world would be willing to teach for 30 hours for $100? I would be much better off spending those 30 hours looking for the few available jobs that are out there or do the old r/cscareerquestions “learn leetCode and work for a FAANG”


Err. The kid is awake for 16 hours a day. He is applying for jobs in 15 of those hours. This one hour is extra money for him. Also, it is at the same rate as as his full time job pre covid.

There are just not enough new people hiring in India right now. So any extra little money helps.

To your question, who in the world is willing to teach for that low, think of it as his first teaching gig. Through this, he is discovering a new market for himself.


I live not in the poorest of countries, but $3 is what school teachers make working full-time outside of a few major cities


Just want to make 3 quick points:

1/ Society should provide the courses that people want to study. Not everyone wins the lottery when they are young. So to to limit engineering to X number of slots and lock the rest of society out of engineering degrees. That's wrong. That's not freedom. And that's why bootcamps and diploma serve important roles. They give people a choice. As for the quality of graduates, that's up to the filtering process of companies.

2/ Computer science is far too broad and should obviously be broken up. Yet it hasn't. People focus on different things. Some focus on security, on web dev, on robotics, on machine learning. You can't throw a frontend guy into the backend and 1 month later call him "a terrible coder". That's unfair yet it happens.

3/ Programming is clearly on the path to becoming ubiquitous. My prediction is that the trend will move towards having more domain knowledge. So yes, the degree is becoming useless because just being a programmer isn't going to be enough anymore in the future.


Pretty damning "There are currently more than 3,500 engineering schools across the country, and about 90% of graduates do not have the programming skills to work in software engineering, according to one study."

That said, I'm curious how you could talk to someone about programming for four years and at the end of that 9 out of 10 of them could not actually do it.


To follow up on what CosmicShadow said, one of my most memorable interviewees was the candidate with an MS Comp Sci who, upon being shown the problem for our team effort design exercise was able to categorize it (something in CS theory I had never heard of), explain what the canonical solution would be, but was completely incapable of writing the for{..} loop that comprised the first part of the solution.

I honestly don't know how it happens. She clearly wasn't an idiot, and she certainly learned a lot of theory but couldn't program her way out of a paper bag. And this was not for an entry level position, either.


Reminds me of the first PhD CS I worked with. He asked me for some problem he was having with his system and after poking a bit, I said the quickest solution would be just to reboot it. He gave me the blankest of blank looks, so I rebooted it and he watched the process like the computer just grew horns.

How can you get all the way through a PhD program without even encountering the concept of rebooting a computer?!


These stories are genre in themselves. Next I'll read about how some CS PhD didn't even know what a computer was.


I taught intro web dev courses at a "highly rated" college in Canada in a program that was specifically for a post-grad, international audience. It was 99% people from India who finished 4 year university degrees in computer science and the like.

Out of a class of 35 students who were already in their 2nd, 3rd or 4th term of this program, no one knew to press F12 to see the console in a browser. This was a web development program. I basically had to teach these kids as if they just walked off the street. No matter which new batch of kids I had, it was like this. I asked them how they could know so little about anything development wise if they took 4 years of CS, like literally what did they do. They'd always just answer that they learned "Theory" and something about learning out of a book, not actually developing or anything.

I still didn't understand how 4 years of theory or book learning couldn't teach you the most basic programming concepts. I'm pretty sure the schools were just mills or scams or something, it was sad.

Most of the students had no real interest in actually learning how to code or doing any learning either, they seemed to believe that just by showing up they'd pass, get a degree and a good job, which was bizarre, especially in a university town and tech hot bed. The amount of cheating, copying, lying, begging, etc. didn't help. A few folks were genuine, but the program seems like it's just a legal loophole to get into the country where if they get at least a technical support job after 2 years of grad they can legally become citizens. This is the fastest growing and most profitable sector of this college.


My MS (Software Engineering) classmates usually didn't have that problem but interestingly, someone pointed out to us that it was possible to go through the entire MSSE program without writing a single line of code if you chose the right classes.

I sometimes wonder if they did that by design...


Ouch! That is so sad on so many levels.

To be fair, I can understand when someone doesn't know that the shortcut key for the dev console is F12, but I would hope they would at least start at the "hamburger" menu to see if they could find it.

Your anecdote reminds me of the dot com days when I was trying to hire some network engineers. Their only qualification appeared to be they passed some certification test on Cisco gear. The only questions they asked about the job were "how much stock will I get?" and "when do you think the company will go public?" It was easy to not hire them, even when we were really in need of people.


I don't even think they knew what the console was...


Yikes, I guess this changes my opinion on Canada's immigration system...


After conducting enough interviews to not be able to do them anymore because they depress me. I believe it.


I’m curious how they wouldn’t just start small shop programming companies. 4 years should teach you how to make apps, or make web sites, or automate some arbitrage situation, or tons of other things that I can do on my own with programming skills.


Peter Thiel talks about how the "4-year degree" has obtained a similar status within the United States.


Not exactly. It is much more common than it was a couple decades ago for jobs to require a bachelors degree as a minimum. You can argue that the intrinsic educational value of a 4-year-degree has become diluted, but the (unfortunate) reality is that having a degree is a baseline requirement to even get an interview.

That's different than a computer science/engineering degree being devalued to the point where it's no longer more attractive than any other college degree.


The article and the thread are horribly mixing at least three different things under the word Engineer. Actual Engineer degrees B. Eng., 'programmers' which I guess could be B. Software Eng. and something called IT Engineer which I presume is a sort of two year network admin thing. No wonder there's so much confusion about the value of things and people being surprised not to have the status they expected when the person telling you you need to be an engineer meant a substation designer and you thought it meant tech support.


In Canada, the term “engineer” is protected, but in most places the term is used loosely. Eg, in the USA, if you email Unity about a licensing question, you get a response from a “customer service engineer”


Only with regard to certain industries.

I believe software engineer is pretty free-for-all. Just don't try and represent yourself as a P. Eng. Then you're in trouble.


Which probably means an regular engineer assigned to customer service, I don't think it is means that customer service is viewed as an engineering discipline.


I know clickbait, hyperbolic titles allow for more, hmm, clicks, but they rarely help make the case for your article.

Since he uses the word "worthless", how does that compare it to folks who graduated in History or anthropology or (running joke in the US) graduated in English?

Think of this: People in poor country, need to do what it takes to better their prospects. So they go for the one industry that pays relatively better. Nothing illogical about it and seems perfectly rational to me. And I can see similar trends in the US too. A lot of lamenting on "how I wished I learned to code, major in CS, etc.", given how drastically better the tech industry pays. https://levels.fyi ICYMI. Oh, the poor worthless English majors.

Also the lack of empathy was quite striking given the author himself is a recent "worthless" graduate of a technical degree - https://www.linkedin.com/in/nilesh-christopher-20831784/ Maybe he comes from an upper-middle class background and was able to pivot into journalism, but the fact that he didn't mention his own background meant that I couldn't take this article seriously.

On a more meta topic, does education always have to "worthful"?


Change 'engineering' to 'law', and you have a similar situation in Brazil. There are 1,500 law schools in the country. Most graduates today never end up practicing it.


Tangential question (which has been on my mind) related to this:

I don’t have a CS degree. Background in something completely unrelated. But I’ve been able to make a living programming doing my own thing (bootstrapped online stuff). As a result, I never bothered to apply for jobs at established CO’s.

For those who work in established tech start ups or tech companies, what proportion of your software devs have an actual CS degree vs self taught? And is there some glass ceiling as a result?


Most of our developers either have a degree unrelated to programming or hold no degree. Of our top three programmers, two are dropouts and one has a degree in physics. Two of them started with us having dropped out undergrad (unrelated), and the third we hired after decades of experience at other companies. The common theme I've found with all three is a passion for programming and learning in general. If they didn't do this as a job it would be their hobby, this is what makes a good engineer or developer. Forget the experience, if a person is driven they will learn what they need to know.

But my viewpoint is skewed, there are only about 25 of us at our company.


It depends entirely on the company and their policies and strategy on hiring.

FWIW, I can't even remember the degrees of the guys I've hired.

Probably not even at the time I hired them.


Almost 100% of people that I work with, at a large email provider have a CS degree. That said, we don't discriminate at developer/team level. That's handled by recruiters and management :D

CS degree from right places puts you on at a advantage. So, without a degree you will be competing with guys who had benefit of formal education. And that may seem like a glass ceiling if you don't interpret correctly.


Can you talk about your path to bootstrapping successfully? Working on that but I'm lost.


This is precisely why most top tech companies in India only hire from the top colleges (IITs, BITS Pilani, IIITs, NITs, etc). It's usually not worth their time to even interview someone who did not graduate from one of these.

This is also evident in the compensation for new grads. CS grads from lower ranked colleges typically make $5k-$10k per year, while those from these good colleges make $20k-$40k per year(gross). Exceptions exist of course.


I graduate in 2009 ( BE - EIE ). But I got my first software company job in 2015. It was hard for me. And during college days I love reading CS books and playing with computer. After doing Non technical job including Call center and printing machine service engineer finally I got a job. I learned programming myself.


3 Idiots is a remarkably inspirational Bollywood movie depicting the problem; one of my all-time favorites. https://www.rottentomatoes.com/m/3_idiots


"3 Idiots" is just a name of the movie. Just have started to watch it and it looks pretty relevant to the discussion, so far. I presume that downvotes to your comment are unwarranted.

I have a question to Hindi speakers: they say a word that sounds like "futur" meaning literally "future". Is that a borrowed word? Or is it something native to Hindi?

I am quite astonished that I can grasp a bit of it. The language kind of reflects some European languages. For instance, I can understand a tiny fraction of what actors are saying in Hindi. Never learnt it before, but that lingual link is interesting.


I don't know the specific etymology of that word, and I do recall that there is a lot of english in bollywood films, but the linguistically the languages are actually related: https://en.wikipedia.org/wiki/Indo-European_languages


Seconded. It's an awesome movie! And I'm not normally a Bollywood fan.


"Do what you love and you'll never work a day in your life". A famous quote, can't remember by who and too lazy to search, but it also can be reversed to summarize the article:

"Do it for money and you'll be crappy at your job"


A degree is supposed to be a guarantee issued by an organization that someone has met that organization's standards for some dicipline. In theory, those degrees are valuable to businesses because they assure some baseline competency from prospective hires.

It sounds like many organizations in India have significantly reduced their standards or are awarding their degrees to unqualified people. So why do businesses continue to value degrees issued by those organizations?


I wonder if India faced a problem similar to the for profit college system in the us, where a lot of the programs were fake.


In India from low tier colleges, you don't learn anything. Heck, they don't even let you use the machine that are on premise. Only top engineering colleges have any skill if it's even available.


Yes. A lot of universities were found to be fake and shut down. Though it has been a couple of years since I've heard anything more about it.


> for profit college system in the us, where a lot of the programs were fake.

The programs in the US weren't fake ...

The US government (VA, etc.) didn't like paying for schools that had low graduation rates, or had high student loan defaults, so closed them. In some cases, legit trade schools were closed, like Wyotech:

https://en.wikipedia.org/wiki/WyoTech

Ironically, this being HN, private investor groups trying to monetize education were behind a lot of the closed schools.


Maybe the term "fake" is over-used, but I meant something along the lines of selling people an expensive training that leaves them in debt and unemployable. Some of those schools also made hyperbolic claims about the career prospects and earnings of their graduates.


The saddest quote in this article was this: “I majored in computer science but realized I wasn’t cut out for a coding job. Dropping out wasn’t an option, so I stuck to the course,”. At lease he appears to have landed on his feet.


First article I've seen from what looks like a newly launched site. Seems like a neat niche--tech stories outside of the West. Any existing sites/newsletters already on this beat?


In the Indian context, what matters today is not _what_ the degree is, but _where_ the degree is from.

Some historical perspective as I recall it: even as late as the late 1990s, there were very few engineering colleges in India, and a B.E. or B.Tech was a prestigious degree to have. For example, Uttar Pradesh, which is a state that has about the population of the entire US, had 5 or 6 state engineering colleges (+ IIT Kanpur + Univ. of Roorkee + Banaras Hindu Univ, which were national level institutions).

The AICTE which controls technical education in India, mandated that no CS department should take more than 65 students in a year.

I think what changed was Y2K. I suspect under pressure from NASSCOM, (led by the charismatic Dewang Mehta [1]), B.Tech in CSE got doubled in number by creating a second department called I.T. thus working around existing norms. In the 5 years following, engineering education itself got "liberalized" by allowing a large number of private for-profit colleges.

The impression was that they will become places like Harvard and MIT, just because private is better than public sector. Many of these colleges still do not want to employ qualified teaching staff - the faculty are mostly people with just a B.Tech degree from similar colleges, who did not get a job in the tech sector, hence are willing to pay for dirt pay, and under draconian corporate-style management.

The situation is true to this day.

An inevitable result has been the deluge of people ill-trained, but holding a degree, tarnishing the reputation of Indian engineering education.

TLDR: 20 years ago, there were very few engineering colleges in India, the degree was prized, and the graduates were kind-of well-trained. Then there was a huge and unregulated explosion in graduates from for-profit colleges. Today, the graduates who are assured of good jobs and whose degrees hold value, are still those from the pre-1990s engineering colleges.

Doctors have resisted a similar dilution of norms. But recently India achieved a significant "number" - one can only hope that the doctors are better off than the engineers. [2]

[1] https://en.wikipedia.org/wiki/Dewang_Mehta

[2] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6259525/


I am currently pursuing a CS Degree in one of the top schools of India (top 0.01 percentile) and I also have some friends in Tier 3 colleges. CS education is only good in top 15 colleges in the country i.e. around 10k CS graduates every year. The rest 50k - 100k graduates are of much lower aptitude. The reason for this is that learning in Indian colleges is mostly peer learning and the top students all end up in the top colleges.


How much of the problem is too much supply, and how much of the problem is poor quality of the supply?


I want to emphasize one thing: all the graduates from IITs I've worked with are truly top notch.


I am an Indian student studying in freshman year in one of the so-called "top" colleges and there are just too many problems.

* First of all, the system is very rote learning oriented. The questions in the exam will be exactly same as those solved in the class. That means people without proper understanding of concepts can still get A+ grades by memorization techniques. But it is PITA if you actually have some interest in subject. You may not get good grades if you write right answers in exams but they aren't like what is in the book.

* Too many people enter Engineering, especially CSE in hope of getting a Job. Entrance process is based completely on basic sciences and while better than other exams, people still game the system by studying four years for entrance exams. This and management quota in Engineering colleges leads to huge influx of students out of them somewhere like 2% - 5% actually have interest in the branch of engineering they take.

* Talent gets no recognition many times. Rote-based exams make it easy to distinguish average from absolute low. But average and talented appear to be at same level because a talented person can be as good as an average but hard working student in these rote based exams.

* Since there is huge influx of students and huge number of engineering colleges, most faculty is underskilled and better we could have robots teach us. We had a teacher who doesn't appear to indent C code, but also has a "qualification" in "distributed systems" and "computer networking".

* Something that has been a problem to me: I was pretty good in basic sciences, passed entrance exam with good marks without any tedious "coaching", and I took up CSE because I was interested in computer science. The first year of engineering syllabus consists of same common subjects to all branches, like Physics, Chemistry, Mathematics (Calculus) and introductory courses to other engineering disciplines (C programming is only CSE related thing they teach us). That's improperly using one year. However relevant those subjects are, they aren't as relevant as teaching programming/CS related subjects in practice. We will have campus placements in 7th semester and due to this, we only get 2nd and 3rd year to actually study CSE. Even those subjects wouldn't have been a problem apart from being waste of time - but they are too rote learning based and uninteresting - As in teaching some methodologies to solve some kind of numerical problems and asking them in exam. Today as I am writing this I have an online exam some hours later. I never thought I would be grades in 7/10 range but the uninteresting and rote based nature of these exams doesn't motivate me to study anything.

And this "interdisciplinary" kool-aid has another effect. I have seen even toppers of my class not understanding recursion and algorithm complexity. Because algorithm complexity is not taught in first year. We only get to learn C programming (No 'advanced' concepts like malloc / free, file I/O) in first year. This is huge waste of resources because all these rote learned physics fundamentals don't be useful for most of these people in practice. They will be forgotten after exams. If they had taught something related to CS, at least it would be useful to do side projects and have something more on our resumes, and would be perhaps useful as an engineer.

* Perhaps as a result of the above, Syllabus is far behind the actual advancements in technology. Git? Apparently only members of college's coding club know what that is. Docker? What's that?

I am frustrated. It is just pointless. Especially because all this is too costly for a middle class rural student and we have to get education loans. If it was not the societal pressure / norms, I could have self studied and could have become a better engineer. The system is so screwed up - perfect one to churn out enterprise droids anyway.


I interviewed some "Masters" level students from India. They couldn't do FizzBuzz.

    if(i % 3)
        ...
    else if(i % 5)
        ...


There are 23 IITs


tl;dr oversupply. nothing unexpected here


Strangely enough east european outsourcing is skyrocketing, so demand is out there. Most companies coming here complain about their negative experience with outsourcing to India, and are willing to pay far more than outsourcing there, albeit still less than in western europe. So the issue is not necessarily numbers, but the quality of those numbers. Indian programmers are great, this is honest feedback based on what i heard.


Great solution to “economic inequality”. We should do it here too, increase admissions in ivy leagues by 100 fold. Will solve the inequality problem the television pundits and grifter politicians breathlessly blabber about.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: