After you have hammered out key pieces of the compensation and job requirements, it is time to put things in writing. Employment contracts or agreements are meant to provide clearly defined guidelines and expectations for both the employee and employer. A good employment agreement protects both parties.
Typically, employment agreements are reserved for senior-level employees, managers, and executives. It is pretty rare that entry-level employees or even staff engineers are offered guarantees and buyout packages. I am not saying it cannot happen, but few companies are willing to risk guarantees on unproven commodities. With the past failure of so many technology projects and companies, this is even truer now than before.
If you are in a position to request or if you have been offered an employment contract, the sections that follow address items to keep in mind.
Seek Legal Counsel
Prior to negotiations or even a career move/job search, find a competent attorney who specializes in business and employment contracts. When you are offered a contract, always have it reviewed by your attorney before signing it. At the minimum, find a good book or visit your library to look over some employment contracts.
Your prospective employer will view this as normal and will probably view it as a sign of your preparedness. The company certainly will be running the contract by its legal department, too.
Your contract should list key assumptions. These are things you are expected to perform and items the company must produce. These can include working environment, equipment needed, budgetary concerns, and so on.
You don't want to be in a situation in which you are being held to a standard that you can't achieve because of elements that are outside of your control.
Assumptions are your legal recourse when the basic requirements of a job cannot be fulfilled because of external factors. As you might have noticed in Chapter 5, "Self-Assessment," I am not a big believer in blaming factors outside of your control for job failure. However, every given job has basic needs that must be met for there to be a chance of success.
If you are being held accountable for server uptime or system performance but the company is unwilling to act on your recommendations or purchase the right equipment, you are going to have difficulty meeting the objectives.
Assumptions place factors that are outside of your control on the table. Remember: A job is an agreement between you and your employer. Both sides have needs and requirements. It is much better to know up front what each side intends to do for the other.
Your agreement must include some type of deliverables. These include products, services, or performance requirements that you must deliver so that the company can assess whether you are meeting the job requirements. The clearer these are defined, the better.
Bonuses and Performance Perks
A company should put bonuses or performance perks in writing. The company should balance its performance perks with the minimum assumptions so that it doesn't gauge your performance against performance or items that the company or another individual could not deliver.
Of course, your performance might be tied to the performance of a team—something that is unavoidable in many cases. This is particularly true in cases of management or project performance.