It's nice to say that contracts are freely entered into. They are not freely fought over when things are disputed, however. We're not on an equal playing field if my employer can afford legal representation and I can't, and that's a very real financial threat that is a form of coercion.
In one of my previous gigs, the language of the non-compete was so broad that it engulfed in scope the entire industry - being legal language it was borderline ambiguous, one of those things you could argue either way. Anyway, that 'argue either way' piece could encompass what's basically the biggest and highest-paying employing industry in IT here.
One guy I knew there had told me that, after he got an offer from a new employer, sent them the non-compete of this current place - and never heard from them again. It was for a mid-level manager role in a large corporation in a very cautious (in a CYA way) industry. It was even worse because both of us has understood from management that they'll probably not enforce it, unless one of the partners feels resentful and could send the lawyers your way.
It has a chilling effect that's totally beyond the scope of the usefulness of the employer demanding the non-compete, especially when you encompass a whole industry.
I think that the right approach is to legislate to make them illegal (like in California, right?), or enforce some compensatory aspect like in some countries as people in this thread mentioned (eg. I'd love to be paid 70% of my salary during the period of non-compete). The most likely scenario in favor of the employee right now I believe is the courts having the employer show that damage was committed in order for the contract to be valid. I'm pretty sure this employer got around that by tying the non-compete+non-solicitation to stock option grants!
And in 2013, the TekSystems recruitment company sued its former employee (a recruiter) over a noncompete and it got upheld in Illinois court: http://paulporvaznik.com/court-can-shorten-overly-broad-non-...
"3. Question: Does an employer still need to have "adequate legal consideration" in a non-compete agreement?
Answer: Yes"
It appears they have to compensate you for the agreement. Federal courts have ruled that your wage is compensation for your regular duties and thus the non-compete compensation has to be a separate payment that is negotiable. A contract is not valid if a party receives nothing in return for it.
"Consideration to create a legally enforceable contract entails a bargained for, legal detriment incurred by the promisee OR a legal benefit to the promisor. Under the notion of "pre-existing duties", if either the promisor or the promisee already had a legal obligation to render such payment, it cannot be seen as consideration in the legal sense."
The one job that didn't have a non-compete was a student job I held at the university while I was taking classes there.
None of them offered to pay me extra outside of the salary for 'consideration'. I've ended up switching which industry I work for with pretty much every job I've had (still software dev though), so it hasn't been an issue so far.
That being said, knowing that they're there has affected my decision making, including holding back on releasing games I developed in my spare time, to the point where I've been tempted to move to California to escape such bullshit.