RE09 All articles
AI & Machine Learning

Your Architecture Is Exhausting Your Engineers — and You Built It That Way

RE09
Your Architecture Is Exhausting Your Engineers — and You Built It That Way

Photo: stressed developer overwhelmed laptop office team meeting, via www.androidheadlines.com

There's a conversation happening in engineering leadership circles that doesn't get nearly enough airtime. It's not about hiring pipelines or performance reviews or remote work policy. It's about whether the systems teams are building are actively making those teams miserable.

The answer, more often than anyone wants to admit, is yes.

Burnout gets framed as a people problem — a wellness issue, a management failure, a cultural deficit. And sometimes it is those things. But a growing number of engineering leaders are starting to look at their architectures the same way a doctor looks at a patient's lifestyle before prescribing medication. The symptoms are real. The cause might be structural. And the fix might require changing the environment, not the people living in it.

The Invisible Tax of Complexity

Here's a pattern that plays out on teams more often than engineering retrospectives tend to capture.

A company scales up. They adopt microservices because that's what scaling companies do. They add Kubernetes because the microservices need orchestration. They add a service mesh because Kubernetes alone isn't enough. They add distributed tracing because debugging across fifteen services without it is chaos. They add a feature flag system, a secrets manager, a separate CI pipeline per service, and a Slack integration that notifies a channel every time a deployment touches production.

At some point — usually somewhere around the fifteenth or twentieth addition — the system stops being a tool that engineers use and starts being a system that engineers serve.

Every new engineer who joins needs weeks of onboarding just to understand the topology. Every bug that appears in production requires a detective investigation across multiple dashboards, log aggregators, and trace viewers before anyone can even form a hypothesis. Every deployment is a ritual with enough steps that someone made a checklist, and enough ways to fail that the checklist itself requires maintenance.

This is what accumulated complexity feels like from the inside. It's not dramatic. It's just friction, everywhere, all the time. And friction is exhausting.

What the Research Doesn't Say But Should

The tech industry has gotten reasonably good at measuring burnout through surveys, eNPS scores, and exit interview data. What it hasn't gotten good at is connecting those measurements to architectural decisions made two or three years earlier.

When developers say they feel overwhelmed, the default assumption is workload. When they say they feel ineffective, the assumption is unclear expectations or poor management. When they leave, the exit interview captures "better opportunity" or "compensation" because those are the answers people give when they don't want to spend twenty minutes explaining that deploying a hotfix takes forty-five minutes and requires three people to be online simultaneously.

But talk to senior engineers who've worked at companies with genuinely simple stacks — a Rails monolith, a single Postgres database, deployments that push to a server and run a migration — and the word they use most often is "calm." Not exciting. Not cutting-edge. Calm.

That's not a coincidence.

The Leaders Who Simplified on Purpose

Some engineering leaders have started treating architectural simplicity as a retention strategy, not just a technical preference.

One VP of Engineering at a mid-sized SaaS company made the decision two years ago to migrate back from a microservices architecture to a modular monolith. The technical reasons were real — operational costs, debugging complexity, deployment coordination overhead. But the human reasons were just as important.

"We were losing senior engineers," she said. "Not to competitors with more interesting technical challenges. To smaller companies with simpler stacks. When I actually asked people why they were leaving, the answer kept coming back to cognitive load. They were spending more time fighting the infrastructure than building the product. That's not why good engineers take a job."

The migration took eight months and was uncomfortable in ways that were hard to explain to stakeholders who'd been sold on the microservices vision. But the outcome was measurable: deployment frequency went up, incident response time went down, and two engineers who'd been quietly interviewing elsewhere decided to stay.

Another engineering director at a developer tools company made a similar call around their CI/CD setup. The pipeline had grown organically over four years into something that took an average of 23 minutes to run a full build. Engineers had stopped running it locally. PRs sat open for hours waiting for green checks. The feedback loop had stretched so long that context-switching had become the default mode of work.

"A 23-minute build isn't a technical problem," he said. "It's a morale problem. Every time an engineer pushes a commit and then has to go do something else for twenty minutes, you've broken their flow. Do that enough times and the job stops feeling like building and starts feeling like waiting."

They cut the build time to under six minutes by simplifying the test suite, removing redundant steps, and consolidating services. The team noticed immediately.

The Symptoms Worth Paying Attention To

If you're trying to diagnose whether your stack is contributing to team fatigue, the signals are usually hiding in plain sight.

Pay attention to how people talk about deployments. If engineers describe them with anxiety, dread, or the kind of dark humor that masks genuine stress, that's a signal. Pay attention to how long it takes a new engineer to ship their first meaningful change. If it takes more than two weeks, the onboarding burden of your architecture is probably too high.

Look at where senior engineers are spending their time. If the most experienced people on your team are regularly pulled into infrastructure debugging, environment troubleshooting, or deployment rescue operations, your architecture is consuming expertise that should be going toward product problems.

And listen to the language people use when things break. If the default response to a production incident involves phrases like "we need to figure out which service caused this" or "I don't know how to test this locally," the system is telling you something.

Boring Is a Feature, Not a Failure

The engineers who've worked through this — who've been on the over-engineered team and the deliberately simple team — tend to land in the same place. The stack that lets you sleep is the stack that lets you build.

This doesn't mean never adopt new tools or never embrace architectural patterns that serve genuine scale needs. It means being honest about what you're optimizing for. If you're optimizing for the resume of your architecture rather than the wellbeing of the people maintaining it, you're going to pay for that — not in AWS bills, but in turnover, in exhaustion, in the slow erosion of the people who actually know how the thing works.

Code smell has a precise technical definition. But burnout is code smell too — it's a signal that something in the system is wrong, that the design is creating costs that don't show up in any metric until they show up in an exit interview.

The good news is that bad architecture is fixable. It's slower and less glamorous than building something new, but it's fixable. And the teams on the other side of that work tend to describe the experience with a word that's underrated in engineering circles:

Relief.

All Articles

Related Articles

Read the Logs: How Developers Are Ditching Observability Sprawl and Just Thinking Again

Read the Logs: How Developers Are Ditching Observability Sprawl and Just Thinking Again

Your App Shouldn't Need Wi-Fi to Work: The Case for Local-First Development

Your App Shouldn't Need Wi-Fi to Work: The Case for Local-First Development

Going Lean: Why Some Developers Are Ditching the Framework Stack Entirely

Going Lean: Why Some Developers Are Ditching the Framework Stack Entirely