Back

How 80,000 Engineers Actually Work

Role
Design and research lead
Timeline
2022, with follow-on work after
Themes
Developer Platform · UX Research · Systems Thinking

To comply with my NDA, I've omitted and obfuscated confidential information. Product names, data, and artifacts shown are representations created to illustrate the work while protecting confidential details.

I sat on a team that supported the whole developer-tools org, not any single product — so I could see what no product team could. I co-led the first cross-product study of how 80,000 engineers actually work, and it surfaced the friction no one had been able to see: the systemic problems living between products, where no single team was looking.

Interviewed

18 builders across 7 orgs, junior to principal

Found

30+ systemic pain points no single team could see

Drove

Leadership buy-in and workflow investment

The problem

Dozens of products, and no clarity into how work flowed across them

In 2022, Amazon brought the tools its engineers use to build software under one organization, with a mandate to make its 80,000 developers more efficient. But the tools had grown in silos, and the org was structured to match them — each team owning its own product, its own roadmap, its own metrics.

No one owned the thing that actually shapes efficiency: the experience of moving across those tools to get work done.

Amazon's developer platform spans every stage of shipping software. Each product owned by a different team, with its own roadmap. No one owned the path across them.

The org measured satisfaction tool by tool — good at tracking the problems it already knew about, blind to the ones that lived in between. And the frictions themselves weren't secret; teams knew their own tools had rough edges. What no one had was the whole picture: how those rough edges compounded across a developer's day into a real drag on the efficiency the org existed to deliver.

What I did

I studied the workflow across products, not the products themselves

Studying every tool in depth would have taken a team of researchers a year. So I made a deliberate choice: focus on the inner loop — the tight, daily cycle where developers spend most of their time, writing code, building, testing, and getting it reviewed — and study how people actually move through it, end to end.

I sat on a team that supported the whole org, not any single product, which gave us a vantage point no product team had. I co-led the first cross-product study of the workflow: 18 interviews across 7 orgs, from junior engineers to principal, each walking us through their last real task. We kept it open-ended — asking how people worked, not how they felt about specific tools — so the systemic patterns could surface instead of tool-by-tool complaints.

18 interviews·7 orgs·junior to principal
Evidence
quotes, notes, observations
Patterns
recurring pains cluster
Insight groups
debated
Themes
what teams can act on
Getting unstuck
Signal vs. noise
Diagnosing failures

The framework was the easy part. The judgment — what related to what, in deeply technical, wildly varied data — was the real work.

What we found

The real problems weren't in the products — they were in the seams between them

The friction that hurt most didn't live inside any single tool. It lived in the handoffs, the dead ends, and the gaps between them — where no one was looking.

“The wiki is where information goes to die. I don't even open it anymore. I just Slack someone who might know.”

— Software engineer, from research interviews

Getting unstuck meant digging through scattered, outdated docs, then giving up and interrupting a teammate. Diagnosing a failure meant jumping between tools, because none owned the full picture.

The same friction showed up at every stage

To make the findings legible, I mapped every pain point from the research onto the developer's actual workflow — the cycle they move through every day — color-coded by type.

Each dot is a pain point from the research, placed where it occurs and colored by type. Trace any color and you'll see it recur — the same friction surfacing at stage after stage.

The friction compounded across the whole day

These weren't isolated bugs. They were systemic — woven across the whole journey, belonging to no single step or team.

I built this detailed workflow map to synthesize the 18 interviews — a way to make sense of everything we were hearing and see the whole developer loop at once. Every step is annotated with the pain points we heard. The density is the message: this is what builders navigate every day.

The inner developer loop and build/deploy phases, with appendices zooming into code review and error diagnosis.

Code review alone had a dozen breakpoints

Once it existed, the map became a way to talk with teams. Because we'd mapped the whole workflow, I could pull out any team's slice and show them exactly where their product sat in a builder's day.

Zooming in on code review — one of the most complex parts of the loop: two parallel paths (submitting vs. reviewing), decision points around analyzer rules and approval, context-switches while waiting for feedback, and error-diagnosis branches that could send builders back through the entire loop.

“The review itself takes 20 minutes. Getting someone to do it takes three days.”

— SDE, from research interviews

With the Code Review team, that started a deeper collaboration — I did design work with them to address several of the issues the research surfaced. It also seeded a number of other projects across the org. See the Code Review redesign →

The worst problems crossed the most teams

We prioritized what we found by how much each problem hurt and how many teams a fix would require. The most critical problems were consistently the ones that crossed the most teams — the ones no single team could solve alone.

Prioritized by impact and complexity

Start here
  • 1.1Formal training and docs give little guidance beyond the happy path.
  • 2.2Developers lack visibility across dependencies; a dependency problem breaks focus to find and understand the root cause.
  • 3.1The complex, fragile nature of setting up and maintaining a workspace disrupts workflow.
Big bets
  • 1.3Technical guidance is often inaccurate, eroding trust and increasing the potential for errors.
  • 2.1Tracking and diagnosing errors alongside slow feedback loops increases the effort to get code into production.
Chip away
  • 1.2Team-level technical guidance is often missing or invalid and requires hard context switching.
Not now
  • No findings landed here.
