Skip to content
· 14 min read

The Myth of the 10x Engineer

Why the 10x engineer narrative is harmful, what the research actually says, and what matters more than individual output.

I once worked with an engineer who could write more code in a day than most of the team wrote in a week. His pull requests were enormous. His commit count was off the charts. By any metric of individual output, he was a 10x engineer, maybe 20x.

He was also the single largest source of technical debt on the team. His code was clever but unreadable. His PRs were too large for meaningful review, so they got rubber-stamped. His architectural decisions optimized for his own speed, not for the team’s ability to maintain the system. He introduced patterns that only he understood, creating a bus factor of one for critical subsystems.

When he left the company, we spent six months untangling the code he’d written. The net impact of his tenure was negative. Not because he wasn’t talented. He was extraordinarily talented. But because the way we measured his contribution (lines of code, features shipped, tickets closed) was measuring the wrong thing.

This is the 10x engineer myth, and it’s more nuanced than either the believers or the skeptics admit.

The original research (and what it actually says)

The idea that some programmers are 10 times more productive than others traces back to a 1968 study by Sackman, Erikson, and Grant. This is the paper everyone references. Almost nobody has actually read it.

Here’s what happened. The researchers weren’t trying to measure programmer productivity at all. They were trying to determine whether programming online (interactive terminal) offered any advantage over programming offline (batch processing). The productivity variation they found was a side effect, not the main result.

They studied professional programmers with an average of 7 years of experience and found:

Metric Ratio (best to worst)
Initial coding time ~20:1
Debugging time ~25:1
Program size ~5:1
Program execution speed ~10:1

These numbers are striking. And they’re the basis for the “10x” (and sometimes “25x”) claim that’s been circulating in tech culture for over 50 years.

But the study has serious methodological problems that the popular narrative ignores.

Problem 1: Apples to oranges. The study combined results from programmers working in low-level programming languages with those working in high-level languages. The task difficulty and the nature of the work were different. Comparing a programmer writing assembly to one writing FORTRAN and calling the difference “individual productivity variation” is questionable.

Problem 2: They measured the extremes. The 20:1 ratio is the best versus the worst, not the best versus the median. The difference between a 90th-percentile programmer and a 50th-percentile programmer is much smaller than 10x. Citing best-to-worst ratios to describe typical variation is statistically misleading.

Problem 3: Small sample size. The study had 12 programmers. Drawing broad conclusions about programmer productivity from 12 data points is not great science.

Problem 4: No relationship between experience and performance. This is buried in the paper but fascinating. They found no correlation between a programmer’s years of experience and their code quality or productivity. This alone should make us question what “programmer productivity” is actually measuring.

Steve McConnell at Construx has done the most thorough analysis of the original research. His conclusion: even after accounting for the methodological flaws, the data still shows substantial variation in individual productivity (probably around 10:1 between best and worst). But the variation is in individual coding tasks, not in the overall value a programmer delivers to a team or organization.

That distinction is everything.

What the subsequent research shows

The finding that individual programmer productivity varies widely has been replicated many times: Curtis 1981, Mills 1983, DeMarco and Lister 1985, Card 1987, Boehm 1988, Boehm 2000. The general conclusion is robust: there are order-of-magnitude differences among programmers on individual coding tasks.

But here’s what the research doesn’t show, and what the popular narrative pretends it does:

The research measures coding speed, not engineering impact. How fast you write a module is different from how well you design a system. How quickly you close a ticket is different from whether you chose the right ticket to work on. The 10x measurement is about execution velocity on isolated tasks. It says nothing about judgment, architecture, mentoring, communication, or any of the other things that make engineers valuable.

The variation shrinks in team contexts. Individual productivity studies measure programmers working alone on defined tasks. In real engineering work, the constraints are different. You’re working in a codebase you didn’t design, with conventions you didn’t choose, on requirements you didn’t write. The opportunities for individual variation to express itself are narrower. A programmer who’s 10x faster in isolation might be 2x faster on a team, because the bottleneck isn’t their coding speed. It’s the review process, the deployment pipeline, the product decisions, or the inter-team dependencies.

The research doesn’t control for environment. A programmer with a fast machine, good tools, clear requirements, and quiet working conditions will outperform the same programmer with a slow machine, bad tools, ambiguous requirements, and constant interruptions. The 10x variation might be partly a measurement of environmental differences, not just individual ability.

The narrative problem

Here’s what bothers me about the 10x engineer narrative. It’s not that individual skill differences don’t exist. They do. Some engineers are dramatically more capable than others. That’s obvious to anyone who’s worked in the industry.

What bothers me is how the narrative is used.

It’s used to justify hero culture. “We don’t need a big team. We need one 10x engineer.” This thinking leads to organizations that depend on individual heroics rather than building robust systems. When the hero gets sick, burns out, or quits, the organization craters.

It’s used to underpay team players. If the narrative says that output is what matters and some individuals produce 10x output, then the person who writes less code but makes the whole team better gets undervalued. The engineer who reviews PRs thoroughly, writes documentation, mentors juniors, and designs systems that others can maintain produces enormous value. But it doesn’t show up in commit counts.

