During my career I’ve worked in different situations:
- as a quasi-employee of an agency
- as a contractor of an agency
- as a freelancer working with several agencies
A constant dilemma I’ve met talking to leaders of the different agencies was whether it’s a better idea to employ a web developer as a full-time employee or outsource the projects to freelancers.
The question is not easy at all. Lot of advantages and disadvantages are listed on both sides – let’s have a closer look at them…
A web developer as an employee
- Works for lower hourly rates. E.g. in Europe a web developer typically earns $10-$40 hourly, while a freelancer usually works for lot higher rates (cca. $25-$200 / hour)
- Available in his/her working hours exclusively for the employer. No need to worry about refusing your project, because of working on someone else’s project at the moment
- More flexibility about what they do during their working hours. E.g. if a project became more urgent than other projects, you can simply tell your employees to focus on this now instead of the other things they were working on
- More control over what’s happening: especially if you are working in the same office physically – you can always check on them what they are doing. It can be important to those who like to practice close control over what is happening
- You have to pay the developers’ wages even if you don’t have enough projects to work on. This is a very big risk, because if you don’t have enough income, your finances can go into negative – that can put your whole business at risk
- The second one correlates with the previous point: you can’t fire them easily. There are laws in every country that protect employees and set minimal terms of notice, etc. So generally you can’t just tell your employee: you don’t have to come in tomorrow – but you won’t get any money for it, though.
- It can easily happen that your developer is a pro in one field, but isn’t super-good in an other territory. E.g. maybe she can plan good UX solutions, but isn’t that good with database planning.
Outsourcing web development to a freelancer
- You can hire the expert for as many hours as you’d like to. As the developer is not your employee, if your project needs only 10 hours of work, you have to pay him/her only the 10 hours of work, not the whole month’s wage.
- You can select which expert you’d like to hire: if you need a database pro, you hire one. If you need a design pro, you hire one. So you can always hire the person who is the most suitable for the job.
- Smaller risk: if your freelancer is not as good as expected, you can hire someone else for your next project. With an employee who is just not good enough, it would be more difficult to do a switch…
- Higher hourly rates. However, you usually hire a freelancer expert when the size of the project doesn’t require a full-time employee – or when you need a very special knowledge that you may not find in-house.
- Risk that the expert disappears: while this is a very rare case, everyone has heard about stories when the freelancer developer has disappeared in the middle of the project and no-one knows where he’s gone since then. It often raises the need of some warranties that make sure:
- the expert won’t disappear
- if he/she disappears anyway, someone else can take over the job quickly
- Looser control: as you can’t see every movement of the expert, you have to trust them that your project will end with the desired results. This is why it’s extremely important that the expert can communicate with you clearly, and has the attitude of “asking something before doing it wrong”.
- A method of addressing this risk is if the developer uploads the source code real-time or at least once daily. This way the client can see how the project progresses and can step in if something goes in a wrong direction.
Is there a way in between?
It often happens with agencies that they keep the strategic positions in-house, like project management, account management, lead development, UX design, etc. In the same time they reach out to freelancers for completing the specific projects. So their workflows look like:
- the project manager communicates with the client and the freelancer(s)
- the UX designer puts together the brief with the client and the project manager
- they calculate the costs and the feasibility together with the freelancer
Which is the good way for me?
It really depends on your business. You’ll have to make lot of calculations. If you can gather enough projects that will fill in an employee’s full work time, then it may be a better idea to hire someone in-house. If you tend to have variable number and size of projects, maybe it’s a better idea to hire a freelancer on-demand.
Also, some tasks may need some special knowledge that you need a special expert for. While employing someone to do a task or send one of your employees to learn it would be an overkill, you can hire a freelancer expert for the specific project.
Another case when a freelancer may temporarily extend an agency's team is when you have a peak in workforce need, but you are not sure that the next periods will have the same amount of work.
Thanks for reading, if you’d like to add your thoughts, use the comment form below…