Interesting points. I generally agree, though I'll expand on it a bit anyway.

For starters, yes, I agree that "everyone better off" isn't the right way to put this. Not much to discuss there, I agree for the reasons you've outlined.

Your second part, though, about the filter. While I would prefer a system that allows programmer immigrants to leave the field and enter other fields if they choose to, this freedom has limited value if immigrants are forced to make heavy up front investments in STEM education as a condition of entering the US. Agreed, If you only allow programmer immigrants, it's likely that most of them will continue to program.

This is particularly true if the sunk cost is heavy. For instance, there's a lot of talk of "stapling a green card" to every MS or PhD in a STEM field. While this would leave immigrants free to pursue other fields after getting their degrees, it requires immigrants to make a huge up front investment in a STEM education.

For example, imagine if we said "there's a shortage of lawyers, therefore, we will staple a green card to all law degrees earned by international students. But of course, these students are free to pursue whatever path they wish after they receive their law degree and pass the bar."

That's better than not allowing it, but we'd have forced everyone to go through a $150,000+ law degree as a cost of coming to the US, as well as giving up 3 years of their life. Options are now considerably more limited.

It's a similar thing for STEM degrees. I read a study of the value add of a MS degree, and it turns out that engineering and STEM MS degrees, while valuable compared to arts and humanities MA degrees, really don't pay like JDs or MBAs, or various Medical MS degrees (let alone MD degrees).

In short, it's rational to avoid getting an MS in a STEM field, because pay and working conditions aren't as good as the options highly talented students can find in other fields. If these workers were really as critical and hard to find as businesses claim, they'd be paid as well as MBA, Medical MD/MS, and JD holders.

However there's a big difference in the equation once someone has already been forced to obtain one of these degrees as a condition of living and working in the US. It may be more rational to get a JD or MBA instead of an MS in Engineering, but it may not be rational to get one once you've put the years and effort into getting that MS. At that point, it may be more rational to just work as an engineer.

This is why I oppose efforts to allow corporations to control the conditions under which immigrants are allowed to come to the US. It's not enough to grant a green card once that person is hired, because it still allows corporations to force immigrants into a high up front cost.

As you've said, though, that's the power of lobbying. I enjoy discussing and debating this on HN, but large powerful corporations are likely to get their way. I have no illusions about ever changing this. Probably the real take-away/lesson is that if you have the freedom to choose your job path, you might want to avoid the ones corporations can force immigrants into. Ironically, in other words, if you hear corporations talking about a "shortage" in a field, it may be rational to avoid that field if you're a citizen with freedom to choose your job and educational path.

One area where I may disagree with you a bit is on the Einstein thing. I consider this a bit of a red herring. There aren't 80,000+ Einsteins coming into the country every year, and there isn't much disagreement that we should allow in all the "Einsteins". Even ardent opponents of the H1B visa absolutely agree that there are a few thousand individuals who should be allowed in. This tends to be around he EB-1 visa, which again, really isn't controversial.