I am in USA on H1B.
A lot of American problems seem to be around the thinking that there is some kind "fixed" number of jobs, misery, poverty, disease etc.
A lot of welfare systems here seems to assume that there is a fixed number of single mothers, disabled etc. without acknowledging the fact that the more incentives you give to them more people will try to get into that category. For example more dole you give to disabled I would assume more people would try to get themselves into disabled bucket than in healthy.
Similarly the H1B cap seems to have an assumption that there are some fixed number of STEM jobs out there and if Indians fill it up, somehow the Americans will not get it. I would assume a higher concentration of Engineers in USA would only lead to more innovation, more engineers trying to earn more money by being far more creative and so on.
In India a typical outsourcing giant pays somewhere between $5K to $10k per year to new engineers. The only way I could break such low pay was by getting a master degree, being an excellent coder and joining a more tech focused company in Silicon Valley. After reaching Silicon Valley I realized the tech giant I was working for did not pay me enough. So I changed the job and joined a start-up which eventually did far well making me richer.
Also the Democrats which beat their chest in the name of poor are actually those who treat poor the way a Dog treats a lampost. The lampost helps the Dog navigates but only after it is soaked in his pee.
More engineers would mean cheaper engineering services which means more money saved for rest of the non-engineering Americans which a overwhelmingly high population. By putting an artificial cap on H1B American government is forcing the poor American citizens shell out more money.