Over time, I've signed a lot of NDAs (non-disclosure agreements)... they seem to be the Silicon Valley equivalent of the Japanese business card. Some of them are short and simple, others are quite elaborate.
There is, however, one clause I've seen in a lot of NDAs that I consider quite unacceptable. It is a clause which forbids you to hire anybody who works for the company that is making you sign the NDA. Presumably, they think that while you are visiting them, you will hire away all their employees and put them out of business. Well, you know what? If your employees are so eager to leave, that's your problem, not mine. You need to keep your employees loyal by treating them well, not by creating arbitrary obstacles in their career. In some cases it's quite ridiculous; I recently signed this clause in a 3 page NDA by a startup company that consisted of exactly two founders, and no employees. So the founders, by putting this clause in the NDA, are doing nothing but guaranteeing that if their business doesn't work out, none of the people they met while working on the business will be able to give them jobs.
On a similar note, a lot of companies have the audacity to put non-compete clauses in their employment contracts. Typically, this says that you agree not to work for one of their "competitors" or even "potential competitors" (which is never very well defined) for a period, usually 1 or 2 years, after leaving the company.
This is completely outrageous. I signed such a contract at Microsoft without paying too much attention. When I left, I realized that because Microsoft has a finger in everything related to software, technically I could not work in my field AT ALL for 12 months after leaving Microsoft.
Of course, it is extremely rare for Microsoft to enforce this clause. Among other things, it is considered legally unenforceable in some states, like California, although in New York I have heard it can sometimes be enforced. If they are not going to enforce it, why is it in there?
At Juno, management tried to add such a clause to the contract. Of course, there was a bit of an uproar, and guess what? The employees won! The clause was removed from the standard contract.
You can win on this one. Highly skilled technical employees are in too much demand, and it's too easy to get a job. You don't have to accept this clause in your contract. If the employer absolutely, positively insists that you promise not to go work for a competitor when you leave your job, you can tell them: "fine. You don't want me to work for a year after I leave, that's fine, but if I'm going to be 'on the beach', I want you to keep paying me my salary for one year after I leave, until I can legally get a job that you approve of."
Another dangerous clause says that you agree not to hire, or cause to be hired, anybody from the company if you leave for a period of x months (usually 12 to 24). The idea is to prevent a group of people from leaving en-masse, and it's to protect against the standard practice of a manager leaving a company and taking his team along with him.
This is something you're really going to regret. Among other things, if you leave a company, then six months later someone else leaves and uses you as a reference for a new job, technically, you can't give them one. That's not nice.
And if somebody from the company leaves to do a cool startup, you can't go work for them! By signing this, you're basically cutting off this whole branch of possibilities in your career.
Suppose you want to leave to do your own startup. Your single best source of potential partners and employees are the people you know professionally. It is definitely not in your best interest to sign this clause.
I think that companies need to keep their employees loyal by treating them well, not by enforcing blind loyalty though a contract. I am not going to make the mistake of signing this clause again. Fortunately, with today's shortage of qualified programmers, the balance of power today is sharply in your favor when you start a new job, and I think you have a very high chance of getting a job without signing restrictive employment clauses.
You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.