Inside theSoftware Factory
An Uber self-driving test vehicle, fitted with sensor and lidar equipment, parked on a residential street.

Photo: Uber

mobility · US · 1000+

Inside Uber's software factory

Six platform layers, an agent registry that makes every agent action traceable to a person, and the most honest published account of what AI measurement got wrong.

Uber at a glance

The company

Sector"Uber's mission is to create opportunity through movement" 11
EmployeesApproximately 34,000 globally, in over 70 countries and more than 15,000 cities (Dec 31, 2025) 12
Customers208m monthly active platform consumers, 3.867bn trips in the quarter 11
Revenue$14.191bn revenue, $58.022bn gross bookings (Q2 2026) 11

Employee count is the 10-K figure for Uber and its subsidiaries and is not broken out by function; no engineering headcount is disclosed in any source 12.

The engineering organisation

Engineering sizeNot disclosed. Sources say only "thousands of engineers" across large monorepos 4
AI tooling sinceAugust 2025 is the earliest dated first-party account of an agent in the SDLC 2
Tool policyCentral platform, multiple models and harnesses; spend tiers require manager sign-off 1
Agents in the SDLCCode review, test generation, background PRs, CI self-healing, on-call triage 1,2,4
Reported adoption7x growth in weekly active users of agentic tooling, February to August 2026 1
Published metricsCost per session, cost per 1,000 requests, comment address rate, per-language test success rates 1,2,4

The 7x adoption figure is deduplicated across tools and counts all employees, engineers and non-engineers alike, not engineers only 1.

70%+PRs involve local or cloud agents
100M+model requests handled daily
3,600+shared skills in the marketplace
40msP99 identity token exchange latency
11%new tests written by AutoCover

People

Uday Kiran MedisettyDistinguished Engineer
Adam HudaLeads AI Developer Tools
Ty SmithPrincipal Engineer, Developer Platform
Shauvik Roy ChoudharyEngineering Manager, Programming Systems
Nikhil RamakrishnanAI Foundations and Developer Experience

What they set out to solve

The stated problem is not capability but cost, and it is stated as arithmetic. Uday Kiran Medisetty, a Distinguished Engineer, decomposes spend into six multiplied terms 1:

Total spend = users × sessions/user × turns/session × requests/turn × tokens/request × price/token

Uday Kiran Medisetty, Distinguished Engineer

The framing matters more than the formula. The first two terms are adoption, which Uber says it wants to keep growing. The middle three are described as "the work the agent does on its own behalf, on top of the request an engineer actually made", and that is the part they set out to attack 1. The pressure was real: AI-related costs had risen sixfold since 2024 9.

Three concrete failures underlay the arithmetic 1. The first was schema overhead nobody had counted: with more than 100 tools installed, pre-loading their definitions "added approximately 50K-70K tokens of schema overhead to the initial prompt, which was subsequently re-sent on every context turn." The second was that ungrounded agents burn money slowly rather than failing fast: "An ungrounded agent fails slowly rather than cheaply, repeatedly sending an expanding context window to search one more location," a failure mode serious enough to motivate the context graph described below. The third was that third-party tools proved worse than internal ones: "Managing third-party software proved significantly more challenging than our internal servers. Vendors design MCP servers to expose full product capabilities because they can't anticipate specific customer usage." Individual SaaS servers arrived carrying 34 to 49 tools each.

A second problem is identity. Existing models "don't capture agent delegation relationships", and "execution context (originating user, intermediate agents) is dropped across agent hops" 3. An agent calling an agent calling a service left nobody accountable at the end of the chain.

The third is toil. Anshu Chada, a Director of Engineering on the Dev Platform, frames the payoff as satisfaction before speed: "when we push some of the boring stuff to AI...not only does it result in much higher satisfaction from our engineers, but they're able to push our product" 9. The Minion platform is described as targeting exactly that, "the boring work that steals engineering focus", rather than novel work 8.

For code review, the stated goal was trust rather than throughput. uReview is built as an augmenting second reviewer, not a gatekeeper, and tuned so engineers keep believing it 2.

Maturity level

L4 · AI-nativeof 5
TraditionalAI-supportedAI-assistedAI-nativeAI-autonomous

Assigned by testing published facts against fixed criteria, and capped by what the sources state.

How Uber's software factory works

Uber describes six connected layers 6.

Engineers Managed agents Harness + DevPods pre-provisioned envs Model Gateway 100m+ requests daily MCP Gateway 1,000+ servers, policy point Skills marketplace 3,600+ skills AI Context Graph 24m nodes, 80m edges Internal + SaaS systems Every hop carries a scoped token with an actor chain back to a person [3]
The six layers as described in the World's Fair talk [6], with figures from the August 2026 efficiency post [1]. Original diagram, not a reproduction.

