Indians tend to work harder, longer hours, for cheaper, while also being more competent.
I say this as someone who has hired a few indians on Visas and also hires primarily Americans.
Americans need to step up their game and become more productive and more competent. No, I don't want 60 hours a week out of you. 50 during crunch time, usually 40. They'll whine about burn out when i am only asking them to do 40. 45 on some weeks... while Lokesh over there will do 50 without even being asked.
As is, I face a bunch of right out of college kids wanting 100k while not having any real experience. Why wouldn't I hire Tippusultan who can work fucking circles around you, and doesn't whine about EVERYTHING like a God damned baby, and he'll do it for 30k less?
So the problem is two-fold. Maybe we should limit the amount of Visas holders that we can import, but its not like we're hiring worse workers just to save money. They tend to be better workers, too. Americans need to become more competent. We are currently in a competency crisis, and it really shows when you're trying to hire for skilled positions.
So take all emotion out of it and ask yourself, if you're running a business, what do you choose?
A: whiney spoiled brat who complains about everything, isn't very good at the job, will take 6 months or longer before becoming competent if it even happens, for $100k, or,
B: highly competent individual who does not complain about anything, only needs a week or two of training, works circles around option A, will do longer hours, and will do it all for $70k.
Easy choice.
Boomers and millennials and our education system have utterly failed these newer generations. They're coming out of school with no real skills, but they can tell you about the 75 genders and institutional racism and whine and whine and cause HR nightmares like there's no tomorrow. Meanwile I can hire Harjeet for cheaper and actually get the job done.