Have you been an employee for a number of years watching IT contractors come and go?
Or perhaps wondered about how to get started and the basics around what a contractor is all about?
After being a contractor for many years, there are lots of things I wished I knew before getting into contracting- which would have made things easier. In this series of articles, I'll be writing about what I, along with other members of @CanosieLabs, have learned - so that it may be helpful to others thinking of becoming contractors.
In this first article, I’ll explain some of the fundamental differences between being an employee versus a contractor that are not usually discussed when developers consider contracting.
As an independent contractor, you are now running your own business and this comes with certain responsibilities that you may need to fulfill. These include things such as accounting paperwork and additional tax requirements.
In software development, employees are often provided with company computers, software licences, and other equipment. As a contractor, the company you work for is your client and they clients may require you to provide your own equipment.
As an employee, travel expenses are covered by your employer. As a contractor, payment is determined as per the contract. Sometimes, they will be covered by your client. In other cases, you have to pay for them, but, you build the cost into your invoice. So, expense reimbursement is something you will want to think about while looking at your first contract. In contract-employee contracts, travel expenses are usually paid by your client.
Additionally, you will not receive employee benefits (such as health care) or vacation pay. Contractors often build in such costs into the rate charged to clients.
Contractors are hired for a specific reason and you will be brought on to solve a problem using a specific technology. Therefore, if you position yourself as a specialist with greater depth using in-demand technologies, generally companies will find that more desirable.
For example, you might be brought onboard to augment a java development team’s knowledge using a specific set of Spring frameworks using a MYSQL database. Having more years of experience in those tech specific techstacks will increase your chances of securing the contract.
Hence, you need to have good in-depth knowledge for the in-demand technologies. When companies hire contractors, unlike employees, they are not looking for people who can 'grow' and learn their tech stack, but instead, looking for people who already have the right level of experience and start contributing right away.
Keep in mind, learning a wide array of languages and frameworks are a valuable asset for your personal growth and preferences. In addition, learning more languages and frameworks is an important mechanism to gain access to additional contracts.
When you join an organization as a contractor, you may not have access to the same perks and day-to-day entitlements employees have. You may not be able to participate in any organization bonus payouts, afterhour meal vouchers, or be invited to the Christmas party! Good organizations want their employees to learn and grow, but don’t expect coaching as a contractor. Contractors are sometimes referred to as ‘hired help’ - remember, you’ve been brought in to solve a problem with your expertise.
If you decide to become a contractor, the organizations you work for become your clients. They no longer need to consider your career growth - that responsibility falls entirely on you. They are your clients. You are their service provider.
As a contractor, you become your own boss and that comes with much freedom but also responsibilities. In the end, contracting is a good way to gain different experiences and exposure to different organizations - these are some of the reasons why people get into contracting.
Still interesting in contracting? Stay tuned for my next post when I write about the different of contracting routes.
I’d like to hear your thoughts, experiences and perspectives, feel free to comment below or follow me at @JennrmillerDev on Twitter.