A Model Gateway serves more than 800 internal projects and over 100 million model requests a day 6. Model selection runs against an internal benchmark, the Uber SWE Benchmark, which tests frontier and open-weight models across task types, and the selection criterion is stated as Pareto efficiency across "cost/completed task, output quality, and model reliability" 1.

An MCP Gateway is the single entry point to more than 1,000 MCP servers, internal and third-party SaaS alike, "enabling centralized authentication and policy enforcement" 1. It is also the policy enforcement point for agent identity, performing "tool access checks and redaction of sensitive data" against an internal risk classification before proxying a call onward 3.

DevPods give agents pre-provisioned environments rather than a cold checkout 6, the layer Nikhil Ramakrishnan describes as years of prior investment in remote environments, CI, and developer tooling finally paying off for something other than humans 8.

A skills marketplace holds more than 3,600 skills running over 30,000 executions a day 1. Five weeks earlier the same marketplace was described as 2,500 skills at 20,000+ daily executions 6, so the growth rate is roughly visible even though neither source defines what one skill execution counts as.

The AI Context Graph unifies 24 million nodes and 80 million edges drawn from more than 30 internal systems 1. It exists to stop the slow-failure mode: grounded, an agent answered in 38 seconds where the ungrounded run took 20 minutes 9 seconds and got it wrong 1.

Cortana, a company-wide assistant, is available in Slack, CLI, and web, and runs more than 20,000 sessions a day 6.

Identity binds the layers together. An Agent Registry links every AI agent to its Kubernetes workload, agents fetch cryptographically signed SPIRE workload credentials, and a Security Token Service mints "short-lived, scoped tokens for every hop", each carrying an actor chain and an audience claim valid only for that destination 3. P99 latency on that token exchange stays under 40 milliseconds, with most values below 10 3. The practical effect is that a multi-hop agent-to-agent delegation still resolves to a responsible human in the logs.

What runs without a human starting it

This is the sentence that places Uber, and it is first-party 1:

As we progress on that vision, a growing share of sessions aren't initiated by humans, but by automated managed agents handling code review, self-healing CI failures, completing E2E PRs with visual validation, triaging on-call alerts, debugging incoming bugs, and handling a variety of code maintenance tasks with human reviews/escalations.

Uday Kiran Medisetty, Distinguished Engineer

Three of those are separately documented.

Review. uReview covers roughly 90% of about 65,000 diffs a week across six monorepos, in Go, Java, Android, iOS, TypeScript, and Python 2. It runs a four-stage pipeline: specialised comment generators, then confidence scoring, semantic deduplication and category classification, then inline delivery, then developer ratings feeding back into evaluation 2. Median analysis latency in CI is four minutes 2. It does not block a merge.

Tests. AutoCover generates about 11% of all new tests reviewed and added to the codebase 4. It is a LangGraph pipeline with sub-graphs for preparation, generation, execution, and validation and repair, offered in three modes: CLI for scripting, Headless for sharded backfills that open merge requests on their own, and IDE for human-in-the-loop work 4. Success rates are published per language and are not flattering by design: about 20% for Java, 40% for Go, and 80% for Python 4.

Background PRs. Minion takes a prompt from web, Slack, or command line and opens pull requests on its own 9. Its share of merged pull requests is one of two conflicting figures for agent involvement in PRs, examined below 8.

Operating the software factory: teams, roles, and skills

Spend governance is where the operating model is most explicit, and it works through visibility and friction rather than hard limits 1. A live cost counter sits in the harness status line, tracking spend per harness and across all harnesses for each user, and Slack notifications fire at 50, 80, and 100% of expected spend, a design stated as giving "engineers time to plan" rather than cutting them off outright. One shared tier covers all interactive harnesses, deliberately not split into per-tool budgets, with separate tiers reserved for managed agents, and moving to a higher tier needs manager sign-off, though the approval flow itself is described as quick.

Defaults do the rest of the work: automatic compaction triggers at 400,000 tokens even on million-token context windows, and reasoning effort defaults to Medium 1. A session analysis dashboard classifies runtime behaviour into 16 anti-pattern categories 1.

The agent surface reaches past engineering. uSpec wires Claude through an IDE to Figma over MCP to produce anatomy, API, accessibility, and token documentation for the Base design system, generating full screen-reader specifications in under two minutes and serving thousands of engineers across seven implementation stacks 10. The whole pipeline runs locally so proprietary design data never leaves the network 10.

Implementation journey