It’s used to excuse bad behavior. “Sure, they’re difficult to work with, but they’re a 10x engineer.” I’ve heard this exact sentence, almost verbatim, at multiple companies. The implicit claim is that individual output is so valuable that it outweighs the cost of making everyone else on the team less effective. In my experience, this is almost never true. The “difficult 10x engineer” typically makes the other nine engineers on the team 0.5x each, resulting in a net loss for the organization.

It’s used to create a false meritocracy. “Anyone can be a 10x engineer if they work hard enough.” This is the self-help version of the myth. It ignores the role of environment, mentorship, team quality, organizational support, and yes, innate cognitive differences. It puts the blame for underperformance entirely on the individual, which is convenient for organizations that don’t want to examine their own contribution to poor outcomes.

What actually makes engineers valuable

If 10x individual coding speed isn’t the right measure of engineering value, what is?

Here’s a model I’ve found more useful. I think about engineering impact in three categories:

Direct output

This is what the 10x narrative measures. Lines of code, features shipped, bugs fixed, tickets closed. It’s real and it matters. Some engineers produce more direct output than others. But it’s the least leveraged form of contribution.

Multiplicative impact

This is what the 10x narrative misses. An engineer who improves the team’s development environment by 20% makes every engineer on a 10-person team 20% more productive. That’s the equivalent of adding two engineers to the team, without hiring anyone. An engineer who writes clear documentation for a complex system saves dozens of hours of onboarding time for every new team member, permanently.

Here’s a comparison:

Contribution type Individual effort Team impact Leverage
Writing features 1 engineer-week 1 feature shipped 1x
Building a reusable library 1 engineer-week Saves 10 engineer-weeks over the next year 10x
Improving CI/CD pipeline 1 engineer-week Saves 2 hours/week for 15 engineers (1,560 hours/year) ~40x
Mentoring a junior engineer 2 hours/week for 6 months Permanently increases that person’s output by 30-50% Compound
Writing a design doc that prevents a bad architecture decision 2 engineer-days Prevents 3 months of rework ~30x

The engineers who produce the most organizational value are often not the ones who write the most code. They’re the ones who make the most leveraged contributions: tools, processes, architecture decisions, documentation, and mentoring that multiply the effectiveness of everyone around them.

Preventive impact

This is the hardest to measure and the most undervalued. An engineer who catches a security vulnerability in code review, who pushes back on a bad product decision before it’s built, who identifies a scalability problem during design review, produces enormous value. But it shows up as “nothing happened,” which is hard to put on a performance review.

The classic example: an engineer reviews a design doc and says “this approach won’t scale past 10,000 concurrent users, and our roadmap calls for 100,000 by next quarter.” That comment, which took ten minutes, prevented months of rework. But it generated zero commits, zero features, and zero lines of code.

The environment matters more than you think

One of the most replicated findings in software engineering research is that team and organizational factors have a bigger impact on productivity than individual factors. DeMarco and Lister’s Peopleware (1987, updated 1999 and 2013) demonstrated this with data from coding competitions:

Teams at the same organization tended to perform at similar levels, regardless of individual skill variation. The best performers came from organizations that provided private offices, low interruption environments, and reasonable work hours. The worst performers came from organizations with open floor plans, frequent interruptions, and excessive overtime.

In other words: put a great programmer in a terrible environment and they’ll produce mediocre results. Put a good programmer in an excellent environment and they’ll produce great results. The environment is a multiplier on individual ability, and the multiplier matters more than the base value.

This finding should redirect the conversation entirely. Instead of asking “how do we hire 10x engineers?” organizations should ask “how do we create 10x environments?” because:

Factor Individual’s control Organization’s control
Coding skill High Low
Development tools Low High
Meeting load Low High
Interruption frequency Low High
Requirement clarity Low High
Deployment pipeline speed Low High
Code review quality Moderate High
Team composition Low High

Most of the factors that determine engineering productivity are under the organization’s control, not the individual’s. Hiring a “10x engineer” and putting them in a 0.1x environment gets you a 1x engineer. Creating a 5x environment and staffing it with solid engineers gets you a team that outperforms any individual hero.

Force multipliers, not 10x individuals

I prefer the term “force multiplier” to “10x engineer” because it shifts the focus from individual output to systemic impact.

A force multiplier is someone who makes everyone around them more effective. Not by writing code for them. By:

Setting architectural direction. Good architecture decisions cascade. They make every subsequent decision easier, every feature faster to build, every bug easier to fix. The engineer who designs the right architecture multiplies the productivity of everyone who builds on it.

Creating tools and infrastructure. An internal tool that saves 15 minutes per day per engineer, across a 20-person team, saves over 1,300 hours per year. That’s the equivalent of adding half an engineer to the team, every year, forever.

Raising the quality bar. An engineer who gives thorough, educational code reviews doesn’t just catch bugs. They teach patterns, share knowledge, and gradually raise the entire team’s skill level. The compounding effect of this is massive.

