I stand somewhat corrected, but you must admit you are in a very small minority in your home country, and your salary probably reflects that.
What I've noticed from working first-hand with outsourcing companies is that they promise degrees and accreditations that don't exist. They promise the developers working on your project will have 5-10 years experience, but for the most part you will get developers with 2-3. They promise masters level CompSci but you are lucky to get associates or trade school level. They promise systems and network engineers with MCSE or RHCE or CCIE but you are lucky to get MCP or CCNA.
I apologize for making blanket statements, but there is a lot of job hopping for qualified candidates in Bangalore (as I'm sure you are aware), so the outsourcing companies are usually offering those candidates that are new to the industry and have not had the time to generate sufficient experience and get a better job somewhere else. That is just the reality of what I have seen in my career.
Hey no worries. I completely agree that outsourcing companies (Infosys, TCS etc) suck big time. The services outsourcing companies scrape the bottom of the barrel talentwise and lie through their teeth to their clients, are infested with scummy middle managers and so on. I am not arguing about any of that.
Just saying, don't dismiss a country of a billion people so easily - with so many people, there have to be some smart ones.
Good engineers are a minority in every country.
That said,the USA (and it is a great country) has the advantage of attracting smart people from all over the world to learn, work and settle there, so you have a constant influx of really smart people, an adavantage no other country has(these days, Canada and Australia maybe?). The US also has the finest universities in the world. So I am not surprised that in general, the US has the best tech companies and the best engineers.
But that doesn't mean there aren't good engineers elsewhere. I was only mildly pushing back against your somewhat sweeping generalizations. No insult or harm intended.
If the only Indian devs you've encountered are the lying incompetents exposed to you by the typical Bangalore bodyshop, I am not surprised if people draw conclusions that may not be very flattering.
What I've noticed from working first-hand with outsourcing companies is that they promise degrees and accreditations that don't exist. They promise the developers working on your project will have 5-10 years experience, but for the most part you will get developers with 2-3. They promise masters level CompSci but you are lucky to get associates or trade school level. They promise systems and network engineers with MCSE or RHCE or CCIE but you are lucky to get MCP or CCNA.
I apologize for making blanket statements, but there is a lot of job hopping for qualified candidates in Bangalore (as I'm sure you are aware), so the outsourcing companies are usually offering those candidates that are new to the industry and have not had the time to generate sufficient experience and get a better job somewhere else. That is just the reality of what I have seen in my career.