DEV Community

Cover image for Free like a freelancer or secure like an employee? There's a third option: The contractor
Johannes Kettmann
Johannes Kettmann

Posted on • Edited on • Originally published at jkettmann.com

Free like a freelancer or secure like an employee? There's a third option: The contractor

Many developers dream of becoming a freelancer. The promise of freedom to work whenever, wherever, and on what you want as well as lucrative rates sounds awesome. Working with your laptop at the beach below palm trees on an exciting project. 🌞 πŸ’» 🌴 What a life!

But once you start thinking about it, it doesn't appear that simple anymore. What if it's going to be super stressful? What if you don't find clients or they don't pay you? What if you underestimate the effort and the great-looking rates are in fact closer to minimum wage?

I worked as a freelancer and in theory, I had a lot of freedom. But the pressure of estimating a project's scope and effort was tough. Being the person responsible for meeting a deadline was stressful. And client acquisition and communication were a big and unfavored part of my life.

At one point I discovered an alternative though. I became a contractor. It wasn't a conscious step. I wasn't even aware that there was a difference.

But after some time I realized there were great advantages to it. A lot less stress with a good degree of freedom, the possibility to work in awesome teams, and great pay.

This article was written from my own experience as a contractor working in Germany. There might be differences but all in all, I read similar stories from contractors in other countries.

Note: Some folks mentioned that being a contractor in the US is different from what I describe here. So if you're from there please take this article with a grain of salt and have a look at the comments. Especially Europeans have confirmed my experiences though.

Additionally, the lines between freelancers and contractors can be blurry. So before we have a look at the differences between freelancers, employees, and contractors, let me define what I mean by "freelancer" to avoid confusion.

What does it mean to be a freelancer

As a freelancer, you independently work on projects on your own premises and at a location of your choice. You may work for several clients on various projects at the same time. You're mostly paid on a per-project basis.

You're very free and flexible. Within the borders of what you agreed upon with your clients, you can work whenever and wherever you want. You have the freedom to accept or decline projects. You can request high rates depending on your technical and negotiation skills. You're mostly working alone or in smaller teams of other freelancers.

You have to handle the client acquisition, estimate the effort to implement a project or task, negotiate rates, scope, and deadlines.

If you're good at negotiating and can implement the project in the estimated time or faster you can earn good money. But you may need to work crazy hours when your estimations aren't accurate. You may have times without clients and thus without income. When you're sick you don't get paid.

Since you're self-employed there's usually some bureaucratic overhead: you need to take care of your health insurance and retirement plan. Probably the scariest part: You need to file taxes.

What is life like as a contractor?

Contractors are located somewhere in between employees and freelancers. They have more freedom than employees but more security than freelancers.

As a contractor, you're self-employed and work for clients for a relatively short time similar to a freelancer. The big difference is that you're typically booked full-time for a single project for a couple of months up to a year. You're not paid to complete a project but you rather take part in the normal development processes for a certain time and send monthly invoices billing the hours or days you worked.

Another big difference is that you typically work in the office of your client within a team of employed software developers. You're part of the normal office life like going to lunch together with the rest of the team. You take part in meetings, planning sessions, and sprints. You're basically working like any other employee.

There are also cases where contractors are separated from employees. Sometimes contractors are kept out of company internals. But in my experience employers tend to include them in the team.

Contractors often are hired as firefighter, workhorse, or consultant. A project might approach a deadline and someone is needed to put out all the fires. A team might need more workforce for a certain period. Sometimes you're there to fill knowledge gaps or to bring in specialized skills to architect solutions.

Contractor vs Freelancer

Compared to a freelancer a contractor is less free. You often have to work on-site and comply more or less to the office hours of the client.

Being able to invoice the time you worked and being a normal team member has great advantages though.

From a financial perspective a contractor has more security. Knowing your rate and the time you're booked for you can easily estimate the expected monthly income for a relatively long time. Since you're paid by the hour you also don't have to worry about inaccurate estimations, a project growing in scope, or misunderstandings in the communication with the client that will eventually negatively impact your hourly rate.

Since you're not the only person responsible for meeting a deadline being a contractor is less stressful. Especially once you got used to the project and the team. You have more time for planning, writing, and testing code.

Working on a team where developers often review each other's code means that the quality of your code needs to be high. But this also means that you have lots of opportunities to learn from others.

Contractor vs Employee

Compared to an employee, you enjoy more freedom regarding spontaneous absences or vacation planning. It's mostly expected to announce those in a reasonable time upfront though.

Your onboarding will be fast and you're expected to be productive in a relatively short time. So you need a solid knowledge of the toolset of your choice like JavaScript, React, and Git. The client buys your already available skillset. They won't invest in you by training you like they would an employee.

