DEV Community

Cover image for Types of Contractors in Software Development
Jen Miller for Canosie Labs

Posted on • Updated on

Types of Contractors in Software Development

Hi folks!

In my last article, I wrote about the things to consider when transitioning from an employee to contractor.

In this second article of my "Introduction to IT contracting" series, I will focus on the typical types of contracts you may encounter, how you get paid, and the pros/cons of each type.

In the software development world, contractors are commonly exposed to three major types of contracts. The working environment and set up for each of these contract types are different, so it is beneficial to know ahead on the types of contract arrangements out there. Then you can choose the one that suits your situation.

Contract Type #1: Contract Employee (aka "Independent Contractor" or "Time-Based Contracts")

This form of contract means that you will be participating as a form of staff augmentation. You will generally be working exclusively with only one client at a time and you are ‘embedded’ in your client’s development team.

Your day to day activities are almost indistinguishable from your employee teammates. You come into the office each day, work "9-5" 40 hours/week and get assigned tasks, responsibilities, etc.

Contract Type #2: Freelance or "Project-Based" Contract

As a freelance (or "project based") contractor, you look for specific projects to work on. For example, this could be a project for building a website, mobile application, or provide consultation.

For these types of contracts, you will have to determine the requirements, deliverables, and warranty periods in order to price out the project for your prospective client. Negotiations between your prospective client and yourself are common. Once the client agrees, you must build the deliverables by an established deadline.

Typically, freelance projects are fixed price contracts. This means that you are responsible for any unforeseen costs such as additional hours required for the agreed scope of work.

Scope creep happens all the time, so it's better when both you and your clients mutually understand that when clients make changes to the original scope of work, they should expect additional charges.

Unlike contract employees, you likely will take on more than one client at a time. Therefore, it is all on you to schedule when you work each project. The client only cares that they get their deliverables by the deadline. How you get there is entirely up to yourself.

Contract Type #3: Agency Contracts

Many organizations do not want to deal with dozens (let alone thousands) of individual contractors. Hence, it is common practice for organizations to establish a relationship with a few selected vendors. Usually, these vendors are agencies that supply these organizations with required staff.

In this form of contracting, you are one of the agency's sub-contractors. The organization is the agency's client. You will be invoicing the agency.

You will still be interviewed by the agency's client and if accepted, your day-to-day work will be similar as that of a contractor employee.

The biggest difference between agency contracts and contract employees is that you invoice the agency and not the organization you are working at. The agency will then turn around and markup your rate and bill the client.

Your Contract Can Be Terminated

It's important to be mentally-prepared that most contract employee and agency contracts are non-guaranteed. Even though contracts may state an end date, many of these contracts have termination clauses allowing your client to end your contract at any time, with minimal notice and reason.

Contract terminations happen for many reasons. Sometimes the scope of work on a project is cut-back or the project is cancelled entirely. These losses can be costly due to the time and effort you have put into obtaining the contract and the opportunity cost incurred by passing on other work. Unfortunately, these circumstances do happen and are the risks of doing business.

Should You Walk Out of A Contract?

You may have heard of some experienced contractors (usually those with many clients) talk about 'firing a customer' or walking out on bad contracts. Ending a contract early is a business decision you must decide on your own and you shouldn't be swayed by peers or Twitter.

Generally speaking, organizations are able to terminate contracts with lesser consequences because they know they are the client.

On the other hand, it is good practice for contractors to avoid terminating a contract before the term ends (especially to seek another opportunity). It speaks well about your reliability and professionalism which always helps in contact extensions, securing future contracts and getting referrals - a key source of steady revenue. Walking out on contracts risks being blacklisted by your clients.

I'd like to hear your thoughts, experiences and perspectives, feel free to comment below or follow me at @JennrmillerDev on Twitter or if you would like to read more, also consider following @CanosieLabs

In my next article of this series, I will discuss sole proprietorship vs incorporation, and whether there is a need to incorporate.

Discussion (1)

juliabekesh profile image

Thank you for the article. This is very useful information for software development contractor.