In partnership with

Most engineering systems don’t collapse.

They drift.

The architecture that once felt clean and coherent slowly becomes harder to understand.

New services appear.
Old assumptions remain.
Workarounds accumulate.

Nothing feels broken.

Yet the system becomes harder to change.

AD BREAK
Before we continue, here’s a partner supporting this issue.

SPONSORED

Scale Your IRL Campaigns Like Digital Ads

Out Of Home advertising has long been effective but hard to scale—until now. AdQuick makes it simple to plan, deploy, and measure campaigns with the same efficiency and insight you expect from online marketing tools.

Marketers agree: OOH is powerful for brand growth, driving new customers, and reinforcing messaging. AdQuick makes it easy, intuitive, and data-driven—so you can treat real-world campaigns like any other digital channel.

Now, Back to the article

THE SLOW DECAY

Software rarely breaks all at once.

Instead, complexity increases gradually.

Small changes accumulate:
  • Quick fixes

  • Temporary patches

  • Copied components

  • Duplicate logic

Each change seems harmless.

But over time, the system becomes harder to reason about.

Eventually engineers stop asking:

“How should the system work?”

And start asking:

“How does this system even work?”

WHY ARCHITECTURE DRIFTS

Architecture rarely degrades because engineers are careless.

It drifts because systems evolve under pressure.

Three forces drive this:

  1. Local optimization:

    Engineers optimize for the problem directly in front of them.

    The system as a whole becomes secondary.

  2. Dead assumptions remain:

    Old constraints often stay in the architecture long after they stop being relevant.

    The system carries historical baggage.

  3. Nobody owns the big picture:

    As teams scale, architectural responsibility becomes fragmented.

    Each team protects its own system.

    But no one protects the system as a whole.

AD BREAK
Before we continue, here’s another partner engineers are reading.

SPONSORED

Go from AI overwhelmed to AI savvy professional

AI will eliminate 300 million jobs in the next 5 years.

Yours doesn't have to be one of them.

Here's how to future-proof your career:

  • Join the Superhuman AI newsletter - read by 1M+ professionals

  • Learn AI skills in 3 mins a day

  • Become the AI expert on your team

Now, Back to the article

THE COST OF DRIFT

When architecture drifts too far from its original design, teams experience:

  • Slower development

  • Fragile integrations

  • Unexpected failures

  • Expensive migrations

Eventually simple changes become complex projects.

Not because the feature is hard.

Because the system is.

John Gall once wrote:

A complex system that works is invariably found to have evolved from a simple system that worked.

Many systems don’t fail because engineers lack skill.

They fail because complexity quietly accumulates.

THE STRUCTURAL FIX

Healthy engineering organizations actively maintain architectural clarity.

Three practical approaches:

  1. Schedule architectural cleanup:

    Architecture needs maintenance just like code.

  2. Document architectural decisions:

    Future engineers need to understand why systems were built a certain way.

  3. Protect system simplicity:

    Sometimes the best engineering decision is removing complexity.

    Not adding features.

A simple question reveals the health of your system:


If a new engineer joined today, how long would it take them

to understand the architecture?

If the answer is months,
the system hasn’t just grown.
It has drifted.

If this newsletter helps you think more structurally about engineering systems,
share it with someone building complex software.

— Hamza Saberi

(Author, Hamza’s Notes)

Keep Reading