Two numbers sit behind every decision to put a developer on payroll. One is the salary, which you know. The other is what each genuinely productive hour of that person’s time costs you, which almost nobody calculates.
On a $70,000 salary those numbers are $34 and $96.
The gap is not a rounding error or a scare tactic. It is what happens when you count everything an in-house WordPress developer actually costs and then divide by the hours they are actually billable, which is the only arithmetic that matters when your business resells those hours.
What is the true cost of hiring an in-house WordPress developer?
Roughly $117,000 a year on a $70,000 salary, once employer burden, tooling, recruiting and management time are counted. Spread across the hours that developer is genuinely productive on client work, that works out near $96 an hour. In year one, with the ramp, it is closer to $128.
Everything below is the arithmetic behind those figures, including the one step most published guides get wrong.
Start with salary, but treat the published figures as soft
Three salary aggregators, three different answers. ZipRecruiter puts the average US WordPress developer at $84,542. Salary.com says $104,961. VelvetJobs says $87,000.
A 24 percent spread on the same job title should make you cautious about all three. The gap exists because “WordPress developer” sweeps in full-stack engineers at product companies, enterprise contractors and agency generalists, and because the aggregators weight toward metros where everything costs more.
For a 10 to 20 person agency hiring someone whose job is building WordPress sites, those figures run high. This article works from $70,000, which is a judgment call rather than a published number, and it is deliberately on the conservative side so the conclusion does not depend on an inflated input. Swap your own band in. The method survives.
What a mid-level in-house WordPress developer actually costs
Outside the major metros, a capable mid-level WordPress developer who can work independently on client builds lands somewhere between $60,000 and $85,000. Below that you are usually buying someone who needs supervision. Above it you are usually paying for skills beyond WordPress, which may be worth it, but you should know that is what you are buying.
What moves the number is less about WordPress and more about adjacency. Comfort with modern JavaScript, real PHP rather than plugin configuration, and the ability to debug a WooCommerce checkout under pressure all command more, and all of them are the reason you would hire rather than outsource.
Why the junior WordPress developer hire has disappeared
The traditional way a small agency got its first in-house developer was to hire a junior cheaply and grow them. That route has quietly closed.
Reported figures put entry-level developer postings down 67 percent between 2022 and 2026, and junior hiring down roughly 35 percent against 2023. The work juniors used to do, scaffolding, boilerplate, template implementation and first-pass fixes, is the exact work AI absorbed first, so the economic case for paying someone to learn on it collapsed.
Meanwhile the senior end moved the other way. Developers fluent with AI tooling command a premium, while senior people without it have seen compensation slip by around 10 percent.
The market did not get cheaper. It barbelled. The cheap entry point that made in-house development affordable for a small agency is the thing that went away, which means the hire you are now considering is a more expensive hire than the one your peers made three years ago.
How benefits and payroll taxes change total compensation
Nearly every guide on this topic gets the next step wrong.
The US Bureau of Labor Statistics puts benefits at roughly 30 percent of total employer compensation. Not 30 percent on top of salary. Those are different sums and they produce different answers.
Multiply a $70,000 salary by 1.3 and you get $91,000. Divide it by 0.7, which is what the figure actually means, and you get $100,000. A $9,000 difference, in the direction that makes hiring look cheaper, repeated across most of the internet.
That $100,000 covers payroll taxes, health insurance, any retirement contribution and paid leave. It is the real cost of having that person on the books before they have opened a laptop.
| Line | Amount |
|---|---|
| Salary | 70000 |
| Employer burden, bringing it to | 100000 |
| Tooling and licences | 3000 |
| Recruiting, amortised over two years | 2350 |
| Management time | 11700 |
| Total | 117050 |
The hidden costs of a full-time WordPress developer
Three more line items, none of them large on their own.
Recruiting and the cost of the empty seat
A recruiter’s fee or your own time spent screening, roughly $4,700 either way, amortised across a two-year tenure.
The larger cost is the seat sitting empty. Six to ten weeks is normal between deciding to hire and someone starting, and during those weeks you still cannot take the work that triggered the decision. That cost never appears in a budget because no money changes hands.
Onboarding and the ramp nobody budgets for
Three to six months at partial output while they learn your stack, your conventions, your clients and the particular reasons your oldest site is built the way it is.
You are paying full salary throughout. Plan for roughly half productivity across the first half-year and you will be about right.
Tooling, licences and the WordPress ecosystem bill
A laptop amortised over three years, an IDE licence, repository seats, a local development environment, their share of premium plugin and theme licences, staging. Call it $3,000 a year.
Small enough to forget, which is precisely why it never makes it into the comparison.
The management time an in-house developer costs you
Three hours a week of a senior person at $75 an hour loaded is $11,700 a year.
That estimate is generous toward hiring. Code review, one-to-ones, unblocking, architecture questions and the general tax of having another person who needs direction will take more than three hours most weeks, especially in the first year.
It also comes out of the scarcest capacity in your building rather than the cheapest, which is an argument in itself.
Cost per productive hour, not cost per year
Annual cost is the wrong unit for an agency. You are not buying a person, you are buying hours you will mark up and resell. So the number you need is what one sellable hour of that developer costs, and getting there means dividing by the hours they are genuinely on client work rather than the hours you pay for.
Those are very different totals.
What developer utilisation actually looks like at a small agency
A full year is 2,080 paid hours. Take out public holidays, annual leave and sick days, call it 25 days, and 1,880 remain.
Of those 1,880, how many land on billable client work? Not all of them, and not close. Internal meetings. The standup. Estimating work that never converts. Fixing your own website. Covering a support question. Waiting on a client to approve the thing that unblocks the next task. The two weeks between one project finishing and the next starting.
Sixty-five percent is a realistic figure at a small agency, and it is a generous one. That gives 1,222 productive hours a year.
If your tracking says 55 percent, your real cost is higher than everything below. If it genuinely says 75, you are running a tighter shop than most and the numbers improve, though not as much as you would hope.
The real hourly cost of an in-house WordPress developer
Take the $117,050 and divide it by 1,222 hours.
$95.79 per productive hour.
Against the $33.65 you get from dividing salary by 2,080, which is the number most people carry in their head. Nearly three times.
| Figure | Per hour |
|---|---|
| Salary divided by 2,080 hours | 34 |
| Real cost per productive hour | 96 |
| Year one | 128 |
Year one is worse, because the ramp eats roughly a quarter of your productive hours while the cost stays flat. Call it 916 hours, which puts the first year near $128 an hour.
Which means this. If your blended client rate is $125 an hour, a new in-house WordPress developer loses you money for the first twelve months and starts contributing in the second. That is not an argument against hiring. It is an argument against hiring anyone you are not confident will still be there well past the second year.
What a failed WordPress developer hire actually costs
Every article on this topic prices a hire that succeeds. That is not the number to plan against.
Median tenure in technology roles runs two to three years, and first hires at small agencies skew shorter, because the job is broader and lonelier than the one that was advertised. So the scenario below is not the unlucky case. It is roughly the coin flip.
If someone leaves at month nine, you have paid about $88,000 of loaded cost, funded a ramp that never returned anything, and you are back to an empty seat with a worse pipeline than when you started. None of it is recoverable, and the recruiting spend has to be paid again.
There is a second loss underneath it, and it is the one that actually stings. Whatever that person knew about your clients’ sites, the undocumented decisions, the reason the staging environment is configured oddly, the workaround on the oldest build, leaves with them. At a 12-person agency with one developer, that knowledge was never written down anywhere, because there was never anyone to write it down for.
Weight the calculation by how confident you honestly are. If you are 80 percent sure this hire works, your expected cost per hour is not $96. It is meaningfully higher, and the 20 percent is where small agencies get hurt, because they do not have the bench to absorb it.
When an in-house WordPress developer is worth the cost anyway
All of the above describes a cost, not a verdict. There are agencies for which hiring is plainly the right call.
If your development demand is steady and continuous rather than lumpy, utilisation climbs, the hourly cost falls, and an employee becomes the cheapest capacity available. At 75 percent utilisation the same developer costs $83 an hour instead of $96, and the gap against any outside option narrows fast.
If your work depends on deep knowledge of systems only you run, a custom plugin, an unusual integration, a platform you built and maintain, then an employee accumulates something a partner cannot. That knowledge compounds. It is genuinely worth paying for.
And if you are building toward selling the agency, in-house capability reads differently on a balance sheet than a supplier relationship does.
The arithmetic only turns against hiring when demand arrives in bursts, which for most agencies of this size it does. That is a separate argument from the cost, and worth reading alongside this one.
Frequently asked questions
How do company size and location affect WordPress developer cost?
Location still moves base salary by 30 percent or more between major metros and smaller markets, though remote hiring has compressed that gap considerably since 2020. Company size matters less for salary than for burden: a 12-person agency carries the same payroll taxes proportionally but absorbs management and tooling costs across far fewer people, so the per-head overhead is higher than at a company of 200.
How long before an in-house developer pays for themselves?
On the figures above, somewhere in year two. The first twelve months carry the ramp, the recruiting spend and the highest management load, which pushes the cost per productive hour to around $128 against a typical blended client rate of $125. Agencies that bill well above that reach break-even sooner. Agencies with lumpy demand may never reach it at all.
What benefits packages do employers typically offer for tech roles?
Health insurance is the largest single component in the US, followed by employer retirement contributions, paid time off and payroll taxes. Developers increasingly expect a learning budget, a hardware allowance and a remote stipend as standard rather than as perks. Those smaller items are what push a package from the low end of the 30 percent burden figure toward the high end.
Where should I source experienced WordPress developers?
The WordPress-specific channels still work better than general job boards: Post Status, the Advanced WP community, WordCamp networks and Automattic’s own alumni pool. Upwork and Toptal are fine for contract work and poor for permanent hires, because the people who thrive there have usually chosen freelancing deliberately. Referrals from other agency owners remain the highest-conversion source by a wide margin.
How do I evaluate ROI on an in-house WordPress developer?
Compare billable revenue generated against the full loaded cost, not against salary. Multiply your realistic utilisation by your blended client rate to get annual billings, then subtract the all-in figure. A developer at 1,222 productive hours and a $125 rate bills $152,750 against roughly $117,000 of cost, which is a contribution of about $35,700. Whether that is good depends entirely on what the same money buys elsewhere.
How to calculate in-house developer cost for your own agency
Four inputs, and you can do it in twenty minutes.
Take your realistic salary band for the person you would actually hire, not the one you hope to find. Divide by 0.7 for the employer burden. Add your tooling, your amortised recruiting, and an honest estimate of senior hours per week at your own loaded rate. Then divide the total by your real utilisation, measured from your time tracking rather than assumed.
Whatever number comes out is your floor. It is what an hour of in-house development costs before you have marked it up, sold it, or made a cent on it. Compare anything else against that figure rather than against the salary.
Most agency owners run this and find the number is roughly double what they had been assuming. A few run it and confirm hiring is the right call, which is worth knowing with certainty rather than by feel.
If yours comes back uncomfortable, that is what Coderlift is for. White-label development is a variable cost with no ramp, no empty seat, and none of that $11,700 out of your senior person’s year.
A salary is a number you quote. Cost per productive hour is the number you actually pay.
Leave a reply