The most persistent myth in software management is that engineering capacity scales linearly with headcount. Founders believe it. Investors push for it. Hiring plans are built around it. It is wrong.

Adding a second engineer to a one-person team does not double output. In most cases, it produces something between a 40 and 60 percent increase in actual throughput — and that’s if the hire goes well. Add a third, and the gains compress further. Add a tenth, and you may find the team producing less per person than the original engineer did alone. This isn’t a management failure. It’s a structural property of collaborative knowledge work, and ignoring it is expensive.

The Coordination Tax Is Real and Compounding

Fred Brooks articulated this in 1975 in The Mythical Man-Month, and it has not aged poorly. His central observation: adding people to a late software project makes it later. The reason is communication overhead. With two engineers, there is one communication channel between them. With five, there are ten. With ten, there are forty-five. The number of required coordination paths grows quadratically while the team grows linearly.

This isn’t abstract. Every new engineer needs context that lives in someone else’s head. Code review pulls the reviewer out of their own work. Architectural decisions that one person made in an afternoon now require a meeting, a document, a follow-up. The real problem with meetings isn’t that they happen — it’s that they become load-bearing infrastructure the moment a team crosses a certain size, and that infrastructure costs time.

Onboarding Extracts Capacity Before It Adds Any

A new engineer does not contribute immediately. They consume. In the first few weeks, they are asking questions, reading documentation (if it exists), and making tentative pull requests that require careful review. The most experienced person on the team, the one with the most context, is the one most qualified to help them — and therefore the one most penalized by their presence.

A reasonable estimate for a senior engineer fully onboarding a junior hire is that it costs the senior somewhere between 20 and 30 percent of their productive capacity for the first two to three months. The new hire might reach neutral — meaning they’re contributing roughly as much as they’re costing — somewhere in month three or four, depending on codebase complexity. Salary is the smallest part of what engineers cost, and this is part of why.

Not All Work Parallelizes

The implicit assumption behind headcount growth is that more people can work on more things simultaneously. Sometimes they can. But a surprisingly large fraction of software work is sequential by nature: one piece has to ship before the next can begin, one decision has to be made before code gets written, one system has to stabilize before another can depend on it.

Amdahl’s Law, borrowed from parallel computing, says that the speedup from parallelization is limited by the portion of work that must remain serial. If 40 percent of your engineering work is inherently sequential — and in an early-stage product, it often is — then no amount of additional engineers will produce more than 2.5x the speed of a single engineer, no matter how many you hire. The ceiling is hard and mathematical.

Diagram illustrating Amdahl's Law showing the hard ceiling on parallel speedup from sequential work
Amdahl's Law: when a fixed portion of work must stay sequential, the total speedup from parallelization hits a mathematical ceiling. No amount of hiring breaks through it.

This matters most at early stages, when the architecture is still being defined, product decisions are still being made, and the founder or lead engineer is the single point of knowledge for most of the system. At that stage, parallelizing development is largely illusory.

The Debt Comes Due on the Other Side

Fast hires create slow systems. A team that scales headcount ahead of process, documentation, and architectural clarity tends to accumulate coordination debt at the same rate it adds people. Each new engineer added before the system is legible makes the system slightly less legible to the next one. The shortcuts taken to keep a fast-growing team moving become permanent features of the codebase.

The irony is that the teams most likely to over-hire on engineers are the ones with external pressure to move fast. The pressure to ship produces conditions under which shipping becomes harder. The technical debt accrued during headcount surges doesn’t show up in velocity metrics immediately — it shows up six months later when everything takes longer than it used to.

The Counterargument

The legitimate response here is that some work genuinely does parallelize, and that certain phases of growth require staff before they require process. Both are true. A mature team with stable architecture, clear ownership boundaries, and solid documentation can absorb new engineers more efficiently than a scrappy two-person startup. And at some point, no amount of individual heroics can substitute for having multiple people with domain ownership.

But this is an argument for being selective about when to hire, not for the linear scaling assumption. The question isn’t whether to hire at all — it’s whether the current system is ready to absorb a new person without degrading the capacity of everyone already there.

What to Do With This

Before the next engineering hire, the honest question is whether the system that person would join is comprehensible enough to onboard them without a significant tax on the existing team. If the answer is no, the better investment is probably documentation, cleaner interfaces, and architectural clarity — none of which require another salary.

The math on engineering headcount looks clean from the outside. It never is. A team of two is not twice as fast as a team of one. A team of ten is not ten times as fast as anything. The founders and CTOs who understand this tend to build systems that scale. The ones who don’t tend to hire their way into slowness and wonder why.