In-house vs agency vs freelance developers
What each hiring route really costs once you count recruitment, downtime, and management — and the situations where each one is clearly the right answer.
We are an agency, so treat this with appropriate suspicion. It is also a question we get asked honestly and answer honestly, including the cases where the answer is not us — an engagement that should have been an in-house hire goes badly for everyone. Here is the actual comparison.
The comparison, without the sales gloss
| In-house | Agency / dedicated team | Freelance | |
|---|---|---|---|
| Time to productive work | 2–4 months (search, notice period, ramp-up) | 1–3 weeks | Days to 2 weeks |
| Cost visibility | Salary plus 25–40% in employer costs, tooling, and equipment | One rate, usually all-in | Lowest headline rate, highest variance |
| Breadth of skills | Whatever that person knows | Several disciplines on tap — design, backend, mobile, QA | One person's skill set |
| Bus factor | Real risk until you have two | Covered — illness and holidays are the supplier's problem | Total exposure |
| Context retention | Highest — they live in the business | Good while engaged, needs handover documentation to survive | Lost the moment they move on |
| Management overhead | You manage them | Usually a lead manages them for you | You manage them, often across time zones |
| Cost of being wrong | High — notice periods, severance, months lost | Low — engagements end cleanly | Low, but so is the recovery |
The cost comparison people get wrong
The usual mistake is comparing a salary against an agency rate. They are not comparable numbers. An in-house developer costs their salary plus employer taxes, benefits, equipment, software licences, and recruitment fees — typically 25–40% on top. Then add the months of vacancy before they start and the ramp-up before they are fully productive.
That does not make in-house expensive. It makes it a long-term investment that pays off through accumulated context and gets cheaper every year the person stays. The genuine comparison is total cost over the period you need the capability, not rate against rate.
In-house is cheaper per year and slower to start. An agency is more expensive per hour and faster to value. Which is cheaper depends entirely on how long you need it.
When in-house is clearly right
- The software is the business, and the knowledge of how it works is a genuine competitive asset.
- The work is continuous and open-ended rather than a defined project with an end.
- You already have engineering leadership who can hire well, review code, and mentor. Hiring your first developer with nobody able to evaluate their work is how teams end up with expensive problems years later.
- You are able to wait three months for the right person and pay market rate to keep them.
When an agency or dedicated team is clearly right
- You need several disciplines at once — design, frontend, backend, QA — but not a full-time person in each.
- There is a deadline that a three-month hiring process cannot meet.
- The work is a defined project rather than an indefinite stream. Building the first version of a product is the classic case.
- You need a capability temporarily — a mobile app you will maintain lightly afterwards, or a migration with an end date.
- You are not yet ready to commit to permanent headcount but the work cannot wait for that decision.
The failure mode to guard against is dependency. If an agency holds the only understanding of how your product works, you have a problem regardless of how good they are. Insist on code ownership, written architecture documentation, and a handover that has actually been tested — not promised.
When a freelancer is clearly right
- A well-defined, self-contained piece of work — one integration, one screen, one fix.
- Specialist expertise you need for two weeks and never again.
- Genuine budget constraints where the honest alternative is not building it at all.
Where freelance goes wrong is scope creep into something long-term and load-bearing. One person, no review, no documentation, and no cover is fine for a two-week job and a serious risk for the system your business runs on.
The hybrid most teams end up with
The arrangement that works most often is not a single choice. Keep in-house whoever owns the product knowledge and the decisions. Bring in an agency team for the build phases and the specialisms you need occasionally. Use freelancers for genuinely bounded pieces. The important part is that the in-house person is senior enough to direct the others — an outsourced team with nobody internal steering it will build exactly what it was told, which is rarely what was needed.
What we'd tell you on a call
If you need a defined thing built in the next six months, an agency or dedicated team is almost always the right route. If you need permanent capability and can wait for it, hire in-house and get it right. If you already have engineers and just need throughput, dedicated developers who work inside your process beat both. And if you tell us your situation is the first case when it is plainly the second, we will say so — an engagement that should have been a hire is a bad engagement for both of us.