Teardown

Nobody is coming to test it for you

Between 1997 and 2020, the ratio of developers to dedicated testers at Microsoft, Amazon and Google shifted from roughly 1:1 to roughly 100:1, and the testing work did not disappear with the testers.

Who published it
The Pragmatic Engineer (Gergely Orosz), Carlos Arguelles (Medium, self-published), Whittaker, Arbon and Carollo (Addison-Wesley), and GDS (GOV.UK blog). Named insiders throughout.
When
Events 1997 to 2021; accounts published 2011 to 2021
Scale
Amazon grew from 3,000 to 50,000 SDEs between 2009 and 2020; GOV.UK runs 70 applications; ratios studied from 1:1 to 100:1
Outcome
Dedicated tester ratios from 1:1 (Microsoft, 1997) to 100:1 (Amazon, 2020); GOV.UK Whitehall application reached 96.7% automated code coverage

The formal marker: 2014

In July 2014, as part of a round of 18,000 redundancies, Microsoft formally retired the Software Development Engineer in Test. Gergely Orosz, writing as The Pragmatic Engineer, documented the shape of what had existed before.

From the mid-1990s until 2014, Microsoft had maintained roughly a 2:1 ratio of Software Development Engineers to SDETs across most product teams. Orosz gives a concrete illustration: the Skype for Xbox One team in 2012 had 12 SDEs and 6 SDETs, alongside 2 project managers, 1 engineering manager and 1 SDET lead. Testing occupied a defined fraction of the headcount. Its cost was visible in the org chart.

Brian Harry, a Microsoft Technical Fellow, described the change that followed:

“We combined the dev and test orgs into a consolidated 'engineering' org. For the most part, we eliminated the distinction between people who code and people who test.”

Harry reported improved quality, agility and engineer satisfaction as outcomes.

The important caveat: the 2014 layoffs were not primarily an SDET decision. Of the 18,000 positions eliminated, approximately 12,500 were attributed to the Nokia acquisition Microsoft had completed that year. The SDET retirement and the Nokia redundancies happened simultaneously. Separating the structural effect of removing dedicated testing from the disruption of absorbing a large acquisition is genuinely difficult, and anyone citing the Microsoft case as evidence for or against dedicated testing should acknowledge that confound.

The numbers: Amazon’s ratio

Carlos Arguelles, a Senior Principal Engineer at Google who worked at Microsoft from 1997 to 2009 and at Amazon from 2009 to 2020, published a personal account in 2021 documenting how the developer-to-tester ratio changed over his career. self-published This is one named insider’s recollection, not audited corporate data, and the figures are his own.

His account places the Microsoft ratio in 1997 at roughly 1:1, based on his direct experience. At Amazon in 2009, there were approximately 300 SDETs and 3,000 SDEs: a 10:1 ratio. By 2020, when he left Amazon, the numbers had moved to approximately 600 SDETs and 50,000 SDEs: closer to 100:1.

Developers per test engineer at Amazon 2009 10 : 1; 2020 100 : 1. SDETs went 300 to 600. Engineers went 3,000 to 50,000. Developers per test engineer at Amazon Reported by Carlos Arguelles, who was there for both numbers. 2009 10 : 1 2020 100 : 1 SDETs went 300 to 600. Engineers went 3,000 to 50,000.

What makes the framing useful is the arithmetic. Test headcount roughly doubled over that eleven-year span. Engineering headcount grew roughly sixteen-fold. The dedicated testing function did not shrink; the engineering organisation grew so fast around it that the ratio shifted by an order of magnitude. Arguelles does not resolve whether this was a deliberate hiring strategy or a consequence of which teams were growing fastest. What the account records is the outcome: a ratio that made individual SDETs responsible for covering far more engineers than before.

The outlier that was always this way

Google’s situation is different, and the difference is worth naming. In How Google Tests Software (Whittaker, Arbon and Carollo, Addison-Wesley, 2012), the preface notes that when the contributing engineering director joined in 2001 there were “about 200 developers and only 3 testers”. Larry Page’s framing, as quoted in the same book, was “Scarcity brings clarity.”

That is a memorable line. It is also a convenient one to believe if you are not hiring testers. The 200:3 ratio dates from 2001, before Google’s main scaling period. By 2011, Google’s Testing Blog was documenting the internal tooling, the engineering productivity function, and the platform that had been built over the intervening decade to make developer-owned testing viable at scale. The scarcity was managed, not simply accepted. The clarity came from building systems that allowed a small number of testers to have large-scale effect, not from assuming engineers would absorb the work without support.

