The Art of Network Engineering
← All posts
Blog

Why Most Network Designs Are Flawed

Jun 30, 2026by Andy Lapteff

Most network outages are not caused by hardware failures.

They're caused by decisions.

Not necessarily bad decisions. Often, they're completely reasonable decisions made under pressure, with incomplete information, competing priorities, and imperfect requirements. But over time, those decisions accumulate. Complexity layers on top of complexity. Temporary workarounds become permanent architecture. "Simple" requests quietly introduce operational debt.

Eventually, the network becomes fragile.

That was one of the most interesting themes in my conversation with James Bensley at AutoCon 5 in Munich.

James works in the service provider world, one of the most technically demanding environments in networking. Massive shared infrastructure. Endless overlays. Constant scaling pressures. Thousands of customers depending on systems that cannot simply "mostly work."

And yet, one of the biggest lessons from the conversation had nothing to do with protocols.

It was about thinking.

The Most Dangerous Phrase in Networking

At one point, James described repeatedly troubleshooting the same customer problems early in his career and eventually realizing something important:

"The issue keeps happening because there's a fundamental design flaw."

That realization changed the direction of his career.

A lot of engineers spend years becoming excellent troubleshooters. Fewer learn to step back and ask a harder question:

Why does this problem exist in the first place?

That shift, from fixing symptoms to questioning assumptions, is where architecture really begins.

"Simple" Requirements Rarely Stay Simple

One of the strongest parts of the conversation centered around requirements.

A customer asks for static IPs.

Simple enough, right?

Except James explained how experienced architects often push deeper using the "5 Whys" approach:

  • Why do you need static IPs?
  • What problem are you really trying to solve?
  • Is there a cleaner operational solution?
  • Are we solving the real issue, or just implementing the first idea someone suggested?

In many cases, the stated requirement is not the real requirement.

And that matters because every new feature, exception, overlay, workaround, or edge case increases operational complexity somewhere else in the system.

The network remembers every compromise.

Why Service Provider Networking Feels Different

Enterprise networking can already feel overwhelming.

Service provider networking operates at another level entirely.

You're not building isolated infrastructure for a single organization. You're building shared systems that have to support massive scale, overlapping services, vendor interoperability, automation frameworks, customer requirements, failover expectations, and business realities simultaneously.

Everything is connected.

Everything has tradeoffs.

Everything scales.

That environment forces engineers to think differently.

Not just:

"Does this work?"

But:

  • How does it fail?
  • How do we troubleshoot it?
  • How do we monitor it?
  • What operational burden does this create?
  • What happens in three years?
  • What breaks when customer growth doubles?
  • What assumptions are we making right now that we'll regret later?

Those are architecture questions.

The Industry Still Evolves Through Engineers

Another fascinating part of the discussion was hearing James talk about the IETF process and how networking standards continue to evolve.

It's easy to assume networking is "solved."

It isn't.

Operators encounter problems at scale. Vendors build around those problems. Researchers propose new approaches. Standards bodies refine ideas into RFCs. The cycle repeats.

The internet itself is still evolving because engineers continue discovering edge cases, operational gaps, and better ways to build systems.

That's an important reminder in an era where networking conversations increasingly get flattened into buzzwords and simplistic diagrams.

Real networks are messy.

The Engineers Who Grow Fastest

James' advice for engineers was simple:

  • Master the fundamentals
  • Lab constantly
  • Study how other operators solve problems
  • Join communities
  • Observe real-world designs
  • Stay curious

What stood out to me most was his emphasis on widening your aperture.

The engineers who grow fastest are usually the ones paying attention to how other people think. Different operators. Different architectures. Different constraints. Different tradeoffs.

Everyone has access to the same protocols and technologies.

What separates strong architects is how they reason about systems, requirements, operations, and long-term consequences.

That's the real skill.

And it's probably why so many networks keep breaking in the first place.