Things Every Software Development Contractor Should Know

After recently moving to Cairns, Australia, I’ve noticed that most of the software development houses here contract their development work out rather than hire full-time employees. It is more cost effective for these places to contract than to deal with paperwork and a human resources department, especially since most business comes in the form of building websites for small tourism and hospitality companies.

I’ve never been a contractor in my life, but have been very interested in the prospect since I first heard of other people doing it. The dream of living on some remote tropical island while coding away (compare that to the life to Ian Fleming, who wrote most of the the James Bond novels in Jamaica!) has no doubt crossed my mind many times. However, there are some realities to doing contract work, as I’ve been finding out. Here are some of the major pointers to keep in mind as a software development contractor:

  • Know what you are worth as a contractor. Remember that you aren’t getting your pay divvied up into medical insurance, flexible spending accounts or a retirement plan anymore if you were previously working as a full-time employee, so ask for a little more than you would as a full-time employee because you will now have to pay for these expenses yourself.
  • Get everything in writing, and make sure they start paying you once they agree to hire you for your services. Know exactly how and when you’ll be paid before you start your work. Some companies just want to troll for information on how to plan a project, then lure contractors in with their requests for detailed quotes, only to shaft them once they learn how to do it themselves based on the quote! Keep your mouth shut on the details of how to do a project, that’s why they’re paying you!
  • Read the contract thoroughly, and make sure you answer any questions that you have ahead of time so that you aren’t wasting time later wondering about it. If there are tasks involved that you think you can’t get done in the given time, make sure that you let the hiring company know about this. You have to begin what you start once you sign a contract, so make sure you are only agreeing to do things that you can actually do and are not being a cowboy.
  • Come up with new ideas for more work. During every contract, always try and keep an eye on the next one. Identify areas of their business that could use custom developed solutions and present those ideas to those that hired you.
  • Don’t fall into the rolling contract trap, where you are utilized as simply an extra resource to fix a temporarily permanent shortage. These types of contracts have seen perfectly good developers stay on Fortran projects for 15 years, and see them miss out on the opportunity to acquire new skills like .NET and Java as a result. Enough said!
  • You typically have to supply your own tools. Remember that MSDN subscription that your former company let you play around with while you were employed as a full-time employee? Well now you have to pay for it, unless your contractee is generous and specifies that they want you to use their tools.
  • You can sub-contract your work to other people if you can’t do it yourself, or if you are lazy, or have other projects and want to manage more work for others and move into a business analyst role.
  • Use a consulting/contracting firm if you want peace of mind. These guys get paid to look for jobs for you. They will also take a good cut of your pay, but if its a good contract, then it shouldn’t matter too much. If you get the job done, then they will keep looking for work for you, and all you have to do is stay in touch with them. I personally prefer contracting firms like Robert Half Technology as opposed to looking for contract work myself, just because contracting firms are full time smoothers, and I am a full time programmer with less personable skills! Reality bites, but you can make comfortable compromise if you’re willing to.
  • Remember that depending on the contract, you will be taxed as a contract worker and not as a company employee during the contract period, so take into account withholdings and manage your money like a regular human resources department would – put some into retirement, some into savings, some into a decent health plan, etc.

In Australia, you can get certain tax breaks provided you pass the “Results Test” or 80% of your business comes from more than 1 client.  The Results Test is simply answering “yes” to the three questions:

  • Under your contract or arrangement, is the personal services income paid to achieve a specified result or outcome?
  • Do you have to provide the tools or equipment necessary (if any) to do your work? (If no tools or equipment are required, answer YES.)
  • Are you liable for rectifying defects in your work?

I can answer “yes” to these quesitons, and therefore am not affected by the New Business Tax System Act of 2000.  This gives me more items to make tax deductions on while doing business (see http://www.ato.gov.au/businesses/content.asp?doc=/content/15900.htm&page=13&H13)

Leave a Comment