Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If this has already been asked, feel free to redirect me and I'll close this.

I gave my current employer notice to quit my job a few months ago, and they haven't been able to find anyone to replace me. I'm able to leave the job in another month, and the company has started to ask me if I'd be willing to continue working on a contract.

I've considered registering myself as a sole proprietor and doing some additional work for them, if they're willing to pay me silly amounts of money.

If I were to do this, it would be done professionally, with a contract and a lawyer to write up the contract. But that brings up a problem; I'm not sure exactly what should be in the contract.

Is there anyone who has experience with this and could suggest what should be covered by the contract, or things that I might overlook until they bite me in the ass?

On an additional note, but more specific to my situation, I'm currently working for this company in a foreign country. If I decide to do additional work for them, it will be from my home country. Is there anything that I should be careful of, since the company isn't located in my country?

I'm wondering how realistic or financially viable it would be to hold a company located in a foreign country to a contract. If it's not realistic or doesn't make sense financially, I might be better off not accepting the work. Alternatively, skipping the lawyer and contract and just going on trust might be okay, but I'm still weary of doing this even though I've worked with the company for a few years.

share|improve this question
    
I had the same question, did a little research and have written my own contract. I've open sourced it on GitHub: github.com/danielbeardsley/service_contracts –  Daniel Beardsley May 10 '11 at 6:21
add comment

4 Answers 4

Chances are that you will not need to create a contract for yourself because the company will have created one already. I'm not sure what country you work in, but in the U.S. it is pretty standard for companies to generate contracts and non-disclosure agreements for the contractor to agree to and sign, not the other way around.

If that is the case, then you should review the contract very carefully (possibly with a lawyer, though that's probably not necessary). If you wish to make amendments to the contract, make them in ink on the contract given to you and return it to the company unsigned. At that point it is up to the company to accept or reject some or all of your amendments (or withdraw the contract altogether and look for someone else who will agree to the original contract terms).

If you are going to create your own contract (or you are reviewing a company-provided one), and are working in the U.S., these are the contract clauses that are fairly standard for software development:

  • You cannot disseminate any information about the work you are doing for the company to anyone outside the company (e.g.: No blogging about that algorithm you just came up with).
  • The company, not you, owns any products you create on its behalf as well as the source code used to create those products.
  • You cannot create a competing product during your contract or after your contract ends (up to a specific duration, usually 6 months to 1 year)
  • You cannot engage in any endeavor that may be construed as competing with the company (e.g.: starting your own company in the same vertical, or taking another contract with a competitor)
  • You cannot engage in any endeavor that is not in the best interest of the company (this is basically a catch-all)

Hope that helps.

share|improve this answer
add comment

I've always just done business on a handshake. It's worked out fine and besides your client companies will make you sign all of their contracts and NDAs and whatever other stuff they have, turning all of your lawyer-prepared professional paper into scrap. In my experience, it hasn't been worth the bother.

share|improve this answer
    
There seems to be some confusion here between contracting and consulting. Contractors are just employees without benefits, so they have to sign whatever they're given. Consultants (which this question implies to me) might have to sign an NDA but generally a consulting contract is take-it-or-leave-it, maybe with a little bit of negotiation. If a company calls in an army of lawyers to start hacking apart your 2-page consulting contract, that's your cue to run for the hills, unless you enjoy dedicating substantial portions of your income to legal bills. –  Aaronaught May 10 '11 at 20:25
add comment

In the UK we have an organisation called the PCG (http://www.pcg.org.uk/cms/index.php) which is dedicated to this sort of thing. They have some example contracts here

share|improve this answer
add comment

Just write down what you want from a contract in simple terms you understand. ie who ones the work - do you own it and give them a right to use it, or do they own it? How is responsible for it going wrong, paying for fixes and any liability to a customer?

Then you can normally find sample stock contracts online - especially if the employer is in some 'standard' country - then get a lawyer to check/explain/modify it.

Foreign companies - it basically depends on how much you trust the company and country, the contract will normally state that any disputes are dealt with in their country. Another problem migth be if you have to visit their site - especially if they are in the US there will be limits on how long/often you can visit without being considered to work there and need a visa.

You don't necessarily have to form a company (or sole propritery), for software it generally doesn't have as many advantages, but it would depend on the tax laws in your country.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.