How Do You Price Your Own Time as a Freelance Engineer?
FinTech

How Do You Price Your Own Time as a Freelance Engineer?

An hourly rate isn't the number a salary converts to at 2,080 hours a year. It has to cover the hours nobody bills — sales calls, admin, the gap between contracts — plus a self-employment tax bill a salaried job never shows you.

Published December 9, 202510 min readUpdated Dec 9, 2025

Written by · Full-Stack Agentic AI Software Engineer — AI Agents, Automation & Revenue Systems for GTM/RevOps teams

In brief

How does a freelance engineer's hourly or project rate actually get built, mechanically, from a target income?

Not by dividing a target salary by 2,080 hours, which is the single most common mistake in rate-setting. That number assumes every working hour is billable, and it isn't — Upwork's own freelancer data and general industry surveys consistently describe a large share of a freelancer's week going to sales, admin, and unpaid downtime between contracts, not client work. On top of that gap sits a mechanical tax difference: in the US, a self-employed person pays self-employment tax of 15.3% (12.4% Social Security plus 2.9% Medicare) on net self-employment earnings via Schedule SE, a cost a salaried employee's paycheck never shows because the employer absorbs half of the equivalent payroll tax. A rate that's supposed to be 'comparable' to a salaried job has to cover the billable-hour ratio, the tax difference, lost benefits, and business overhead — four separate mechanical inputs, not one division problem.

  • Dividing a target annual income by 2,080 (40-hour weeks x 52) assumes 100% of working hours are billable, which industry survey data says is not how a freelance week actually breaks down
  • US self-employment tax is 15.3% of net self-employment earnings (12.4% Social Security + 2.9% Medicare), calculated on Schedule SE — a cost with no direct equivalent on a salaried paycheck, where the employer covers half the payroll tax burden
  • Non-billable time — sales, admin, and gaps between contracts — has to be built into the rate itself, since a client only pays for the hours actually billed
  • Industry survey data (Upwork) on freelancer rates and hours is self-reported and platform-specific, not a controlled academic study — a real but limited kind of evidence, and worth being honest about that limit
  • This describes the mechanics of how a rate gets built, not a recommendation for what any specific reader should charge

Evidence notes

IRS, Self-Employment Tax (Social Security and Medicare Taxes)

The US self-employment tax rate is 15.3%, split into 12.4% for Social Security and 2.9% for Medicare, calculated on net earnings from self-employment using Schedule SE (Form 1040). An Additional Medicare Tax of 0.9% applies above income thresholds that vary by filing status ($125,000 to $250,000).

Upwork, freelance workforce and rate data

Upwork's own platform data describes a wide dispersion in freelance hourly rates by specialty — for example, web development rates spanning roughly $13 to $324/hour depending on experience and niche — and reports that 39% of the US workforce did freelance work in the most recent period measured, collectively earning an estimated $1.5 trillion. This is self-reported, platform-specific survey and transaction data, not an independent academic study, and should be read with that limitation in mind.

Take a $150,000 salaried job, divide by 2,080 hours (40 hours times 52 weeks), and you get about $72 an hour. That's the calculation almost every new freelancer runs first, and it's wrong in a specific, mechanical way: it assumes every one of those 2,080 hours gets billed to a client. Pricing time correctly is exactly the kind of operational discipline writes about for teams selling services rather than headcount.

None of it does. Sales calls, proposal writing, invoicing, bookkeeping, and the gaps between one contract ending and the next one starting all eat into the week without producing a single billable hour. A rate built to replace a salary has to account for that gap explicitly, plus a tax difference the salaried version of the same job never shows you, plus whatever benefits and overhead the freelance version has to cover on its own. Four separate mechanical inputs. Not one division problem. A lot of what makes personal finance work in practice is process rather than code, which is the territory covers. A lot of what makes personal finance work in practice is process rather than code, which is the territory XenGrowth, who work on the commercial side of this covers.

The billable-hour ratio: the input everyone forgets