It's harder to grow into lead positions since you don't have the opportunity to slowly climb the career ladder inside a company. At the same time, you learn a lot. You see many different styles of writing code, organizing projects, and leadership. If you have good social skills you can quickly build a network and become a lead in another company.

Switching projects and teams frequently can be exhausting. You regularly have to dig into a new codebase. You often don't see the impact that your code has and how it develops over time. As soon as you got used to a team and maybe made some friends you have to leave again.

From a financial perspective, being a contractor has great advantages compared to being an employee. From my experience you can earn 2 - 3 times what an employee earns. Combined with the added freedom you can decide to build up savings, work for 6 months and take 6 months vacation, or build something on the side.

From a bureaucratic perspective, a contractor is self-employed. So you don't have the benefits of an employee and have to take care of health insurance, retirement plan, or filing taxes yourself. You're basically in the same situation as a freelancer. You take the risk of not getting paid when you're sick. Usually, it's also much easier to let go of a contractor than an employee.

Note: Because of the missing benefits compared to an employee it can be tricky to estimate the real financial advantage of being a contractor. Let's say it's considerable.

Regarding taxes: It's highly recommended to hire an accountant. They are not cheap but definitely worth the money. Often they will save you more than they cost. And you'll have a lot less headache when it comes to taxes and always someone to go to when you have a problem.

Wrapping it up

If you're interested in having more freedom and earning more money than an employee but still enjoying more security than a freelancer, consider becoming a contractor.

Be aware that you need to be on top of your skillset. You won't have a lot of time for onboarding when you join a project. But you can learn a lot from changing codebases and teams often.

Get the free Dev Contractor Roadmap

If you'd like more information about how to become a contractor and how to find jobs make sure to click the link above. You'll receive a free roadmap to becoming a contractor. I'll also write more blog posts about becoming a contractor and notify you once they're out.

Top comments (21)

Collapse
 
samwightt profile image
Sam Wight

Things to add to this (this is very US specific, your mileage may very):

  1. Taxes are higher and harder to manage when you're a contractor. It's significantly more work, even with an accountant, to track all of your income and do quarterly taxes. If you're working at an hourly rate, which a lot of contractors do, then it's very, very annoying to figure out what you think you're going to make this year and pay quarterlies on that. Having a W2 where all of your tax money is taken out for you as the year goes on is incredibly underrated and gets rid of a lot of all that stress.
  2. Contractors are usually paid slightly more (not usually the 2 to 3 times amount in my experience) because they have to pay for an accountant, health insurance, and all of the other benefits that a normal employee would have.
  3. Contractors usually don't end up working side-by-side with employees as if they're a regular employee (at least in the US). If you're working with employees like that regularly, it's probably because you're not a contractor and your employer is committing employment fraud.
Collapse
 
aza profile image
Aza

Totally agree with no.1 and 2, but not with 3. I have been a contractor in my career and work with different contractors in my current company. Sometimes contractors are hired as a check of competency and they become FTEs later on.
But I hate how they system of hiring the contractor works here. Usually they have to go through 3rd parties who get hefty part of the paycheck. This way a contractor legally works for the third party company as FTE while he/she is a contractor for the main company where work is done.

Collapse
 
jkettmann profile image
Johannes Kettmann

Thanks for sharing your thoughts, Eve. Afaik for a company, it's much easier to let go of employees in the US compared to e.g. most European countries. And for employees, there's not much of a notice period when you want to quit, right? If you're not even paid much more than an FTE what's the advantage of being a contractor in the US?

Thread Thread
 
aza profile image
Aza

Exactly. I have always looked for FTE roles, unless a person wants to work in different environments, then i would suggest to join some consulting company.
As for me, i don't see any benefits of being a contractor.

Thread Thread
 
jkettmann profile image
Johannes Kettmann

That's very interesting. Thanks! I'll add a note that my experience doesn't reflect the life of a contractor in the US

Collapse
 
jkettmann profile image
Johannes Kettmann

Thanks for sharing your experiences, Sam. Interesting to read. It sounds like many of the things I mention are not valid in the US. That makes me wonder: What are the advantages of being a contractor in the US?

Collapse
 
samwightt profile image
Sam Wight

Hey so sorry, didn't get notifications on this!

I think the main advantages of being a contractor for me were:

  1. If I need a job for a variable period of time (e.g. one semester in between one of my co-op rotations), then contractor positions are usually more flexible and generous.
  2. Slightly higher pay than most other jobs. If you're in a lower income bracket (which I am, as a college student), you don't pay as much in income taxes, so the slightly higher pay is much-appreciated.

Honestly those are about all for me, I much prefer working as a W2 employee, just because it takes all the stress out of taxes and it's usually impossible for me to remember to pay my quarterlies. Highly recommend taking W2 options over contractor positions.

Collapse
 