The line is worth both quoting and questioning. Neither reading is sufficient on its own.

The work that fell between the roles

Across the Microsoft, Amazon and Google accounts, the pattern is consistent. Dedicated testing headcount was reduced or held flat while engineering grew. The work of testing moved onto engineers who were hired as engineers, not as testers, and who have a feature backlog to deliver against.

At 10:1, one SDET covering ten engineers can still have a direct effect: writing tests, reviewing coverage, catching what falls through. At 100:1, that is not possible. The function only scales through infrastructure: coverage standards, test-writing practices embedded in code review, deployment gates tied to meaningful signals, and engineers who have been taught how to do the testing work well. None of this is self-assembling. It requires someone to be allocated to building it, and feature delivery does not clear space for that work by default.

That is the cost the Arguelles and Microsoft accounts share, even though neither names it directly. The trade is viable. The organisations that made it work built the machinery first, or alongside. The ones that did not are depending on whichever engineers care most on a given sprint. That is a pressure on individuals, not a system.

What a deliberate replacement looks like

In October 2021, the UK Government Digital Service published an account of how they approached test coverage for GOV.UK: 70 applications and components, predominantly built in Ruby on Rails. They set a standard of 95% automated code coverage for server-side code. The Whitehall application reached 96.7%.

The detail that distinguishes their account from the others is the reasoning behind removing manual deployment checks. Their write-up observes that manual checks carry a specific failure mode: knowledge of what to check can be lost entirely when the people who hold it move on. Their response was not to hope the knowledge would persist. They replaced the manual process with an explicit standard and documented the reasoning behind the replacement.

GOV.UK treated the removal of a manual check as something requiring a deliberate substitute, not as a gap that would fill itself. That distinction is small. It is also the part most accounts leave implicit.

What we take from this

None of these accounts, taken together, show that removing dedicated testing roles was a mistake. Microsoft, Amazon and Google are all still shipping software at scale. The claim here is narrower than that.

The transition from dedicated tester to testing-by-engineers is viable, but it has a cost that is routinely underfunded. That cost is tooling and training. At 10:1, an experienced SDET can have a meaningful effect simply by being present. At 100:1, the function only scales through infrastructure: standards, tooling, coverage gates, and engineers who have been taught how to test. Without that infrastructure, test coverage becomes a function of individual conscientiousness. That is not a strategy; it is a hope that the right habits persist without being taught or reinforced, and it does not survive headcount turnover.

The GOV.UK observation is worth making explicit, because it is the part most organisations skip. Whoever removes a manual check owes the organisation a deliberate replacement for it. The knowledge does not transfer automatically. If you remove the person who knows what to check, you need to encode that knowledge somewhere else before you do it, not after. The organisations that made the ratio shift work treated this as a design problem. The ones that did not are now relying on whoever happens to remember.

If your ratio has drifted and nothing was built to absorb it, your test coverage is now a function of individual conscientiousness, which is not a strategy. That is a training problem before it is a tooling problem, and it is the kind of gap QualityLabs builds training to address.

Sources

  1. The Pragmatic Engineer (Gergely Orosz): “How Microsoft Does Quality Assurance”. Reported account of Microsoft’s SDET structure and the 2014 retirement of the role. Orosz is a former Microsoft engineer; the account draws on public statements and named sources including Brian Harry.
  2. Carlos Arguelles: “The paradigm shifts going from 1:1 to 10:1 to 100:1 dev:test ratio” (Medium, 31 August 2021). Self-published personal account by a named insider (Senior Principal Engineer, Google; formerly Microsoft and Amazon). Figures are his own recollections, not audited data.
  3. Google Testing Blog: “How Google Tests Software” (2011). Overview of Google’s internal test engineering function and tooling.
  4. James A. Whittaker, Jason Arbon and Jeff Carollo, How Google Tests Software (Addison-Wesley, 2012). Source of the 200 developers / 3 testers figure (2001) and the Larry Page quotation “Scarcity brings clarity.” These figures predate Google’s main scaling period.
  5. GDS: “A new standard of testing for GOV.UK” (Ben Thorner and Peter Hartshorn, 8 October 2021). Published account of GOV.UK’s 95% coverage standard and the reasoning behind removing manual deployment checks.