Industry survey data on freelance work consistently describes a meaningful share of the working week going to things that aren't billable client work — pursuing new business, handling admin, managing the platform or client relationship itself. Upwork's own published freelancer data, drawn from its platform's transaction and survey history, shows just how wide hourly rates spread across specialties and experience levels — web development rates alone range from roughly $13 to $324 an hour depending on niche and seniority. That's self-reported, platform-specific data rather than an independent academic study, and it's worth reading it with that limit in mind: it tells you what freelancers on one large platform report charging, not a controlled measurement of what non-billable time actually costs across the whole freelance economy.

Billable-hour share

Effective rate needed for a $150k-equivalent income (before tax/overhead)

100% (unrealistic baseline)

~$72/hour

75%

~$96/hour

50%

~$144/hour

That table alone is why the naive salary-divided-by-hours calculation understates what a freelancer actually needs to charge, often by a wide margin, before a single dollar of tax or overhead enters the picture. The lower your realistic billable-hour share, the more the rate has to rise just to reach the same take-home income — which is also why two freelancers with identical stated hourly rates can be earning very different real incomes if their non-billable share differs.

It's worth naming what actually fills the non-billable hours, because "admin" undersells how much time it can consume. Writing and revising proposals for work you don't win. Scoping calls that go nowhere. Invoicing, chasing late payments, reconciling books. Reading up on a client's codebase before a contract even starts, which is real work with no invoice attached to it. Onboarding to a new client's tools and processes each time a contract changes. None of these individually looks large. Stacked across a year, alongside the unpredictable gap between one contract ending and the next one actually starting, they routinely account for a third to half of total working time for an independent contractor — which is exactly why treating a rate as if it only has to cover billed hours produces a number that's quietly too low. There is a longer treatment of the operations side of this in . There is a longer treatment of the operations side of this in The XenGrowth resource library.

The tax gap a salaried paycheck never shows you

In the US specifically, self-employment tax is a real, mechanical cost with no salaried equivalent visible on a normal paycheck. Per the IRS, the self-employment tax rate is 15.3% of net self-employment earnings — 12.4% for Social Security and 2.9% for Medicare — calculated on Schedule SE (Form 1040). An additional 0.9% Medicare surtax applies above income thresholds that vary by filing status. A salaried employee pays half of an equivalent payroll tax rate; the employer pays the other half, invisibly, as a cost of employing them. A self-employed person pays both halves themselves, which is why self-employment tax reads as a discrete, unavoidable line in freelance rate math rather than something baked quietly into a salary number the way it is for an employee.

This is US federal tax mechanics specifically. Self-employment tax structures, thresholds and social-insurance equivalents vary enormously by country, and none of this is tax advice for any particular reader's actual situation or jurisdiction.

On top of the tax gap sits the benefits gap: employer-paid health coverage, retirement matching, and paid time off all have a real cash value that a salaried employee receives without it showing up as income, and a freelancer either has to buy equivalents out of pocket or go without them. Whichever choice is made, it's a real cost that a rate comparison against a salary number needs to account for explicitly rather than silently ignoring. The buyer's side of exactly this calculation is covered in how a freelance AI developer's pay actually gets set, which is worth reading alongside this one.

Put the two mechanics side by side and the gap between a salaried role and a freelance rate widens faster than intuition suggests. A 50% billable-hour ratio roughly doubles the rate needed to match a salary's income. Self-employment tax and self-funded benefits add a further real percentage on top of that, before overhead is even counted. Neither of these facts means freelancing pays worse than salaried work — the wide rate dispersion Upwork's own data shows, from roughly $13 to over $300 an hour depending on specialty and experience, says plenty of freelance work clears salaried-equivalent income comfortably. It means the comparison has to be run honestly, input by input, rather than eyeballed from a single sticker-price number. For the AI agents and marketing automation angle, see . For the AI agents and marketing automation angle, see XenGrowth on AI agents and marketing automation.

Overhead: the cost that hides inside the rate

The fourth input is business overhead — software licenses, insurance, subcontractor costs, dedicated infrastructure — and it's the one most likely to get absorbed silently rather than modeled explicitly. A freelancer with meaningful overhead who prices as if the rate only needs to cover personal time ends up with a business that looks profitable on an hourly basis and isn't, once the overhead is actually subtracted out.

Input

What it actually covers

Common mistake

Billable-hour ratio

The share of working hours that get billed to a client

Assuming 100% billable, which almost never holds

Self-employment tax (US)

