The comparison everyone runs, and why it decides nothing
Three quotes come back. The freelancer is $110 an hour, the agency is $195, and the boutique firm is $220. Somebody makes a spreadsheet, multiplies by an estimated number of hours, and the cheapest column wins. That comparison is not wrong so much as it is measuring the one variable that varies least. The hourly rate on a software engagement typically spans a factor of two. The total cost of the same piece of work, done through the three models, routinely spans a factor of four, and almost all of that spread lives in things the quote does not mention: who absorbs the ambiguity in your requirements, what happens the week the one person who understands the system is unavailable, and how much of your own staff's time the arrangement consumes.

The three models are genuinely different businesses that happen to sell hours of engineering. A freelancer sells their own labor. An agency sells a system for assembling and reselling other people's labor. An engineering partner sells responsibility for an outcome, staffed by a small number of people who stay. None of the three is better. Each is the correct answer to a different question, and buyers get into trouble by picking the model that fits their budget line rather than the one that fits the shape of the work.
What follows is written by a firm that operates the third model. That means the honest parts about where the third model is a poor fit are the ones worth reading most carefully.
You are probably here because
- Three quotes came back and the spread is large enough that you suspect they are not quoting the same thing
- The last agency engagement produced working software and nobody internally understands it
- A contractor you liked disappeared for two weeks and the project stopped
- Someone told you to just hire, and hiring takes five months you do not have
All four are symptoms of a model mismatch rather than a bad vendor. The sections below describe what each model is structurally good and bad at, so the next choice is made on shape rather than on rate.
What a freelancer actually sells
A good independent engineer is the highest value per dollar available anywhere in this market, and it is not close. There is no sales overhead, no bench to carry, no account manager, no margin stacked on someone else's salary. You are paying one person for one person's work. Rates in the United States run roughly $85 to $180 an hour for general software work and $150 to $300 for scarce specialties, and the person doing the work is the person you interviewed.
The constraint is not skill. It is that one person is one person. A freelancer has a bus factor of one, a vacation, a better offer, a sick child, and no obligation to hand anything over in a form the next person can use. They are also, in almost every case, working on two or three engagements at once, which is not a betrayal but arithmetic: an independent who serves a single client has taken on all the risk of employment with none of the protection.
Freelancers are the right call when the work is well-defined, bounded, and separable. A specific integration. A performance problem with a known symptom. A month of extra hands on a codebase your team already owns. The moment the work requires holding a system in mind across quarters, or requires two people with different skills to coordinate, the model starts spending your management time instead of theirs.
The hidden cost. Somebody on your staff becomes the integrator. They write the specifications, review the work, decide when it is done, and carry the context between engagements. That person is usually your most senior technical employee or, worse, a non-technical leader doing it badly. Price a freelancer at their rate plus fifteen to thirty percent of an internal person's time and the comparison changes.
What an agency actually sells
An agency sells capacity and continuity of the firm, not of the individual. It can put five people on your project next month, replace one who leaves, and keep invoicing through your holidays. That is a real product and it is worth real money. Agencies also carry a process — project management, QA, design, a delivery methodology — which is genuinely valuable when your side has no one who can run a software project.
The economics are worth understanding without cynicism. An agency billing $195 an hour is not pocketing $195. Fully loaded cost for the engineer is often $80 to $110, and the remainder pays for the salespeople who found you, the bench sitting between projects, the project manager, the recruiter, and the months when utilization dips. Agencies generally need billable utilization somewhere around 70 to 75 percent to be viable. That number is the single most useful thing to know about the model, because it explains every behavior that frustrates agency clients.
Concretely: the senior engineer who presented in the pitch is often on the project for six weeks and then rotated to the next sale. Junior staff are loaded onto the engagement because the blended rate assumes them. Scope discussions tend toward more hours rather than fewer, not because anyone is dishonest but because the incentive gradient points that way and nobody is pushing back from the other side. None of this makes agencies a bad choice. It makes the pitch team a poor predictor of the delivery team, which is a thing you can ask about directly and get an honest answer to.
Where an agency is clearly correct. A large, well-specified build with a fixed shape. A team you need next month, at size, and cannot hire. Work spanning disciplines you do not have — design, mobile, backend, QA — where the coordination is the value. A regulated environment where you need documented process more than you need invention.
What an engineering partner sells, and where it is the wrong answer
The third model is a small firm, usually two to fifteen engineers, that takes responsibility for a system rather than for a queue of tickets. The people who scope the work do the work. There is little or no bench, so the firm cannot rotate staff to keep them busy, which removes the incentive that produces the agency behaviors above. Rates land in a similar band to a mid-tier agency, commonly $150 to $250 an hour, because the margin that an agency spends on sales and management is spent instead on seniority.
What you get for that is judgment applied to an underspecified problem. That is the real product. If you can write a specification precise enough to hand to a competent stranger, you do not need this model and should not pay for it. If your actual situation is "we know the reporting is wrong and we do not know why" or "we think there is an AI feature here and we cannot tell if it works," the value is in someone deciding what to build, which is a different service from building it.
Where the model fails, plainly. It does not scale on demand. Asking a ten-person firm for twelve engineers in six weeks produces either a no or a subcontracting arrangement you did not ask for. It is expensive for commodity work — paying a senior rate for a straightforward CRUD screen is a waste of your money and their attention. It carries key-person risk that is smaller than a freelancer's and larger than an agency's. And a small firm's capacity is finite in a way that makes their calendar a real constraint on your schedule, which is inconvenient and honest.
| Model | What you are buying | Typical rate band | Failure mode |
|---|---|---|---|
| Freelancer One independent engineer | Hours of a specific person, no overhead | $85–$180/hr general, $150–$300 specialist | Availability. One person, split attention, no handover obligation |
| Staffing firm Resources by the seat | Bodies with a skill label, managed by you | $70–$150/hr onshore, lower offshore | You are the architect and the project manager, whether or not you wanted to be |
| Agency Full-service delivery | Capacity, process, multi-discipline teams | $150–$275/hr blended onshore | Team composition drifts toward whoever needs to be billable |
| Engineering partner Small senior firm | Responsibility for an outcome under ambiguity | $150–$250/hr, seniority-weighted | Cannot scale fast; overpriced for well-specified commodity work |
| Employee Direct hire | Permanent context and institutional memory | $95–$160/hr fully loaded equivalent | Four to six months to hire; wrong hire is a year to unwind |
The rate bands are what you will be quoted in the United States market for experienced work, not a promise about any particular firm. Read them as a sanity check: a quote far below its band is buying something you have not identified yet, and a quote far above it should come with an explanation you find convincing.
What each model is structurally good at — our rating
Our judgment of the models, not a measurement of any firm. The ordering is the useful part; a strong individual beats a weak firm in every row.
The variable nobody prices: who holds the context
Most of the cost of software is not writing it. It is knowing why it was written that way. Six months after a project ends, the value that remains is not the code alone. It is someone who can answer why the retry logic is in that one place, which of those two tables is authoritative, and what breaks if you change the currency field.
Each model disposes of that knowledge differently. A freelancer takes it with them, usually cheerfully, usually completely. An agency keeps it inside the agency, distributed across people who have rotated off, which is why the same firm quotes a discovery phase to work on a system they built two years ago. An engineering partner keeps it in a small group who may still be reachable, which is better and is not a guarantee. An employee keeps it in your building until they resign.
This is the argument for making documentation and handover a paid, scheduled deliverable rather than a courtesy. A week of writing at the end of an engagement is the cheapest insurance available, and it is the first thing dropped when a schedule slips. If the arrangement does not name it, plan on losing it.
Ask who does the work, by name, and what else they are doing
This one question separates the models faster than any other. A freelancer answers instantly. A partner names two or three people and tells you their other commitments. An agency answers with roles rather than names, or names the people in the room and cannot commit them. None of those answers is disqualifying, but a firm that will not answer at all is telling you the delivery team is unassigned, and you are buying a promise to staff rather than a team.
Total cost, not rate
Build the comparison on the total quarterly cost of the arrangement, including your own people. Four components matter and only one is on the quote.
The billed rate times realistic hours. Realistic means the estimate plus the change orders you can already predict, not the number in the proposal. If the vendor's estimate has no contingency in it, add fifteen to twenty-five percent yourself before comparing.
Your internal time. Every model consumes it, at very different levels. Staff augmentation consumes the most because you supply the architecture and the direction. A freelancer consumes a lot because you supply the specification. An agency consumes moderate amounts through steering meetings. A partner engagement should consume the least, and if it does not, you are paying partner rates for staffing.
The rework you are going to pay for. Work delivered against a specification you wrote badly is not the vendor's fault and is still your money. Models that put a senior person between your intent and the code reduce this. Models that faithfully execute the ticket you wrote do not.
The exit cost. What it costs to run this system next year with different people. Undocumented, untested, single-author code has an exit cost that can exceed the original build. It appears on no quote and lands entirely on you.
Matching the model to the work
The problem is clear and the solution is clear. Freelancer or staffing, cheapest competent option. Do not pay for judgment you do not need.
The problem is clear and the solution is not. Engineering partner, or a senior freelancer if the scope is genuinely small. This is the case where a cheap hourly rate is most likely to become the most expensive option, because the wrong thing gets built efficiently.
The problem is not clear. Buy a short, paid assessment from someone senior before buying any build at all. Two to four weeks, a fixed fee, and a written recommendation you own. The worst outcome is a small invoice; the alternative is a six-figure build aimed at the wrong target.
You need volume and the shape is known. Agency. This is what the model is for and it does it well.
It is core to the business and permanent. Hire. Use contractors to keep moving during the five months it takes, and structure that work so the eventual employee can take it over.
Not sure which of the three your situation calls for?
Send a paragraph describing the work, what your team already has, and the deadline to contact@precisionfederal.com. You will get back a short written note saying which model fits and why, including the cases where the answer is a freelancer or an agency rather than us. One business day, no charge, no meeting.
contact@precisionfederal.comQuestions that separate the three quickly
Ask all four of these to all three candidates. The differences in the answers are more informative than the answers themselves.
"What is the first thing you would do, in week one?" A freelancer describes a task. An agency describes a discovery or onboarding phase. A partner describes what they need to find out and how they will find it out. Vagueness here predicts vagueness later.
"What would you need from us, and what happens if you do not get it?" Everyone needs data access, a subject-matter expert, and decisions. A vendor who has not thought about the dependency has not built a plan, and you will discover this in week three when the schedule slips for a reason that was foreseeable in week zero.
"What part of this would you push back on?" Anyone who agrees with every element of your plan in a sales conversation will agree with every element of it later, including the wrong parts. You are buying disagreement as much as you are buying labor.
"What happens when we stop?" Ask about documentation, credentials, repository ownership, and who can maintain the result. A vendor whose answer is uncomfortable has told you their business model depends on you not being able to leave.
The mistakes we watch buyers make
- Choosing on hourly rate across models that differ in what the hour includes
- Hiring an agency for a problem nobody has defined, and paying a team to wait for direction
- Hiring a senior partner for well-specified commodity work at twice the necessary rate
- Assuming the pitch team is the delivery team without asking the question out loud
- Stacking freelancers until someone internal is running an unfunded engineering department
- Leaving handover as a courtesy rather than a scheduled, paid deliverable
- Treating a low offshore rate as a saving without pricing the specification effort and timezone latency it demands
- Waiting five months for a hire while the deadline that justified the hire passes
A selection process that fits in three weeks
Vendor Selection Sprint
Step six is the one that saves the most money and is skipped the most often. A four-to-six week paid first piece with a defined output tells you more about a vendor than any number of reference calls, and it costs a fraction of discovering the same thing in month five. Every model above will agree to it. A vendor who will only sell the whole engagement has told you something.
Before you sign
- You can name the people doing the work and know their other commitments
- The engagement has a first deliverable inside six weeks with a defined test
- Dependencies on your side are written down with owners and dates
- Documentation and handover are scheduled deliverables, not goodwill
- Source code, credentials and infrastructure are in accounts you own from day one
- You have compared total quarterly cost, including your internal time
- Change control names a price and a process, not just a conversation
- You know what the arrangement costs to exit, and it is survivable
Bottom line
The models are tools with different shapes. A freelancer is the cheapest way to get a defined thing built by one competent person, and it breaks the moment that person is unavailable or the work needs two people. An agency is the reliable way to put a team of size on a known build, and its economics push team composition around in ways you should ask about rather than resent. An engineering partner is the way to buy judgment on a problem nobody has managed to specify, and it is a poor way to buy volume or to buy commodity work at scale.
Diagnose the shape of your work before you collect quotes, because the quotes are all denominated in hours and the shape is what actually determines the bill. And whatever you choose, buy a small piece first.
Frequently asked questions
On rate, almost always. On total cost, only when the work is well-specified. The freelancer's rate excludes the project management, specification writing and integration that an agency includes, and that work does not disappear — it moves onto your staff. If you have a strong technical lead internally, a freelancer is often the best value available. If you do not, the saving is usually spent somewhere less visible.
Because agency economics depend on billable utilization, typically around 70 to 75 percent, and senior people are the ones needed to win the next engagement. This is normal rather than deceptive, and it is answerable in advance: ask which named individuals are committed, for what percentage of their time, and for how many weeks. Get that in the statement of work if it matters to you.
When you need many people quickly, when the work is well-specified and routine, or when you need disciplines a small firm does not carry such as brand design or a large QA function. Paying a senior rate to build screens from a finished specification is a waste. The model earns its rate when the hard part is deciding what to build, not typing it.
Plan for one internal person spending a meaningful share of a week on it, and more at the start. Staff augmentation demands the most because you supply architecture and direction. A partner engagement should demand the least. Budget the time explicitly, name the person, and give them the authority to make decisions — an engagement waiting on your decisions is billing while it waits.
Four to six weeks, a fixed fee, one deliverable with an acceptance test you wrote, and everything landing in repositories and cloud accounts you own. You are buying information about how the vendor works under real conditions. The output matters and the observation matters more, and the price of learning it this way is a small fraction of learning it in month five.
