H1B system is broken. It is especially hard if you are from India or China. Although you can change employers, you need to restart the green card process from scratch which introduces lots of uncertainties. Obama wanted to allow H1Bs to change employers easily by giving them better portability but USCIS came up with a bad rule which i believe is due to lobbying by employers. Australia &amp; Canada have better immigration systems where they give PR quickly.<p>It is bad for US as well. Immigrants are generally more risk taking than citizens &amp; H1B does not allow them to take risks when they are young because they will be waiting in the line for PR (Green Card). By the time they get green card it will be decade or more and their risk appetite would have reduced due to having family&#x2F;children.<p>In general, I don&#x27;t believe most of the high salaries in tech may not be sustainable. Lots of tech jobs will move to India &amp; China (or any low cost country in future which has a good pool of educated people), that is just capital chasing good enough talent which is cheap. Moving up the value chain is the only option.