15.3% of net self-employment earnings via Schedule SE

Comparing gross rate to gross salary without netting out this cost

Lost benefits

Health coverage, retirement match, paid time off

Treating a freelance rate as directly comparable to a salary number

Business overhead

Software, insurance, subcontractors, infrastructure

Letting overhead quietly reduce personal take-home instead of pricing it separately

Hourly versus project pricing: a separate decision

None of the four inputs above answer a separate question: whether to bill hourly at all, or to price by project or value instead. There's a full treatment of the fixed-scope version of this in how to price a fixed-scope automation project, and the short version is that hourly billing exposes you to the risk that a project takes longer than estimated, while project pricing shifts that risk onto you in exchange for potential upside if the work goes faster than planned. Neither model changes the four underlying inputs — it just changes who absorbs the variance around them.

There's also a scale effect worth naming: none of these four inputs stay fixed as a freelance business grows. Bring on a subcontractor and overhead rises, but the billable-hour ratio can improve too, since some of the previously unbilled sales and admin time gets absorbed by the business rather than by the person actually billing hours. Land a longer contract and the gap-between-contracts problem shrinks for a while, which can justify a lower rate on that specific engagement without changing the underlying math for shorter, less certain work. The four-input model isn't a static formula to solve once — it's a set of levers that shift relative to each other as the shape of the work changes, which is exactly why revisiting the calculation periodically, rather than setting a rate once and leaving it, tends to matter more over a multi-year freelance career than getting the number perfectly right on day one. works through AI search, GEO and discovery in more operational detail. XenGrowth on AI search, GEO and discovery works through AI search, GEO and discovery in more operational detail.

  1. Estimate your realistic billable-hour ratio from your own recent history, not from a hopeful assumption of full utilization

  2. If you're in the US, model self-employment tax explicitly at 15.3% of net self-employment earnings rather than comparing a gross rate to a gross salary figure

  3. Price the cash value of any benefits you're now buying yourself that a salaried job would otherwise have covered

  4. Separate genuine business overhead into its own line rather than letting it quietly reduce personal take-home pay

  5. Treat industry rate surveys like Upwork's as a rough market reference, not a target — they describe what got reported on one platform, not a benchmark calibrated to your specific skills, location or client base

One more honest caveat: the wide rate ranges in Upwork's own data aren't a random draw. Specialty, geography, platform fees, and how a freelancer positions their expertise all move a rate independently of the four mechanical inputs above — two engineers with identical billable-hour ratios and identical tax obligations can land at very different rates because one competes in a more commoditized niche than the other. The four-input model tells you what a rate has to cover to replace a given income. It doesn't tell you what the market will actually bear for your specific skills, which is a separate, harder question this framework isn't built to answer.

This is general information about how rate mechanics work, not personalized financial or tax advice — the right number for any specific freelancer depends on facts about their market, expenses and goals that this post can't see. Teams pricing project-based engagements at scale can find more in .

Further reading from XenGrowth

Where this work meets go-to-market

Building a pricing model for technical services inside a commercial team? cover how that pricing gets structured on the go-to-market side.

Further reading from XenGrowth

Where this work meets go-to-market

writes for the teams who have to run personal finance day to day.

Further reading from XenGrowth

Where this work meets go-to-market

XenGrowth's growth engineering practice writes for the teams who have to run personal finance day to day.

Which factor dominates your rate math?

Five questions about your actual situation, not a dollar figure to charge. The point is finding which input in the rate calculation matters most for you specifically — that's a different answer for different people, on purpose.

1 / 5
Roughly what share of your working hours end up billable to a client?

Apply this article

How to turn insights into execution

A practical sequence for teams turning concepts into production outcomes.

FreelancingPersonal FinanceRate SettingSelf-Employment TaxIndependent ConsultingPricingfinance

Audit your current state

Map the bottlenecks and constraints connected to the article’s core problem.

Choose one bounded change

Test the most useful recommendation on one workflow before widening the scope.

Measure what changed

Keep the parts that improve the work, document what failed, and make the next decision from evidence.

Next step

Need help applying this in your stack?

I can translate these patterns into a concrete implementation plan for your team.

Discuss implementationBack to blog

Replies usually within 24 hours.

Next Steps

Continue reading