I am currently working in a MNC, I can get a US based job on a L1B visa which is valid for 3 years. Once in the US I can apply for an H1B which is based on a lottery. The L1B may be extended by 2 years for a total of 5. If I don't get an H1B in this time I am forced to go back.
After spending 5 years on the L1B+H1B I can apply for a green card in EB2 (since I'll have more than 5 years experience by then). This will have a minimum waiting period of 10 years (in reality much more). During this waiting period I need to renew the H1B annually, risking a renewal rejection each time.
Additionally, US immigration may or may not allow me to enter the country every time I go home on vacation essentially meaning that I am required to stay in the US util I get my green card (or naturalization?).
Is it just me, or does an India -> US migration require a massive amount of luck in addition to everything else? There just seem to be too many points at which you can be rejected.
(This is assuming I work for a single company throughout)