Can you negotiate the terms of a non-compete agreement?

FORTUNE – Dear Annie: I was recruited away from my old company by a major player in my industry — I’m a mobile app developer — and at first I was really excited, because this move would be a step up, and comes with a sizable raise and very attractive perks. But now, I’m a little taken aback. My new employer wants me to sign a non-compete agreement before I start my new job. Among other things, it says I can’t work for any other software company for one year if I leave this one.

I’ve never been asked to sign one of these until now, so I’m not sure what my options are. Can I try to negotiate the terms? For example, can I request that the one-year period be cut down to six months, before I sign? — No Name Please

Dear NNP: You can certainly request to have the time period shortened (although six months is still an awfully long time to be out of work), but don’t be surprised if the answer is “no.”

“If you’re a real star in your field, and can point to multiple competing job offers, you might have some leverage,” says Eric Broutman, an employment attorney at New York City-based law firm Abrams Fensterman who has haggled over many non-competes, on both employers’ and employees’ sides of the table. “But 99% of the time, people really have no bargaining power so, if they want the job, they just sign. The company holds all the cards here. That’s why courts generally don’t like these agreements.”

Indeed, they don’t. As your employer’s lawyers are no doubt well aware, ex-employees who challenge non-competes usually win. One recent example: In late June, the Illinois Appellate Court ruled unanimously, in Fifield v. Premier Dealer Services, that a new employee who quit his old job within two years had not yet received adequate compensation for giving up the right to work anywhere he pleased. So, unless an employer has paid a new hire a substantial signing bonus or some other extra chunk of change besides salary and benefits, the non-compete would be considered void.

You don’t say which state you live in, but I’m betting it isn’t California, where requiring a new hire to sign a non-compete is, for all practical purposes, illegal. That’s why, with so many other states trying to jump-start their own high-tech industries, lawmakers all over the country have placed, or are now considering, restrictions on these contracts. “It’s hard to compete with California’s tech sector if engineers and other skilled employees are not free to move around,” notes Broutman. “How are employers going to attract fresh talent? So, in the interest of economic growth, most states now are moving toward discouraging non-compete agreements.”

Massachusetts law, for instance, already forbids employers from asking doctors, nurses, and social workers to sign such agreements, and the legislature is now mulling a bill (House Bill 2293) that, among other changes, would limit the time period covered by any non-compete to no more than six months. A Minnesota measure (H.F. No. 506) would completely ban most non-competes, and a similar proposal in Virginia (House Bill 1187) aims to prohibit all non-competes, period.

Then there’s New Jersey. Hoping to do its overstrained state budget a favor, the legislature may soon pass a bill (A3970) that essentially says anyone who is eligible for unemployment benefits is free to take any job, anywhere, anytime, regardless of whether he or she signed a contract saying otherwise.

With non-compete agreements generally on such shaky ground, here’s Broutman’s advice to you: For right now, go ahead and sign. “The negotiation process doesn’t start when you join the company,” he says. “It starts when you want to quit.” At that point, he advises, “Try to work out a deal. You can very often negotiate a way to do what you want to do without them suing you.”

Since courts all over the U.S. have consistently struck down non-competes for being worded too broadly or covering an unreasonably long time period, “suggest that they alter the terms. For example, instead of saying you can’t work for any software company, which a judge would almost certainly view as too restrictive, propose narrowing it down to certain competitors, or specific types of work.” This would also be the moment to talk about reducing that one-year time frame that’s (understandably) making you nervous.

If and when you’re ready to change jobs, it would be well worth it to hire a labor lawyer in your state to spot the weaknesses in your non-compete and make your case for you. In Minnesota right now, for instance, there are at least 25 legal reasons why a non-compete may be unenforceable. Such loopholes may abound in your home state too, but without professional help, you aren’t likely to know what they are. In the meantime, just try to put this whole thing out of your mind and enjoy your new job.

Talkback: If you’ve ever signed a non-compete agreement, how did it affect your subsequent career? Do you think these contracts should be illegal everywhere? Leave a comment below.