The public record runs roughly in this order.

  1. Before agents
    Ramakrishnan's framing is that remote environments, CI, and developer tooling were built first, and background agents became possible because that groundwork already existed 8.
  2. August 2025
    uReview publishes, the earliest dated account of an agent operating continuously in the SDLC 2.
  3. March 2026
    An external inside look names Minion, Shepherd, uReview, Code Inbox, AutoCover, the MCP Gateway, Uber Agent Builder, AIFX CLI, and Agent Studio, and reports 84% of developers using agentic coding tools, 92% using agents monthly, and 65-72% of code in IDE-based tools AI-generated. Claude Code usage nearly doubles from 32% in December to 63% in February 9.
  4. April 2026
    AutoCover appears at ICSE-SEIP with a full threats-to-validity section 4, and the JUnit migration post lands the same month 5.
  5. May 2026
    The Agent Registry and per-hop token architecture are published 3, and the Minion share of merged PRs is presented as 11% 8.
  6. June to August 2026
    The six-layer factory is presented publicly 6, and the efficiency post reports weekly active users up 7x and weekly agentic requests up 9.4x from February to August 1.

Measuring the software factory

Uber is the only company in this corpus to publish a peer-reviewed threats-to-validity section about its own tooling. AutoCover's authors state plainly that "coverage ≠ effectiveness", that code coverage is an imperfect proxy mitigated with scenario coverage and mutation testing, and that a target-selection bias is possible because "developers may have targeted particularly hard-to-test legacy code" 4. They also state a deliberate trade: they favour external and ecological validity over internal validity, because tight experimental control and real deployment are at odds 4.

The measurement story on productivity is more interesting for what was thrown away. Abhishek Tibrewal describes a difference-in-differences design built around an explicit counterfactual, "if there was no Copilot, what would have the same developer shipped?" 7. It produced a 19% lift among power users, an 8% cohort, with gains distributed unevenly by seniority and largest for junior-to-mid engineers 7. The speakers are careful that correlation among power users needed causal validation, since productive engineers may simply adopt tools first 7.

Then they dropped a metric on purpose. "Developer years saved" was abandoned for three stated reasons: it created anxiety about replaceability despite leadership's hiring intent, its baseline needed constant recalibration as tools changed, and business leaders wanted revenue and feature impact rather than a time-savings abstraction 7.

Cost is measured tightly. Cost per 1,000 requests fell 34% between February and July with the model held constant, and cost per session fell 52% from June to the August peak 1. Restructuring tool access into code mode cut tokens 50-71% on typical queries and close to 100% on a wide-table SQL query 1.

Three published figures carry caveats worth stating alongside them. uReview's "~1,500 hours weekly, about 39 developer-years annually" was published a year before Uber abandoned hours-saved framing internally, and its calculation's method is never disclosed 2,7. "Lines of code per engineer doubled year over year" rests on a proxy widely criticised elsewhere, and no source addresses whether agent-generated boilerplate inflates it 6. The third figure, the agent share of pull requests, is the entry's sharpest definitional problem, treated in full below.

The 11% and the 70% are not the same measurement

Both figures are first-party, both are recent, and they differ by a factor of six. They also count different things.

  • 11% of PRs opened by agents, March 2026, counting pull requests an agent opened 9.
  • 11% of merged PRs, May 2026, counting merged pull requests generated through Minion specifically 8.
  • More than 70% of PRs, June 2026, counting pull requests that "involve local or cloud agents" 6.
  • More than 70% attributed to agents, August 2026, stated as a share of all PRs with no definition given 1.

The reconciliation the sources support is that the low figure counts PRs a background agent authored end to end, and the high figure counts any PR an agent touched, including one an engineer drove from their own IDE. No source states that reconciliation, and no source defines what counts as agent involvement once a human edits the output. Present both with their dates and denominators, or neither.

Lessons learned

Grounding is a cost control, not just a quality one. An agent without shared context does not fail cheaply; it fails slowly, burning tokens on an ever-expanding search that the context graph exists specifically to short-circuit 1.

Vendor MCP servers are a scaling problem. Internal servers were easier to manage than third-party ones, because vendors design their servers to expose full product surfaces they cannot scope to one customer's usage 1.

Sometimes the answer is not AI. The largest migration in the record went deterministic. On migrating 75,000 test classes and 1.25 million lines from JUnit 4 to JUnit 5 in four months via 5,000+ automated diffs, the team states that "AI usage was limited to debugging test and build failures. Given our codebase's scale and custom testing patterns, a deterministic approach proved more practical than an AI-driven migration" 5. Shepherd orchestrated OpenRewrite transformations across thousands of Bazel targets in parallel and validated each through CI 5.

