Skip to content
hubreven
Engagements6 min read

In-house developer vs development agency: the cost math with the assumptions shown

A mid to senior US developer costs $95,000 to $160,000 in salary before benefits, tools and employer taxes, takes 4 to 10 weeks to recruit and 3 to 6 months to reach full output. An agency starts inside two weeks at a fixed fee. Hiring wins when the work is continuous and someone internal can lead it.

By HubReven

Most comparisons on this topic are written by one side and argue the case rhetorically. The salary figure appears with no source, recruiting time is left out entirely, and time to first useful output is never mentioned because it is the line that makes hiring look worst.

Here is the arithmetic with the assumptions visible, including the cases where hiring is clearly the right answer.

The lines nobody puts in the comparison

Hire and train someoneEngage a studio
Time to first useful output3 to 6 monthsWeek one, a written scope
Recruiting and onboarding4 to 10 weeks before they startNone, start inside two weeks
Who trains themYour most senior person, for monthsNobody
Who reviews the workAlso your most senior personWe do, visible weekly
BreadthOne person, one skill setProduct, data, AI, commerce and CRM
If they leaveThe knowledge leaves with themDocumentation and code you own
Cost$95k to $160k, plus benefits and toolsA fixed project fee agreed up front

Where the salary range comes from. It reflects US market rates for a mid to senior full stack developer or a HubSpot administrator, before employer taxes, benefits, equipment and software. It is a market range, not a quote, and it varies enormously by city. Check it against your own recruiting data rather than taking ours.

Where the ramp figures come from. These are our observation across client teams, not a published statistic. Yours may be shorter, particularly if the codebase is small or the new hire has worked in your exact stack before. We are stating the source because a comparison that hides it is not a comparison.

The three costs that do not appear on the offer letter

Recruiting is a project. Writing the spec, screening, four rounds of interviews, a take home, references, an offer that gets countered. Four to ten weeks of calendar, and a meaningful chunk of it is your senior people's time, which is the resource you were trying to free up.

Ramp consumes your best person. A new developer does not produce net value on day one. For the first months they produce work that your most senior engineer reviews, corrects and explains. The cost of a hire includes a partial tax on the output of the person doing the training.

Departure is total. When the person who built the integration leaves, and the median tenure in this market is around two years, everything they knew and did not write down leaves with them. This is the line that turns a cheap hire into an expensive one, and it is invisible in year one.

Where the agency model is genuinely worse

Being fair about this matters more than winning the argument.

Per hour, we cost more. A fixed fee that carries the risk of a bad estimate is priced higher than a salary divided by 2,000 hours. If the work is continuous and predictable, that premium compounds against you.

We are not in the room. An employee absorbs context from hallway conversations. We need that context transferred deliberately, which costs your time.

We leave. At the end of a project we hand over code, infrastructure and runbooks and go. If what you need is someone who is permanently available for small requests, that is a retainer at best and a hire at worst.

You are not building internal capability. Every project we do is knowledge that lives in your documentation rather than in your team's heads. Documentation is better than nothing and worse than a person who knows.

The actual decision rule

It is not about cost per hour. It is about whether the work is continuous.

Hire when the work never ends, when there is someone internal senior enough to direct and review it, and when you can survive the three to six month ramp without the thing being late.

Engage a studio when you need one thing built well, once, this quarter. When the skills needed span more than one person can hold. When you do not have a senior engineer with months of review capacity spare. Or when you are not yet sure the role is permanent, which is most companies before their first technical hire.

Do both in the most common good outcome: a studio builds the first version and hands over documentation and code, then you hire someone into a role with a working system to maintain rather than a blank repository and a six month ramp. Hiring into an existing system is a much easier hire to make and a much faster one to onboard.

What a fixed fee actually buys

The comparison only holds if the fee is genuinely fixed, which means a scoping week that produces a number that does not move rather than an estimate that discovers itself during the build.

It also means you own the output. Code in your repository, infrastructure in your accounts, documentation covering redeploys, credentials and how to add a field. An engagement that leaves you unable to continue without us is not an alternative to hiring, it is a worse version of it.

If you are weighing this before committing to anything, the one week paid scope is the cheapest way to get a real number to compare against a salary.

Frequently asked questions

Is it cheaper to hire a developer or use an agency?

Per hour, hiring. Per outcome, it depends entirely on whether the work is continuous. A single project completed in eight weeks is almost always cheaper with an agency once you count recruiting time and the three to six month ramp.

How long does it take to hire a developer?

Four to ten weeks of recruiting before they start, then three to six months to full productivity. Budget both. The second number is the one most plans omit.

Should we hire a developer or a HubSpot admin first?

Depends on where the bottleneck is. If your problem is that the CRM does not reflect how you sell, an admin fixes more than a developer will. If the problem is that a product does not exist, the reverse.

What happens to the code when the project ends?

It goes to your repository and the infrastructure sits in your accounts, with runbooks covering redeploys, credentials and adding a field. An agency that is hard to leave is a dependency, not a partner.

Get the next one

One email a month. Unsubscribe anytime.