You may want to argue that "well then other companies don't deserve them if they can't compete with FAANG", or "then companies should pay SF wages everywhere" (which I sorta-agree with), or "then other industries should pay more!".
They may be valid points, but it is unreasonable to expect that another industry can compete salary-wise against FAANG at the moment, and it doesn't make their inability to find candidates locally any less true.
Regarding preventing visa farming, an easier solution (in my opinion) is to improve the flexibility for an H1B worker; allow them to work for any employer for the term of their status.
If an employer used an H1B in order to hire a foreign worker and then under pay them, the worker would just get another job that pays market rate, without the work status concern. Without the artificial control over the employee, H1B harvesting wouldn't be worth it.
Even if they stopped doing stock buy-backs?
Because further narrowing the firms that benefit would have the effect of narrowing political support for the industrial subsidy represented by the H-1B, so the longer-term interests of those who would have a short-term benefit by such a narrowing are served by sacrificing that benefit to shore up support for the benefit they derive even with the visas less concentrated in their hands.
Only economic demand. Not demand in the more common meaning as need.
See the other comment about H-1Bs being for nurses too.
They aren't going to be offered FAANG salaries but that doesn't mean the country doesn't need nurses.
It means there isn't enough money in the part of the system that pays for nurses to compete with FAANG salaries to get them (and all the consequences of that, such as having to pay all other nurses FAANG salaries as well).
If you followed the chain I guess you could argue that the economic demand for advertising is higher than economic demand for healthcare, like it or not. But that would be a really screwed up way of assessing the best way to assign H-1B visas for the benefit of the country.
It's not, though. Median rent in Mountain View (significantly pricier than San Jose) is now $2390/month [1]. L4 total comp at Google, or E4 salaries at Facebook, is about $260K/year [2]. Average rent for a 1BR in Dallas is $1250/month [3]. Average total comp for a software engineer in Dallas is $110K/year. [4]
After taxes and rent, the Facebook/Google L4 is making $260K * (1 - 0.37 [5]) - 2390 * 12 = $135920/year. The Dallas SWE is making $110K * (1 - 0.16 [6]) - 1250 * 12 = $68939/year. Even with the $4K/month rents from 2019, the Facebook engineer is still putting away $116K/year, more than the total gross of the Dallas engineer.
People tend to underestimate the effect of the top-line on finances and savings. Eric Schmidt had a saying: "More revenue solves all known problems". It applies as much to households as to giant companies.
[1] https://www.zumper.com/rent-research/mountain-view-ca
[3] https://www.zumper.com/rent-research/dallas-tx
[4] https://www.indeed.com/career/software-engineer/salaries/Dal...
[5] https://smartasset.com/taxes/california-tax-calculator#vyY8q...
[6] https://smartasset.com/taxes/texas-tax-calculator#s0LEbwxtAs
You're using average (median I hope) salary for Dallas vs. high end salaries for San Jose.
You used indeed.com for the Dallas salaries, if you use them for San Jose you get an average of 150K. Too lazy to run the numbers but obviously that would change the calculation quite a bit.
Compare Facebook salaries in San Jose to Facebook salaries in Dallas, that would be a fair comparison. Compare median salaries in San Jose to median salaries in Dallas, that would be a fair comparison.
Compare Facebook salaries in San Jose to median salaries in Dallas, that is not a fair comparison and you know that, you are wasting my time by making me type it out for you, you know full well that that is not a fair comparison.