Removing blockers. Some senior engineers have a knack for identifying what’s blocking progress and fixing it. The blocker might be technical (a missing API, a flaky test), organizational (an unclear requirement, a missing approval), or interpersonal (a miscommunication between teams). Removing a blocker that’s slowing down three engineers for a week is more valuable than any feature you could write in that time.

Translating between domains. The engineer who can explain the database’s performance characteristics to the product team, or translate the product team’s requirements into a clear technical spec, removes friction that would otherwise slow everyone down.

Charity Majors, CTO of Honeycomb, has been articulate about this: true productivity lies in team performance, not individual brilliance. The goal isn’t to find and hire 10x individuals. The goal is to build teams and environments where everyone performs at a high level.

The AI complication

AI tools have added a new dimension to this debate. A 2025 Fastly survey found that senior developers (10+ years experience) ship AI-generated code at 2.5 times the rate of junior developers. Senior developers are better at directing AI, catching its mistakes, and putting its output into production.

This has led to claims of “100x engineers” who leverage AI to achieve individual output levels that would have been impossible a few years ago. The framing is the same as the old 10x narrative, just with bigger numbers.

The same objections apply. An engineer who ships 100x more code using AI but produces code that nobody else on the team can understand or maintain hasn’t created 100x value. They’ve created 100x volume. Volume and value are different things.

What AI actually does is amplify whatever approach you already have. If you’re a force multiplier who designs good systems, mentors juniors, and makes leveraged contributions, AI makes you more of that. If you’re a solo hero who writes clever code that only you understand, AI makes you more of that too. The tool amplifies the strategy. It doesn’t change it.

The engineers who are genuinely becoming more valuable in the AI era are the ones who use AI to accelerate the high-leverage activities: generating first drafts of design docs, automating repetitive test creation, building internal tools faster, doing code archaeology on unfamiliar codebases. They’re not using AI to write more code. They’re using AI to have more impact.

What the 10x narrative gets right

I don’t want to be entirely dismissive. The 10x narrative, stripped of its excesses, points to something real.

Some engineers are dramatically more effective than others. The distribution of engineering skill is not uniform, and pretending otherwise is dishonest. The gap between a strong engineer and a weak one is large enough to matter for hiring decisions, team composition, and salary negotiations.

The mistake isn’t acknowledging the variation. It’s misidentifying its source and its nature.

The variation in engineering value comes primarily from judgment and leverage, not from coding speed. It comes from choosing the right thing to build, designing systems that are easy to extend, writing code that others can understand, catching problems early, and making the people around you more effective.

If you define “10x engineer” as “someone who writes 10x more code,” the concept is misleading.

If you define “10x engineer” as “someone whose presence on a team makes the team’s total output 10x better than it would be without them,” then yes, these people exist. But they’re not the people you’d identify by looking at commit counts. They’re the people who design the architecture, mentor the juniors, improve the tooling, catch the critical bugs, and make the hard decisions that everyone else benefits from.

A more useful model

Instead of asking “is this person a 10x engineer?” I propose asking three different questions:

Question What it measures How to evaluate
What is their direct output? Individual contribution Code shipped, features completed, bugs fixed
What is their multiplicative impact? Effect on others Team velocity changes when they join/leave, tooling contributions, mentoring results
What is their preventive impact? Problems avoided Architecture decisions, code review quality, risk identification

An engineer who scores well on all three is genuinely exceptional. An engineer who scores well only on direct output but poorly on multiplicative and preventive impact is a liability disguised as a high performer.

The most dangerous hire in engineering is the productive individual contributor who makes everyone else less effective. They show up as a 10x engineer in individual metrics and a 0.5x multiplier in team metrics. The net effect is negative, but it’s invisible unless you’re measuring the right things.

What to do about it

If you’re an engineering leader:

Measure team outcomes, not individual output. The team’s deployment frequency, change failure rate, and lead time for changes are better indicators of engineering health than any individual’s commit count.

Hire for multipliers, not heroes. In interviews, ask about the last time the candidate made their team more effective. Ask about mentoring. Ask about documentation. Ask about architecture decisions. If all they can talk about is code they personally wrote, that’s a signal.

Create the environment. Invest in tooling, reduce meeting load, protect focus time, write clear requirements. These investments have higher ROI than hiring slightly better individual contributors.

If you’re an individual engineer:

Focus on leverage. Ask yourself: “What can I do this week that will make the biggest difference, not just for me, but for my team?” Sometimes the answer is writing a feature. Often it’s improving the build system, writing a design doc, or reviewing someone else’s code with unusual care.

Build others up. The most reliable way to become a force multiplier is to help other engineers get better. Mentor. Review. Teach. Share what you know. The compounding returns on this investment dwarf anything you could produce alone.

Don’t chase the 10x label. It’s a trap. It incentivizes individual heroics at the expense of team health. The engineers I most respect, the ones who’ve had the most impact over their careers, don’t think about whether they’re “10x.” They think about whether the thing they’re building is correct, whether their team is healthy, and whether they’re leaving the codebase better than they found it.

That’s a better goal than any multiplier.

Continue Reading

LLM Evaluation Frameworks

Next page →