Complexity
Knowledge transferDependency visibilityTool pain
The most critical problems were also the ones that crossed the most teams.

30+ notifications, all landing on one developer

Some of the most systemic problems were invisible precisely because they were spread across teams — so I ran workshops to surface them collectively. Teams from across the platform contributed to shared boards, cataloguing the friction they lived with and mapping their own corner of the system. Problems no single team could see came into focus once everyone's piece was in one place.

Notifications were the clearest example. Every tool sent its own alerts, and every team was sure theirs mattered — but no one could see the aggregate. I had teams map their own notification sources onto one board, and the picture was undeniable: over 30 notification types, from more than a dozen tools, all landing on the same developer — most with the same complaint (too many, no way to tell signal from noise), and many requiring no action at all.

Task Manager

INFRA-3391 moved to In Progress

Pipelines

Build #4891 succeeded -- 847 tests passing

SNS

Pipeline approval required -- test run result: pass

Deploy

Canary at 2% traffic -- no errors

Slack

#team-backend: Standup notes posted

Pipelines

Service outage / issues -- easily overlooked

Slack

#oncall: Handoff notes for next rotation

Task Manager

INFRA-3391 moved to In Progress

Pipelines

Build #4891 succeeded -- 847 tests passing

SNS

Pipeline approval required -- test run result: pass

Deploy

Canary at 2% traffic -- no errors

Slack

#team-backend: Standup notes posted

Pipelines

Service outage / issues -- easily overlooked

Slack

#oncall: Handoff notes for next rotation

Slack

#team-backend: Anyone know who owns the auth config?

Pipelines

Test run failed -- approval workflow blocked

Email

Weekly Builder Tools digest: 14 updates

Email

Task status update: SIM-4201 closed

Pipelines

Pipeline config updated -- rebuild required

Code Review

PR #1250: refactor auth middleware

Email

Complete compliance training by Friday

Slack

#team-backend: Anyone know who owns the auth config?

Pipelines

Test run failed -- approval workflow blocked

Email

Weekly Builder Tools digest: 14 updates

Email

Task status update: SIM-4201 closed

Pipelines

Pipeline config updated -- rebuild required

Code Review

PR #1250: refactor auth middleware

Email

Complete compliance training by Friday

Pipelines

Service outage detected -- IsItDown banner active

Code Review

PR #1247 approved -- ready to merge

Code Review

Changes requested on PR #1244

Security

3 packages with security patches available

Email

New task opened: BACKEND-882

Deploy

Production deploy queued -- 3 ahead

Pipelines

Service outage detected -- IsItDown banner active

Code Review

PR #1247 approved -- ready to merge

Code Review

Changes requested on PR #1244

Security

3 packages with security patches available

Email

New task opened: BACKEND-882

Deploy

Production deploy queued -- 3 ahead

Notifications arrive from every tool independently. No shared priority, no coordination, no way to distinguish signal from noise.

Every tool sent what it thought mattered. The developer got buried.

That was the pattern beneath all of it: the worst problems weren't anyone's fault, and weren't anyone's to fix. They only became visible when someone looked across the whole system — and that was the work.

Why it mattered

It gave leadership the evidence — and the story — to act

The research gave a siloed org its first shared view of the developer experience as one connected thing — and it did two jobs at once: it made the systemic problem legible, and it helped shape a picture of where the experience should go.

Leadership took it to the whole company. At DevCon — Amazon's largest internal developer conference — leadership built its address around the research: a day-in-the-life of a developer losing her flow again and again, to tool-switching, dead-end searches, and a review sitting unnoticed for days. Not a list of broken tools — the connected, cumulative experience of a day. Then the counter-story: what that day could look like when the platform works with the developer instead of against her.

Leadership presented the research at Amazon's internal developer conference, opening with a day-in-the-life to build empathy.

“I'd love to see us identify a couple of key deep dives with the right brains around a first set of these findings.”

— Head of Product

It got work prioritized. Leadership committed to specific improvements addressing the friction the research surfaced — bringing trusted answers into the developer's editor instead of scattered docs; reducing the constant tool-switching and keeping workspaces connected so people keep their flow; surfacing reviews by priority so they stop sitting unnoticed. Each traced back to a pain the study documented.

It reached hands-on work across the org. I partnered with 15 product teams on design work addressing the friction — and the reach went well beyond the teams I touched.

These are problems that take years and many teams to work through, and the hardest ones are still hard. But the research is what got the org to start treating the developer experience as one thing worth solving — and to fund the first steps toward it.

Reflection

The cross-product vantage point was the whole advantage

Being on a team that supported the whole org, not a single product, was the study's biggest asset. It let us see patterns invisible from inside any one team — and it's a model I'd advocate for in any large organization with a complex tool ecosystem.

The deepest challenge wasn't finding the problems; it was that the worst ones belonged to no one. Surface a cross-product friction to any single team and the honest answer was often “that's not ours to solve.” The structure that made each tool efficient to build was the same structure that made the experience across them no one's job. That's the real reason these problems persist — and why getting leadership to see the system, not just the tools, mattered most.

If I'd do one thing differently: embed a technical partner in synthesis. As a researcher newer to the domain, I could spot patterns but sometimes lacked the context to resolve them quickly or route them to the right team.