Ben Sutherland

Ben Sutherland

Head of EngineeringCTO

Read Resume
Articles
9 min read
Engineering LeadershipTeamDeliveryCulture

Scaling an Engineering Team Without Scaling Chaos: Standards, Autonomy, and Delivery

When a team grows, decision-making breaks before the code does. Scale decisions — encode judgement into standards, paved paths, and culture so autonomy stays safe.

Scaling an Engineering Team Without Scaling Chaos: Standards, Autonomy, and Delivery

There is a strange moment that happens when an engineering team starts to grow.

You add good people. The team gets more capable on paper. There are more hands, more experience, more surface area, more energy.

And somehow, everything starts to feel slower.

The codebase may still be fine. The architecture may not be the first thing to crack. The thing that usually breaks first is decision-making.

Small decisions that used to happen naturally now need alignment. Technical choices become inconsistent. Teams solve the same problem three different ways. Reviews become unpredictable. Delivery meetings get noisier. The leader quietly becomes the router for every meaningful call.

That is the scaling problem I care about most.

Not just "how do we hire more engineers?" but "how do we make sure the team can keep making good decisions when I am not in the room?"

That is also why I do not buy the idea that AI somehow makes people less important in engineering organisations.

AI changes how work happens. It can remove friction. It can help with drafting, summarising, scaffolding, explaining, testing, and exploring. Used well, it gives good people more leverage.

But it does not remove the need for judgement.

The future I believe in is not an AI-native workforce where people are gradually abstracted away. It is an AI-enabled workforce where people make better decisions, move faster with better tools, and spend more of their time on the work that actually requires human context.

Engineering still scales through people.

The question is whether those people are operating inside a system that helps them make good calls.

The leader becomes the bottleneck

In a small team, decision-making often works because everyone shares context.

People know the product shape. They know the architecture. They know why certain choices were made. They know the standards because they were there when the standards emerged. A lot of alignment lives in people's heads.

That does not scale cleanly.

As the team grows, the hidden assumptions become visible. New engineers do not know the history. New squads optimise locally. Different reviewers reward different things. The same trade-off gets reopened repeatedly because nobody wrote down the original reasoning.

At that point, leaders often respond in one of two ways.

One is to approve everything. That works for about five minutes. Then you become the constraint. Every decision routes through you. The team waits, escalates, or learns not to decide without permission.

The other is to say, "I trust the team, just let people decide." That sounds healthier, but it can create a different problem. Autonomy without shared standards becomes inconsistency. Everyone is moving, but not necessarily in the same direction.

Neither version scales.

You cannot approve everything. You also cannot pretend autonomy is free.

Autonomy needs a substrate.

Standards make autonomy safe

I think standards get a bad reputation because people associate them with bureaucracy.

Bad standards are bureaucracy. They slow people down, encode preferences as rules, and create a culture where compliance matters more than outcomes.

Good standards do something different.

They make autonomy safe.

They answer the recurring questions so engineers can spend their judgement on the interesting ones. They create a shared default. They reduce unnecessary variation. They let teams move without constantly asking, "What do we normally do here?"

That might mean standards for service structure, testing expectations, deployment patterns, observability, API design, infrastructure ownership, security review, incident response, or how decisions are documented.

The point is not to standardise everything.

Some variation is healthy. Teams need room to solve local problems. Senior engineers need space to exercise taste. The goal is not to remove judgement; it is to aim judgement at the right level.

I want standards where inconsistency is expensive.

I want autonomy where context matters.

That distinction is important. If a choice has high operational cost, security implications, cross-team impact, or long-term maintenance weight, it probably deserves a standard or at least a clear decision path. If it is local, reversible, and low-risk, the team should not need a committee.

This is where engineering leadership becomes less about making every decision and more about shaping the environment decisions happen inside.

Paved paths beat policing

The best standard is the one people naturally follow because it is the easiest good option.

That is why I prefer paved paths over policing.

A paved path might be a template, a golden service pattern, a deployment workflow, a default observability setup, a documented integration pattern, or a set of guardrails that make the safe thing straightforward.

The idea is simple: make the right default easier than inventing a new path.

If every team has to rediscover how to ship, monitor, secure, and operate a service, you will get inconsistency. Not because people are careless, but because you made every decision bespoke.

A good paved path does not prevent teams from stepping off it. It just makes stepping off it a conscious decision.

That is the balance I like. Defaults should be strong. Exceptions should be allowed. But exceptions should carry reasoning.

This is also where AI can help, but only in the right role.

AI can make paved paths easier to use. It can generate the boilerplate, explain the standard, create the first draft of a decision record, scaffold a test, or help someone understand why a pattern exists. That is useful.

