Skip to content
Time to Signal

All notes  /  Foundations

What Developer Productivity Engineering Is

Treating the toolchain as a product with users and performance requirements, rather than as plumbing that someone will fix when it breaks.

Explainer

Every engineering organisation has a toolchain, and in most of them nobody owns whether it is fast. Developer productivity engineering is the decision to own it.

The core claim

Waiting is the largest controllable cost in software delivery, and almost nobody measures it.

A build that takes twelve minutes instead of two costs ten minutes. Multiply by every developer, every day, every change, and the number is large. But it appears in no budget line, because the time is spread across everyone's day in slices too small to notice individually.

The work is: measure the waiting, find where it comes from, remove it, and stop it coming back.

What it covers

Build times, local and in continuous integration.

Test execution: duration, flakiness, selection.

Pipeline design: queueing, parallelism, capacity.

Local environment: how long it takes to go from a clean machine to a running application.

Feedback latency: how long between making a mistake and being told about it.

Toolchain reliability, which is a separate thing from speed and frequently worse.

What it is not

Not measuring developers. The subject is the system that developers work in. Individual productivity metrics are a different activity with a poor record, and they get their own note.

Not a culture programme. Culture is downstream of whether the tools work. A team told to move faster on a toolchain that takes twenty minutes to give feedback will not move faster.

Not a tooling purchase. Most of the available gains come from configuration, caching and pipeline design rather than from a new product.

Not the same as platform engineering, though the two overlap and are frequently the same team. Platform engineering builds the paths; this is about how fast the paths are.

Why it is engineering

The word matters. This is not advocacy or process improvement.

It is measurable. Build duration, queue time, cache hit rate, failure rate — all instrumentable.

It has a model. Waiting time decomposes into identifiable components with identifiable causes.

It responds to normal engineering technique: profiling, caching, parallelism, dependency analysis, incremental computation.

Improvements can be verified, before and after, on the same measure.

Which is the argument for treating it as an engineering discipline rather than as something everyone does a bit of when it becomes annoying enough.

Where the value actually is

Roughly in order, across most organisations:

Feedback latency. The gap between making a change and knowing whether it worked. Everything else is a way of reducing this.

Reliability of the signal. A flaky test suite is worse than a slow one: it destroys trust in the result, which means failures get retried rather than investigated.

Local iteration speed, which is where developers spend most of their time and which is least often measured.

Onboarding time, which is invisible until you count it.

The first question

How long does it take to find out whether a change works?

Ask five developers. The answers will differ, none will be a measurement, and the range will be wide.

That gap between what people believe and what is happening is where this work starts.

The first week

Four things that establish where you stand, before any purchase.

Split queue time from execution time in your CI data. Most systems record both and report the sum, which sends every improvement effort to the wrong place.

Compute the median and ninetieth percentile of blocking pipeline duration, by repository.

Compute the flake rate from retry data: failures that passed on retry at the same commit.

Time an onboarding. Clean machine, written documentation, stopwatch.

None of this needs a licence, and the four numbers together usually redirect whatever anyone assumed the problem was.

Who this is for

Three audiences, with different reasons to care.

Whoever owns the toolchain, who needs evidence to prioritise and to defend the time.

Team leads, who see the symptoms — long reviews, big batches, people avoiding the tests — without a name for the cause.

Whoever approves budget, for whom the argument is the compute bill and the onboarding time rather than developer experience.

These notes are written for the first, with the arguments the second and third need supplied where they matter.