An advisory reviewer keeps its audience. uReview's own post lists where it is weak: it cannot see past PRs, feature flags, schemas, or documentation, it is "better at catching bugs than assessing system design", and it struggles with readability comments engineers routinely reject 2. 75% of its comments are rated useful and 65% are addressed in the same changeset 2.

A measurement can be right and still worth deleting. The developer-years metric was dropped for its effect on engineers and its instability, not because it was wrong 7.

What's next for Uber's software factory

Uber states a direction rather than a roadmap: the shift toward agent-initiated sessions described above continues, with humans moving from initiators of work to reviewers and escalation points 1. On generalisability they are explicit that their numbers are theirs: "specific cost reductions we measure are unique to our environment and your mileage may vary depending on your codebase, team size, and agent workflows", with only the benchmarking methodology offered as portable 1.

The AutoCover authors name their own next steps from user feedback: tighter coverage-tool integration able to target only new or changed lines, and the ability to interject mid-generation to steer an agent that is close but not correct 4.

Gaps in the record (7)
  • No definition is published for what counts as agent-authored when a human edits agent output, which is what the 70% figure turns on 1,6.
  • Engineering headcount is never disclosed, so no adoption percentage can be converted into people 4,12.
  • No source states whether an agent-opened PR can merge without a human approving it.
  • The uReview "39 developer-years annually" calculation is stated but its methodology is not published 2.
  • No churn data anywhere: no count of engineers or teams that adopted agents and stopped.
  • No agent-caused incident or rollback is described in any source, in a corpus where Uber otherwise publishes failure rates.
  • The context graph is counted two different ways five weeks apart, and neither source defines its unit 1,6.
Sources (13)
1
Running a Software Factory Efficiently at Uber Scale
Uday Kiran Medisetty · Distinguished Engineer · 2026-08-27
2
uReview: Scalable, Trustworthy GenAI for Code Review at Uber
Shauvik Roy Choudhary, Sonal Mahajan, Joseph Wang, Akshay Utture, Will Bond · Engineering Manager; Staff Engineer; Principal SWE; former SWE; Staff Engineer · 2025-08-12
3
Solving the Identity Crisis for AI Agents
Matt Mathew, Prasad Borole, Meng Huang, Sergey Burykin, Gaurav Goel, Bayard Walsh · Senior Staff Engineer; Staff Engineer; Engineering Manager; and colleagues · 2026-05-21
4
Automated Software Test Generation at Industry Scale Using a Multi-Agent Architecture and Workflow Integration
Matas Rastenis, Ben Chou, Shauvik Roy Choudhary, René Just · Uber Technologies; Uber; Uber; University of Washington (work done at Uber) · 2026-04
5
How Uber Executed A JUnit Migration at Massive Scale
Anshuman Mishra, Kaushik Vejju · Staff Software Engineer; Software Engineer · 2026-04-07
6
Agentic SDLC at Uber: Building Blocks for Uber's Software Factory
Uday Kiran Medisetty, Adam Huda · Distinguished Engineer; leads AI Developer Tools · 2026-06-30
7
Uber's journey of measuring AI impact on developer productivity
Ty Smith, Abhishek Tibrewal · Principal Engineer, Developer Platform; Engineer
8
Uber Minion: 11% Agent-Generated PRs
Nikhil Ramakrishnan · AI Foundations and Developer Experience · 2026-05-07
9
How Uber uses AI for development: inside look
Gergely Orosz · Author, The Pragmatic Engineer · 2026-03-10
10
How Uber Built an Agentic System to Automate Design Specs in Minutes
Ian Guisard · Leads design of Uber's Base design system · 2026-03-11
11
Uber Announces Results for Second Quarter 2026
Uber Technologies, Inc. · corporate disclosure · 2026-08-05
12
Uber Technologies, Inc. Form 10-K, fiscal year 2025
Uber Technologies, Inc. · SEC filing · 2026-02
13
How Uber built an AI software factory
Port · vendor newsletter · 2026-08-24

Read next

Interior of a Zalando fulfilment center, with orange crates on a conveyor system.

Inside Zalando's software factory

Agentic engineering across 250+ teams since January 2024, with no mandated tool and a risk classifier that auto-approves a third of pull requests.

AI-assisted
The Shopify reception desk at an office, lit in the company's green.

Inside Shopify's software factory

The famous CEO memo wasn't the whole record. Underneath it sits a Slack-native agent coauthoring one in eight merged PRs, a security harness that requires proof by exploit, and a refusal to count AI-authored lines of code.

AI-native