But AI should not become the source of truth for the standard. The team owns the judgement. The tool helps apply it.

That is what I mean by AI-enabled, not AI-native.

The system is still human-led.

Review culture transfers taste

Code review is often described as a quality gate.

It is that, but if that is all it is, you are missing the more important function.

Review is one of the main ways a team transfers taste.

It is where engineers learn what the team values. What "simple" means here. What level of testing is expected. Where boundaries should sit. Which abstractions are useful and which ones are theatre. What kind of operational thinking is expected before something ships.

A healthy review culture is not just gatekeeping. It is shared judgement in motion.

That does not mean reviews should become essays or power games. Long, performative reviews are their own kind of dysfunction. The goal is not to prove seniority. The goal is to make the work better and make the team smarter.

The best review comments teach the standard behind the comment.

Not just "change this," but "we avoid this because it makes ownership unclear," or "this should use the paved path because the operational behaviour is already solved there," or "this test is too coupled to the implementation; I want the behaviour protected."

That kind of review compounds.

Over time, fewer things need to be said. People internalise the taste. The team becomes more consistent without needing a rule for everything.

That is scaling.

Write the decisions down

A lot of engineering chaos comes from decisions evaporating after the meeting.

Everyone leaves aligned. Two months later, someone asks why the system works this way. Nobody remembers the constraint. A new team member proposes the alternative that was already rejected. The debate starts again.

That is expensive.

I am a fan of lightweight decision records for exactly this reason.

They do not need to be heavy. In fact, if they are heavy, people will stop writing them.

The useful version is simple: what did we decide, why did we decide it, what alternatives did we reject, and what would make us revisit it?

That last part matters.

A decision without a revisit trigger becomes folklore. A decision with a trigger stays alive.

Maybe the trigger is scale. Maybe it is cost. Maybe it is team size. Maybe it is a compliance requirement. Maybe it is repeated operational pain. Whatever it is, write it down.

This helps autonomy because it gives people context without needing access to the original conversation. It also helps new leaders and new engineers understand the system as a series of trade-offs rather than a pile of accidents.

Delivery discipline is not velocity theatre

Scaling teams often get obsessed with motion.

More tickets. More ceremonies. More dashboards. More updates. More "velocity."

But motion is not the same as delivery.

A busy team can still be stuck. A team can close a lot of tickets and fail to move the product. A team can look efficient while pushing complexity downstream.

The measure I care about is whether the team is reliably turning judgement into outcomes.

Are we shipping things that matter? Are we reducing risk? Are we learning quickly? Are we making decisions at the right level? Are teams blocked waiting for permission? Are we creating quality, or just moving work across a board?

Delivery discipline is not about squeezing people harder. It is about making the path from decision to outcome clearer.

That means fewer ambiguous priorities. Fewer hidden dependencies. Better sequencing. Better definitions of done. More honest conversations about trade-offs. Less theatre.

Again, AI can help here. It can summarise context, draft updates, surface risks, and reduce administrative drag.

But it does not know what matters.

People decide what matters.

Hire and mentor for judgement

The compounding asset in an engineering team is not just technical skill. It is judgement.

People who can make good decisions under ambiguity change the shape of a team. They reduce escalation. They mentor by example. They make standards better. They know when to follow the paved path and when to challenge it. They understand that delivery is not just output, but consequence.

That is what I want to hire for and mentor towards.

Of course technical depth matters. But technical depth without judgement creates different problems. You get clever systems nobody can operate, arguments won through expertise rather than context, or local optimisations that hurt the broader team.

Good engineering leadership develops people who can decide well.

That is also why I think people become more important as AI improves.

If tools make it easier to generate code, documents, tests, plans, and proposals, the scarce skill becomes knowing what should be generated, what should be trusted, what should be changed, and what should not be done at all.

The leverage moves up a level.

That is not the end of engineering judgement. It is the premium on it increasing.

Scale decisions, not just people

Scaling an engineering team is not just adding headcount.

It is scaling the ability to make good decisions without everything routing through one person.

That means encoding judgement into standards where consistency matters. It means building paved paths so the right default is easy. It means using review culture to transfer taste, not just block bad code. It means writing decisions down so context outlives the meeting. It means measuring delivery honestly instead of worshipping motion.

And it means remembering that people are still the centre of the system.

AI can enable the workforce. It can accelerate the work. It can reduce toil and make good teams faster.

But it does not replace the need for people who can think clearly, decide well, and carry responsibility.

Scale decisions, not just people.

That is how delivery grows without chaos.

2026 Ben Sutherland