As a Software Engineer you have many advantages when look for work, you can choose if you'd like to become a permanent employee within a company or you can choose if you'd like to be self employed as a sub contractor or a freelancer.
This article will go through the pros and cons of permanent vs contracting and help you decide which is the best option for you.
There are many factors that go into deciding which is the best option for you, this article will go through the main areas and compare the 2 options.
As a permanent employee one of the main benefits is job security and having a regular income. To some people this means a lot and is the main reason why most people become a permanent employee. Especially if you have people that depend on you, having a regular income is very important to you.
As a contractor your job security is very low, if the project you’re working on is terminated or your skills aren’t needed anymore the company can cease your contract with 2 weeks notice.
If the company meets a economic downtime then the contractors are normally be the first to go.
In terms of job security then permanent employee wins this one. But it’s important to note that job security and career security are different things, as some people argue that as a contractor you’re less likely to be dependent on one company for your money and therefore you’re more secure in your career.
When you work as a permanent employee your pay isn’t decided by you. It is decided by the company you’re working for.
Companies have a policy when it comes to pay, some companies might try to aim to be a high payer and therefore try to attract the top talent.
Whereas some might be happy being a mid level or lower end payer. Therefore working for these types of companies you’re going to be earning the average salary for your position. If you see yourself as above average skill level in your position you’re going to struggle to get more than the average salary from these companies.
Sometimes the people making the decisions for the pay levels may be the HR department, this is a problem as the people deciding your pay may not have any knowledge of your industry. They may not understand that in the past year you’ve learnt a new programming language that should move you into another pay bracket, they just see a developer.
This is company dependent, some companies will have a more flexible pay structure and will be willing to pay more for the right person. But this is something you need to find out during the interview process.
Another thing to consider is the pay rises you get as a permanent employee. Most companies will have a pay review once a year, this is where you will be reviewed on your performance and you may get a pay rise. This pay rise is normally between 1-5% of your salary.
This is a problem as you’re not in control of your pay rise, you’re dependent on the company to give you a pay rise. If you’re a high performer and you’re not getting the pay rise you think you deserve you’re going to be frustrated.
Pay rises are normally given to everyone in the company at the same time. This means that if you’re a high performer and you get a 5% pay rise, but the low performer gets a 1% pay rise you’re going to be frustrated. You’re going to feel like you’re not being rewarded for your hard work and you’re going to be frustrated that the low performer is getting the same pay rise as you.
This is a problem with the pay review system, it’s very difficult to reward high performers and low performers at the same time. This is why some companies have moved to a bonus system rather than a pay rise system.
Contractor workers have more control over their pay, the money will come from the project budget and therefore you’re paid for the skills you bring to the project.
Contract workers tend to be paid per day they’re on the contract, rather than the salaried position of a permanent employee. This has it’s pros and cons.
For example, being paid per day you work is that you obviously won’t get paid for the days you’re not working. As a permanent employee at a company you will be paid for any holiday you take, bank holidays and sick pay. Whereas as a contractor if you don’t work these days you won’t get paid.
This is the main reason why contractors are generally paid more than permanent employees because they won’t have these benefits.
As a contractor you can make more tax savings as you’ll be able to setup a limited company and pay yourself in more tax efficient ways.
You’ll also be able to expense any costs you need to make to be able to perform your job. For example if you work from home you’ll be able to expense all you computer equipment, desk and chairs. You’ll also be able to expense the travel costs of going to your client offices for your work.
As a contractor you will tend to be paid more than a permanent employee, along with this you’ll be able to expense more and on top of that you can make tax efficient savings. But this is a trade off with other benefits of being a permanent employee.
The downside is that your income will not be as reliable as being permanent. There may be weeks or months in-between contracts, but if you’re sensible and save your money for these times of the year you’ll be fine.
Therefore being a contractor win this section on compensation.
Below are tables that you can compare how the income structure works for permanent vs contracting.
|Take Home (Monthly)
|TH with 10% bonus (Monthly)
|TH with 20% bonus (Monthly)
|Left In Company
The contract salary take home is the most tax efficient way you can pay yourself as a contractor. This is based on the current tax system in the UK, it might be different in your country.
The main differences you can spot with this is as a contract your monthly pay can be the same when earning £350 a day vs £700 a day. This is because you're paying yourself the same salary and dividend amount the difference is the money left in the company. You'll be able to take this money out of the company in different ways such as pension where at £350 a day you can pay in £33,550 a year whereas at £700 a day you can pay in £60,000 a year.
£60,000 is the maximum you can pay into a pension in the UK per year, therefore this doesn't change from £500 a day and above.
This means that the monthly amount for all the above rates is 1,047.50 + 3,141.67 = £4,189.17. When you compare this with the permanent salary this is roughly the same as a salary of £70,000 a year. But when you include the pension amount it will increase your take home amount. Now you can compare the take home amounts and you'd see that someone making £350 a day can take home more than someone on a salary of £130,000 a year. The difference is the amount that you get in your bank amount each month.
Therefore if you can live on £4,189.17 a month, contracting can be a better option for you. If you have more expenses then you'd need to find a permanent position on more than £70,000 a year.
In the UK when you become a permanent employee at a company you generally get between 20-25 days holiday to take every year. This can go up with longer service at a company but this is the general amount at the start of employment.
This gives you 4-5 weeks off every year of paid leave to unwind and make sure that you’re always rested to provide your best to the company.
You also get bank holidays off which is normally 8 days a year, this is normally on top of your holiday allowance.
You also get sick pay, this is normally a percentage of your salary and you’ll get this for a certain amount of time before it’s stopped.
When comparing whether you want to become a contractor vs permanent employee you need to decide if the money you make per day is enough to not be paid for holidays.
Taking holidays as a contractor starts to become more and more expensive as you’ll take into account the opportunity cost of losing that money from not working the contract.
But it’s very important to take that time off, you'll need to prepare yourself with not earning while you take time off.
You’ll need to make sure that you’re saving enough money to be able to take holidays.
You’ll also need to consider national holidays which will generally mean the company won’t be working and therefore you’ll need to take the time off too. Make sure you know what national holidays are going on during your time in your contract and make sure you save for those times.
As a contractor you are also not entitled to sick pay, if you get sick you will not be earning money. If you have a serious injury or sickness you could be out of work and money for an extended period of time.
With holidays, bank holidays and sick pay not paid to contractors being a permanent employee wins this one.
In the UK companies are required to pay their staff a pension which is a percentage of the salary. The employee can decide to opt-out of this but it’s free money from your company and most people tend to use this benefit. The government tried to have people save around 8% of their salary to pension, this is split between yourself and the employer.
For example if the employer would pay 4% you will have to contribute the other 4% through the year.
Some companies will pay higher contributions to your pension and they will use this as a benefit of the employment.
As a contractor this isn’t setup and if you want this benefit you will need to set this up yourself. But it means you can have your limited company contribute a pension amount for you.
You will need to take this into consideration when comparing the day rate of the contract to the day rate of permanent employment.
As a contractor vs permanent in this situation I would say it’s a draw. In both situations you can have a company contribute money to your pension but it will take more work to have set up as a contractor. But you get to decide what percentage is contributed by your company.
Permanent staff have this easier as it’s done as part of employment but as a contractor you have more control.
At some companies the higher up you get you may be provided with a bonus scheme at the company. This will come in a percentage of your salary amount which can be a decent amount of your yearly salary making it worth while.
The problem with the bonus system in many companies that they can come from company objective that you may or may not be able to directly contribute to. Therefore your annual salary may be related to other people doing their job rather than how well you do your job. Having this out of your control can be very frustrating when working in this environment.
Bonuses that are awarded to you based on your performance can be a good thing, but you need to make sure that the company has a fair way of measuring your performance. If you’re a developer and you’re being measured on how many lines of code you write then this is not a fair way of measuring your performance.
Another problem is the timing the bonus is paid and it’s normally used by companies to get more time out of you, the golden handcuffs it’s commonly referred to as, let me explain.
Most bonuses are annual based bonuses running Jan - Dec, but the bonus is not paid until end of March. There are normally rules in the bonus scheme to make sure that you can not get the bonus if you are serving your notice to leave the company. If you have a 3 months notice period this will mean you need to work an extra 6 months in order to get your previous year bonus. You’ll need to wait until April in order to hand in your notice which means you can’t leave until the start of July. This is why annual bonuses are commonly referred to as the Golden handcuffs. If you’re unhappy in your job in November and you know the company will be paying a bonus you’ll end up staying at that company until July in order to get that bonus.
As a contractor you are not entitled to a bonus unless it’s something that is negotiated at time of signing your contract, but this is very rare.
The winner in this category is going to be permanent, but it does come with some caveats of less flexibility this needs to be considered.
Being a permanent employee you are told what you work on and may even be told what technology you have to work in.
If you work for a company that only has a handful of products those are the only types of products you will work on.
For some people this is a plus, you get to specialise on one thing and make sure you do your best on that one thing.
For other people this is a negative, you may get bored of working on the same thing and want to try something new.
As a contractor every few months you can switch technology or industries that you work on. Under one contract you could be working on a SAAS product using nodeJS, the next contract you could be working on a ecommerce site using WordPress.
If you enjoy working on different things more often then contracting may be for you.
This category you need to decide what’s right for you. If you prefer to specialise on one product then permanent is the right option for you. If you prefer to learn new things and try new things and work with different people more often then contracting will win.
As a permanent employee your career progression is normally mapped out for you. You will understand how you can move up in your career and the different career paths you can take.
But this is only if your company has the career progression plan mapped out, some companies actually don’t have this mapped out or the career progression plan doesn’t match your career goals.
In more traditional companies they might have the career path of manager, department lead to board member etc. But what if you don’t want that path in your career, what if you don’t want to manage people.
As a developer you might not want to manage people but if that’s the next step on the career ladder in your company what do you do? This can lead to some people feeling trapped in their current company and feel like they don’t have a route to improve their careers and pay at the current company.
You are dependent on your current company culture and HR department in order to map out a career path that suits where you want to get to.
You might also be restricted on what you can learn, if you want to learn a new programming language or technology you might not be able to do that in your current company. This is because the company may not be using that technology and therefore they don’t want to pay you to learn something that they won’t get any benefit from.
As a contractor you have more freedom over your career progression as you don’t have a set career path.
You’re able to give yourself training in whatever you want to learn which may or may not be related to what you’re currently working on.
If you want to become a CEO or board member of a company then contracting may not be the right career choice for your future. But as a developer if you want to stay in the technical side of the job then being a contractor might work better for you.
You also have the flexibility to move between industries and technologies more often. If you want to learn a new programming language you can do that in your own time and then find a contract that uses that technology.
This category comes down to what you want out of your career, if you want to be a manager of people and become a board member of a company then being a permanent employee is a better option.
If your company has a defined career path that works if your career objectives then it will be better to be a permanent employee. If there is no career path or it doesn’t match your career objectives then you’ll be better as a contractor.
As a permanent employee you are told where you work. If the company you work for go into an office or client offices to work you will have to do that. This means you need to take into consideration the commuting costs to your work.
You can not normally choose where you work. If you work better in a office surrounded by people you need to hope that your company does that. If you work better at home you need to hope that your company allows you to do that. If you work better in a coffee shop your company may not let you do that.
You also don’t have a choice of when you work, most companies will say you need to work the standard 9-5. If you’re a night owl and your brain is most awake in the evening you will not be doing your best work until the end of the day. If you’re an early bird and do your best work in the morning you may not be able to start work during that time.
If you’re a working parent and need to do the school run at 8:30 and 15:30 you’ll need to figure out a way you can do this while still performing your 9-5.
For some people the 9-5 work hour patterns is perfect for them and they get the best work/life balance by having the evenings to themselves. But this doesn’t work for everyone and it’s not productive to force everyone to follow the same rules.
Changing these rules when you’re in a company can be extremely difficult, these rules are again normally decided by the HR department of a company. The bigger company you work for the harder and harder these rules are to change.
If you want to work as a permanent employee make sure you’re picking a company that suits your working style.
As a contractor you tend to be free to decide where you want to work. You’re judged on your output of the job you do rather than where you do the work. This means you can work where ever you want whenever you want to work, as long as you get the job done.
If you want to work in a coffee shop you can do that, if you want to work in a office you can do that, if you want to work from home you can do that.
This gives you the flexibility to work where you want to work and when you want to work. If you’re a night owl you can work in the evening, if you’re an early bird you can work in the morning.
This gives you the flexibility to work around your life and not have to work around your job.
The freedom to work where and when you want means that being a contractor wins this round.
This can vary company to company, the training that a company provides can vary a lot. Some companies encourage the training of their staff more than others.
Most companies will be willing to pay for courses that the employee wants to do. But this could be limited per year.
For example some companies may decide to give you a training budget of a £500 a year you’ll be limited to that training within the year.
You may also need to negotiate time in order to complete the training at the company. In my experience it’s easy for a company to pay for a course but harder to give you time in order to complete that training.
You may receive training while you start a contract but most of the time you are expected to come into the company and complete the job. Therefore if you want to go on a course or complete a qualification you’ll have to fund this yourself and complete the learning in your own time.
It’s up to you to stay up to date with the industry in order to secure future roles.
This is a difficult category to decide on a winner as the training you get as a permanent employee will depend company by company.
As a contractor you are in more controller of your training and you can decide when you do this training. But you might have to take time off between contracts to complete this training.
I would give this to permanent but this is so dependent on the company you work for, make sure you understand where they stand with training during your interview.
Being a permanent employee your industry network generally only stretches as far as the company you work for. You may be able to network if your company works with other companies.
As a contractor you will be switching jobs and companies more often and will be able to meet more people in the industry, this gives you the opportunity to meet more people that can help with your career.
As a contractor you’ll be able to grow your professional network more than being a permanent employee because of the opportunity to work with more people. If you work for a company as a permanent employee that works with many companies you may be able to achieve this. But generally you’re grow your network larger when being a contractor.
The problem with working for a company who are a lower or mid level payer is they can’t keep up for job marketing changes as much as the higher end payer. For example what we seen during covid is the salaries of IT staff went up by a larger amount than the mid level payer companies were willing to keep up with.
For example if we have the following pay scales
- Higher payer - 50k
- Mid payer - 40k
- Low payer - 30k
During covid we saw this raise the higher pay to 65k but the mid level payers and the lower end payer would move their benchmarks up slower which meant there was a bigger gap in the pay difference.
This put companies in a position where they needed to give a payrise to all employees or risk losing them to higher paying companies.
If you’re a mid level payer with 20 employees and now the mid level salary has gone up by 10k per person in order to keep everyone in line with the marketing the company staff costs will go up by 200k a year. This is something for a mid level or lower level payer company to do, especially during market uncertainty as we seen during covid. This may have been ok if the company was a tech company but difficult for companies working in other industries with a in-house IT department.
Being a permanent member of staff in companies like this may struggle to keep up with market changes and you might have to leave the company in order to keep your pay in line with the market.
As a contractor during covid we also saw the rate of contracts go up in price. This is because with companies needing to quickly shift more work into the cloud the demand for IT staff was high and the supply was low.
In this situation as a contractor you are able to renegotiate your rate at the end of the contract which is typically every 3-6 months.
These pay rates are not normally decided on by a HR department that may not understand your skills but will be from the budget of the project you’re working on. Therefore you’ll find that in a changing market your rate will stay in line with the market rate.
In a changing market place, unless you work for a high paying company then being a permanent member of staff in a company your salary may not stay in line with market rates. Being a contractor in this situation is a better option for keeping your pay inline with the market.
The average timescale for a tech employee to stay at a company is generally between 2-3 years. Therefore you might only be applying for jobs every 2-3 years.
As a contractor you may find yourself applying for jobs every 3 months. This means staying on to of your CV and Linkedin profile and having a network of recruiters to help you with your job search. You’ll also need to be comfortable with interviewing for a job every couple of months.
Being a permanent employee wins this round as you won’t have to apply for new roles as often as being a contractor.
As a permanent employee your admin is very low you only really have to deal this when changing jobs you’ll get a new contract.
You don’t have to worry about tax returns or other legislation it’s all handled for you by the company you work for.
As a contractor you need to handle all the admin yourself. You need to handle how and when pay work, insurance, taxes, VAT, pension, IR35, legislation etc.
This can be a lot of work and you’ll need to make sure you’re on top of all of this.
There is more work to be done as a contractor, being a permanent employee is less admin and wins this category.
As permanent employee it’s easier to get a mortgage and credit than it is as a contractor, this is because of the reliability of regular pay.
Even if you’re new to a company banks will give you more preference if you’re permanent.
For contractors it is harder to get access to mortgage, this is because they are seen as higher risk than permanent employees. You will need to do more to prove your income and may need to provide your company financials for the past 2 years and provide a copy of your latest contract to prove you can afford the mortgage in the future.
Being a permanent employee makes it easier to get credit and therefore it will win this category.
|Changing Job Market
|How you work
|Applying For Jobs
As you can see from the above result table the differences between the 2 are very close. But you can get different things from your choice. This is why it’s very important to look at different positions in your life to see which option is best for you.
For example if you have dependents that rely on your income then job security might hold more weight to your decision. Whereas if you don’t have dependents more flexibility might hold more weight to your decision.
If you’re going to be buying a house in the short term then being a permanent employee may be better for you than being a contractor.
There as many pros and cons in both columns you need to review what’s important to you with a job and make sure the company you work for meets those requirements to help decide if you should be a contractor vs a permanent employee.
When you start your career as a software engineer you’ll be looking for a permanent position. This is because you’ll be looking for a company that can provide you with the training and support you need to become a better developer.
You’ll also be looking for a company that can provide you with a career path that you can follow and grow your career.
When you're a bit more experienced and you’ve worked at a few companies you’ll start to understand what you want out of your career and what you want out of a company. You’ll start to understand what is needed from you at a company and how you can provide value to a project. This is when you can start to think about becoming a contractor.
You’ll need to make sure you have the skills and experience to be able to provide value to a project. You’ll also need to make sure you have the confidence to be able to go into a company and provide value to a project. Having a specialised skill in a technology or industry will help you become a contractor. For example if you know WordPress very well then you'll be able to find a company that needs a WordPress developer and you'll be able to provide value to that project.
When you become a contractor you need to make sure you have enough money saved to be able to support yourself for a period of time. This is because you may not have a contract lined up when you leave your permanent position.
You’ll need to make sure you have enough money to support yourself for 3-6 months. This is because it can take a while to find a contract and you’ll need to make sure you have enough money to support yourself during this time.
You’ll also need to make sure you have enough money to pay for any training you need to do in order to get a contract and for any equipment you need to buy in order to do your job.
There is more admin to being a contractor to a permanent employee. You’ll need to make sure you understand what is required of you as a contractor.
You should be aware of the administrative tasks involved in contracting, such as handling taxes, VAT, pension, and legislation like IR35 in the UK.
You’ll also need to make sure you understand how to find contracts and how to negotiate your rate.
If you're planning to make significant financial commitments like getting a mortgage, it might be better to wait as permanent employees often find it easier to secure such financial services.
There's also times in the end when the contract market is slower than normal. For example during the summer months and Christmas time the contract market tends to slow down. This is because companies are less likely to start new projects during these times of the year. Therefore you may find it harder to find a contract during these times of the year.