jeroen1205 profile image
Jeroen Jacobs

As someone who has been contracting for 5 years, I agree with all the points made in this article. My remarks:

  • Financial freedom is a double-edged sword. You can earn a lot of money if you have the right skill, but you need self-discipline so you won't spend it all at once. During a crisis (like COVID-19), contractors are the first ones to go. Make sure you have that financial buffer to survive a few months without income, and still be able to cover all your costs and taxes.
  • Your skill-set needs to be really good, and you need to integrate with the team and project in a very short time frame. I've seen consultants come and go in just a few weeks, because they bluffed their way through the interview and it become obvious their skills were not as good as they claimed to be. Companies don't have much patience with consultants, when it's obvious you are not what they expect, you are out.
  • I'm not sure how it is in other countries, but after a while you'll notice the same names and people circling around in your area of consulting expertise. It's a small world, and it goes the other way around too: your name will go around as well. Make sure you always end on good terms with your customer, even when things don't work out. Don't burn any bridges, you might need those people as a reference.
  • Get a good accountant, they know how you can save money.
Collapse
 
jkettmann profile image
Johannes Kettmann

Thanks for sharing your experience. I totally agree, it's a double-edged sword. After all, you're acting as a business. And that always means there are risks.

I talked to some recruiters though and was surprised to hear that there is currently a higher demand for contractors. This is a bit counterintuitive.

One reason is probably that it's riskier to hire employees in countries where they are protected. You can easily fire a contractor of you run out of money. But you're mostly stuck with an employee.

Another reason that I experienced myself is that larger companies have hiring stops in crisis situations. So they can't hire new employees. But contractors have a different status. Departments that are still doing fine and are in need for extra workforce can get around the hiring freeze by calling contractors in.

The advice about leaving a good impression is gold! Not only that companies and other contractors will remember you. But also the recruiters internally flag candidates as trusted or not afaik. Once you get a green flag you won't have problems finding the next gig. A red flag will cause problems though

Collapse
 
adam_cyclones profile image
Adam Crockett πŸŒ€

I have come to realize a hard truth, security in a job does not exist.

Collapse
 
jkettmann profile image
Johannes Kettmann

Totally true. Job security is a myth.

Collapse
 
eddsaura profile image
Jose E Saura

This way to work reminds me 100% of SAP.
I used to work with consultants but I was the company employee which they help.

Collapse
 
jwp profile image
John Peters

For me, the focus is to gain the hottest skills so they come looking for me. It works but takes about 2 years of dedicated self study.

Collapse
 
kelvin9877 profile image
Kelvin Liang

Nice article, I will consider being a contractor when I get more experiences on web dev career.
I do wonder can a contractor be remote or have to onsite?

Collapse
 
jkettmann profile image
Johannes Kettmann

Thanks Kelvin! A contractor can work remotely. That's up to the client and your negotiation skills. My experience is that clients in Germany demand contractors to be on-site at least partly. Sometimes only a day per month, more often at least a day per week though. But companies here are often not so remote-friendly. Might be different in other countries ;)

Collapse
 
kelvin9877 profile image
Kelvin Liang

Thanks for the insight, I get it, that might be a norm for the contractor business now, need to onsite and meet with the team once a while. But I do see some job posts online nowadays that hiring contractors online or remotely, I guess the location of the job shouldn't be the differentiator of "freelancer" and "contractor" by definition, agree?

Thread Thread
 
jkettmann profile image
Johannes Kettmann

I'd say it's more a norm in Germany, at least from my experience. But we're far behind other countries with respect to digitization. So yes, you're right. The location is not the differentiating factor.

Collapse
 
kayis profile image
K

For me freelancing and contracting are synonyms, but I often read the exact opposite of what you wrote. "Contracting" being the low-end freelance work and "consulting" being the high-end work.

Collapse
 
jkettmann profile image
Johannes Kettmann • Edited

Yeah, true. I also read stories on Reddit of 20-year-olds finding themselves in bad contracting jobs for minimum wage. I guess there's a dark side to contracting. If a company can hire a (mostly inexperienced) dev as a contractor for a low hourly rate they save a lot of money on benefits like health insurance and so on. That's very common in the construction industry afaik. In Germany, there are a lot of people from other countries working on construction sites as contractors without having any benefits or security. I described the sunny side: If you're an expert you make a good living.

Btw I didn't want to say that freelance or consulting are paid worse. I guess they can even earn more since they take higher risks. But that depends a lot on your negotiation skills and your skills

Collapse
 
sebastienlorber profile image
Sebastien Lorber

In France we only use the term freelance for both cases

Collapse
 
jkettmann profile image
Johannes Kettmann

In Germany also for the most part. In my LinkedIn it even says I'm a freelancer. With this post I wanted to point out that there are differences though