To add to the above post. For people born in India the wait time is estimated to be more than 20+ years, since the queue is going to get longer and longer, and there are only fixed number of people who leave the queue every year. Unless you are on EB1, it is better to basically forget about getting a green card. Talking to my friends from India, the options are:
1) Do a PhD and hope to produce original, well cited research that qualifies you for EB1.
2)Similar to above, but if you are in a research team and can get good papers out that qualify you for EB1.
3)Wait and hope for promotions that qualify you for EB1.
4)Move back to India after a couple of years.
5)Try to move to Europe or Canada. Everyone is kinda fuzzy on this since no one really has clear idea of immigration laws in other countries.
6)Get enough money from some IPO to pay for investment based green card and hope for the best.
This is if you currently qualify for EB2 i.e 5 or more years experience or a Masters from US. I don't even know what is the condition for people in EB3. As one of my friend put it memorably, there is a person whose parent's haven't even met, that will get a green card faster than me, if born anywhere but India, China, Mexico and Philippines.
I know, barring a recession, I'll be in US for the next couple of years, but after getting a family, I think my tolerance for having my residence in the country coupled with my job would drop and I'll look and see if one of the above option works for me. Plus ageism in tech is something I fear as well.
I would love to settle here, but barring a law change, it is right now impossible for me.
EDIT: Separate line numbers for the numbers points.