I’ve worked in software engineering for 10 years. Many of those years have been spent surrounded by H1B visa holders from all over the world. An experience I wouldn’t trade for anything. I understand that I’m competing with them in the workplace, and some day they may very well edge me out of a job – but that’s my problem, not theirs. If they’re willing to come here and jump through the HUGE pile of hoops necessary to go from an H1B to a green card, they have my respect.
As for being paid as much as US citizens – HA. Maybe there are some companies are decent and pay work visa holders properly and don’t jerk them around, but I haven’t seen it myself. 10-20% less pay than their citizen/greencard holding coworkers sounds about right.