Simply put, when it comes to actually carrying out the work on a day to day basis, the difference between being a contractor vs a permanent employee is basically… nothing.
Let’s imagine you’re given a 6 month contract as a mid level developer to work on an app for a company, on your team is a permanent employee who has the same skill level as you, working on the same app as you.
In this scenario — you both carry out the same work, you both work on the same code, you both push to the same GitHub, you both pull tickets from the same Jira board, you’re both involved in the same meetings about the product & you both work to roughly the same schedule.
So as you can see, at this point there is no difference between the two of you.
The differences between a contractor and a permanent employee appear outside the actual work that’s carried out, in the background so to speak.. here are my top 3.
Difference #1 — Salary
Whether you’re all about the money or not, this is by far the most significant difference between a permanent employee & contract freelancer. So let’s get to it..
Permanent employees get paid a salary, and according to GlassDoor the average salary for a permanent senior iOS developer is £65,000. After taxes, your take home pay per year would be £46,344.
By contrary, contractor's get paid a day rate - and from my experience the average day rate for a senior iOS contractor is roughly £450, which works out to £84,600 (after company tax) per year before tax - if you were to work the same amount of days as a permanent employee & take 25 days unpaid leave (assuming there’s 262 work days in a year, which was the case in 2020).
After taxes, assuming you pay yourself in the most tax effective way possible, your take home would be £70,692 (including roughly £1150 in accountancy fees). That’s almost 150% of a permanent employees salary.
Difference #2 — Freedom
Freedom on work hours
As an employee, you work pretty strict hours i.e 9–5.
As a contractor, you work roughly the same hours but there’s nothing to say you have to start and finish at the same time. In fact in the UK it’s better that your contract is as schedule agnostic as possible so you can’t be wrongly confused as an employee in disguise by HMRC.
Freedom to travel or take time off
As an employee, you get an allocated amount of yearly holidays which you have to ask to take and have approved by management, not to mention you’re often competing with your fellow co-workers. Not to mention most companies don’t offer sabbaticals, and those that do usually have a minimum time you have to have been an employee to ask for one.
As a contractor, you don’t have allocated holiday days or get holiday pay. However you can take as much time off as you like by just not taking a contract for the period of time you wish to be away. For many years I used to work a maximum of 6 months & take a full 6 months off to travel and work on side hustles.
Also, on the occasion you’re on a contract and need to take some time off — while many clients will expect you to clear time off with them, you actually don’t have to. It’s more of a common courtesy & they have no legal right to deny you holiday.
Freedom to work on what interests you
As an employee, you get told what to work on & you can be moved from project to project at a whim.
As a contractor, you get to choose what contracts you want to apply for based on what interests you. You get to work on those contracts for the minimum agreed period of time (ie 3 or 6 month contract), and if it still interests you after that you get to choose whether or not you’d like to extend the contract for long, assuming the client would also like to do that. If the project no longer interests you or wasn’t what you thought it’d be, you don’t extend and you go find something else that does interest you.
Difference #3 — Breadth of experience
As an employee, you get exposure to your companies methodologies, ways of working, technologies used and so on. If you’re working as an Android developer on a Java code base, what’s the likelihood your company is going to switch to Kotlin because it’s the new standard for Android developers vs them sticking with the code their already have and building on that? Where does that leave you when you eventually decide to move on, and have no experience in what companies are now hiring for?
As a contractor, you get exposure to lots of different companies ways of working, different methodologies, different technologies etc in a really short period of time. Think about it, if you worked three 3 month contracts in a single year — that’s experience in three completely different companies, code bases and ways of working. No more waiting for your company to catch up to the current tech — when you’re finished on your current contract you can go find a contract that is using whatever technology or language you want to work with.
Those are by far the top 3 differences (& benefits) I see between being a contract freelancer and a permanent employee. If you’re a software engineer of any stroke I’d love to hear your thoughts & feedback — maybe you value something else about being a freelancer or maybe you’re a permanent employee and think I’ve totally missed the mark — let me know in the comments!