The comparison is usually done on one number — the hourly rate — and that number is the least informative one available. It makes freelancers look mid-priced, agencies look expensive, and hiring look like a bargain, which is roughly the opposite of how the three tend to work out.
Here is how to compare them properly, and the questions that actually decide it.
Hourly rate is not cost per hour of work
An employee's salary is not what an employee costs. In the Netherlands the gross figure is the beginning: on top of it sit employer social security contributions, the statutory 8% holiday allowance, pension if you offer it, and — for a developer — a laptop, licences, and a share of whatever tooling the team runs on.
Then subtract the time. Out of a year, take off statutory holiday, public holidays, sick leave, and the genuinely productive hours lost to onboarding, meetings, and the ordinary friction of working somewhere. Nobody bills 40 hours a week of output, and an honest comparison divides the loaded annual cost by productive hours, not contracted ones.
Do that arithmetic before comparing anything to a rate card. It does not always favour the agency — but it moves the numbers much closer together than the sticker prices suggest, and it is the only version of the comparison that is true.
The three failure modes
Each option fails in a characteristic way. Knowing which failure you can least afford is usually more decisive than the cost.
Freelancers fail on continuity. The good ones are excellent and often cheaper than either alternative. The risk is not competence, it is that they are one person: they take holidays, they get ill, they get a better offer, and when they leave, everything they knew about your system leaves with them unless you were disciplined about documentation from day one. For a well-defined piece of work with a clear end, this is a small risk. For the system your business runs on, it is not.
Agencies fail on context. We know our own weakness: an external team starts with none of the accumulated understanding of your business that makes decisions fast and correct. A good agency closes that gap deliberately and charges you for the time it takes. A bad one hides the gap and produces something technically fine that solves the wrong problem.
Hiring fails on timing and on being wrong. A good developer takes months to find and months more to become productive, and if the fit is wrong you are in an employment relationship, not a contract. Hiring is the best answer to a durable need and the worst answer to an urgent one.
The questions that decide it
How long will this need exist? A need with an end date — a launch, a migration, a capacity spike — is a contracting problem. A need with no end date is a hiring problem. Most of the expensive mistakes we see are one solved as the other: an agency retained for four years, or a permanent hire made for a nine-month project.
Do you have someone who can judge the work? This is the question people skip, and it is close to decisive. If nobody in your company can tell good software from software that merely runs, you are buying on trust regardless of who you buy from — and you should weight your choice heavily towards whoever will explain their decisions in terms you can check.
What happens when the person leaves? Ask it of all three. The agency answer should involve documentation, more than one person who knows the system, and a handover you can actually exercise. If the answer is "that would be a problem," the price is not the price.
Is the work the product, or around it? Companies whose product is software generally end up building an in-house team, and should plan for it. Companies where software supports the business — most SMBs — often never need to, and are better served by a partner they keep.
The middle option people forget
The choice is usually framed as three, but the useful fourth is a combination: bring in outside developers who work inside your team, on your repository and in your process, while you hire deliberately rather than urgently.
That is what team extension is for — ours start at €60 per hour excluding BTW — and its real value is not the rate. It is that it removes the deadline from your hiring decision. Hiring under time pressure is how you end up with the wrong person on a permanent contract, which is comfortably the most expensive outcome on this page.
A rule of thumb, offered honestly
If the work is well-defined and finite, contract it. If it is central, permanent, and you can wait, hire for it. If it is urgent and permanent, extend your team while you hire properly — and be suspicious of anyone, us included, who answers this question without asking how long the need will last.
If you want a second opinion on which of these your situation actually is, tell us about it. We are happy to conclude that you should hire.