Edit:
I think it's sort of important to note that I came to the US in 2010, which was a weird year for H1-Bs. The economy was bad, and I was able to file for an H1-B in August after I graduated. This lack of H1-Bs in 2010 probably resulted in fewer GC applications down the line as well, so your mileage may vary.
I realise I was very fortunate in three things: timing, nationality (British) and education (two Master's degrees, so EB2). During this time I was paid market rates, though I did go through a period of minor panic when I realised I basically couldn't leave Google while my green card application was pending and I had no idea how long it would actually take. But articles like this make me extremely sad that others can't be so fortunate, and I wonder what it is we (non-voting residents) can actually do about it...
Adjustment of status is where a lot of people get stuck. Really this should take about a year, but if you come from a country with a lot of migration (Mexico, India, and China) you could be in for a lot wait, especially in EB3.
At best you are looking at 2 years, at worst I've heard upwards of 10 years. A good immigration lawyer should be able to give you a good estimate based on their experience and current USCIS workloads.
Getting the green card is the hard part.