The Hidden Cost of Systems That Cannot Agree on Shape

Mert Nuhoglu

Hatched by Mert Nuhoglu

Apr 19, 2026

11 min read

68%

0

What if your biggest infrastructure problem is not scale, but ambiguity?

Most teams think infrastructure pain comes from one of two places: cost or performance. But there is a third problem hiding underneath both, and it is usually the one that quietly multiplies every other headache: ambiguity. When data has no stable shape, every downstream system has to guess. When a network is designed as a patchwork of local decisions, every driver has to improvise. The result is the same in both software and physical infrastructure: you pay forever for decisions that were never made clearly at the start.

That is why two seemingly unrelated ideas belong in the same conversation. One is the push to stop sending freeform JSON around and adopt schema driven development. The other is the old lesson embedded in road planning, visible in the way American cities often reveal decades of ad hoc design choices. In both cases, the deeper issue is not merely technical elegance. It is whether a system has a shared, enforceable structure that allows it to grow without becoming incoherent.

The surprising insight is this: cheap systems are not just the ones that use less money, but the ones that reduce interpretation costs. A system that is cheaper to run, cheaper to understand, and cheaper to extend is almost always a system that makes fewer things negotiable.


Freeform flexibility feels cheap until the bill arrives

Freeform JSON is seductive because it lets teams move quickly. Need to add a field? Just add it. Need to ship a new event type? Just send it. Need to integrate another service? It can figure it out later. That kind of flexibility feels like speed, and at the beginning it often is.

But flexibility without shape is not freedom. It is deferred coordination. Every producer starts making private assumptions, every consumer writes defensive parsing code, and every new service becomes a forensic investigation into what the data might mean. Soon the organization is spending more time translating messages than acting on them.

The same pattern appears in infrastructure economics. A messaging platform that looks inexpensive on paper can become costly because every byte must travel, every replication path must be maintained, and every operational choice reverberates across availability zones. A more radical design can reduce those costs by changing the underlying storage and routing assumptions, but it only works if the system is also simple enough to operate and reason about. Cost does not disappear. It moves.

This is the crucial connection: when a system tolerates ambiguity, the hidden bill shows up in three places at once.

  1. Engineering time, because teams write more glue code.
  2. Operational complexity, because systems are harder to run and debug.
  3. Organizational confusion, because no one shares a stable contract for what things mean.

Freeform systems are often praised for developer convenience. But convenience for the sender can become permanent burden for everyone else. The longer this goes on, the more the organization becomes like an overbuilt interchange with no coherent road hierarchy: each new lane solves a local problem while making the whole network harder to navigate.

A system that lets everyone speak in their own dialect will eventually force everyone else to become a translator.


Roads, schemas, and the tyranny of local optimization

Why bring roads into a conversation about data infrastructure? Because road planning is one of the clearest physical examples of what happens when local decisions outrun shared structure. A road network is not just pavement. It is a protocol for movement. It tells drivers where to go, how to merge, how to turn, and what kinds of conflicts are acceptable.

When a road system is designed piecemeal, the visual result can look chaotic, but the deeper problem is functional. Drivers cannot build reliable expectations. Navigation becomes error prone. Congestion concentrates at edges where incompatible design choices meet. Every unexpected intersection is a small schema violation in asphalt form.

That is why iconic photos of American road planning often resonate so strongly. They expose a truth that applies equally to software architecture: systems reveal whether they were designed as a whole or assembled from exceptions. A beautiful map is not one with the most roads. It is one where the roads are legible, predictable, and compatible with the kinds of movement they are meant to support.

Schema driven development works for the same reason. A schema is not bureaucracy for its own sake. It is a contract that preserves legibility over time. It says: this field means this, this event carries that, and if we change something, we will change it deliberately. Without that contract, every integration becomes a local road project, built to satisfy the immediate need while creating long term friction elsewhere.

Think of the difference between a city with a clear grid and a city with a tangle of private driveways, dead ends, and surprise merges. Both can move cars. Only one scales gracefully. The grid is not more rigid because it hates creativity. It is more rigid because it understands that coordination is a public good.

This is the heart of the synthesis: schema is to data what road hierarchy is to traffic. It is not merely about control. It is about making movement possible without continuous negotiation.


The real value of cheap systems is not price, it is predictability

When people hear that a modern streaming or storage platform can reduce costs by leaning on cloud primitives such as object storage, they often focus on the headline savings. That is understandable. But the deeper prize is not just lower spend. It is that the system can become simpler to deploy, simpler to scale, and simpler to reproduce locally.

That matters because predictability is the force multiplier behind all sustainable infrastructure. If a system autoscales cleanly, if it can go from zero to massive throughput without operator intervention, and if the same binary can run on a developer laptop, then the team is no longer forced to maintain separate mental models for development, staging, and production. The system has a smaller translation surface.

This is where schema driven development becomes more than a data discipline. It becomes an operational discipline. A schema makes events portable across environments because it reduces the amount of context each consumer must infer. If the transport layer is cheap and the payloads are explicit, then teams can spend less energy coordinating the medium and more energy coordinating the meaning.

That combination is powerful. A simple infrastructure substrate plus a strict data contract creates a system that is both economical and intelligible. Without the contract, cheap infrastructure just accelerates confusion. Without cheap infrastructure, strong contracts can still leave you with brittle, expensive plumbing. The best systems solve both problems at once.

Here is a useful mental model:

  • Infrastructure answers: How do bytes move?
  • Schema answers: What do the bytes mean?
  • Operations answers: Can humans reliably keep this true as the system grows?

A lot of organizations overinvest in the first question and underinvest in the second. They chase throughput, cost optimization, and deployment tricks, then wonder why every team still spends its time debugging mismatched assumptions. But a fast highway is useless if every car has a different map.

Speed without shared meaning is not scalability. It is just faster confusion.


Why ambiguity becomes expensive exactly when teams get successful

At small scale, ambiguity can look harmless. A couple of services can tolerate loose conventions. A handful of engineers can remember the quirks. A few producers can coordinate informally over chat. In that phase, strict schemas can even feel slower because they require upfront agreement.

Then growth happens.

A new team joins. A third consumer appears. An analytics pipeline starts depending on fields nobody thought were important. Someone renames a field because it seemed cleaner. Another team interprets null differently from missing. Suddenly the system is not merely messy. It is politically fragile. Everyone depends on everyone else, but no one has a dependable way to know what will break.

This is why ambiguity scales like debt with compound interest. Each small deviation seems local, but the integration surface grows faster than the memory of the original intent. Eventually the organization spends enormous effort preserving compatibility with behavior that was never formally specified.

Road systems tell the same story. A road built for one neighborhood may be fine in isolation, but as traffic grows, the lack of hierarchy becomes painful. Too many intersections, too many conflicting priorities, too many places where drivers must improvise. The infrastructure no longer merely carries traffic. It shapes behavior by making certain patterns inevitable.

Software systems do this too. If the data layer is freeform, teams will eventually create their own conventions, their own retry rules, their own field meanings, and their own assumptions about order and duplication. Those private conventions become invisible infrastructure. And invisible infrastructure is the most expensive kind, because nobody budgets for it until it breaks.

The lesson is not that flexibility is bad. The lesson is that flexibility should live at the edges, not in the contract. Users can choose how to interpret a stable road network. Teams can innovate on top of a stable event schema. But the base layer must stay legible, or the whole system degrades into a series of expensive negotiations.


An operating principle: reduce the number of things that can be misunderstood

If we combine the lessons from infrastructure cost, schema design, and road planning, a strong principle emerges: the best systems minimize the number of ways they can be misread.

This is broader than serialization formats or networks. It applies to organizational design, product APIs, operational playbooks, and even meeting culture. Whenever you reduce ambiguity, you reduce the need for constant human translation. And every time you remove a translation layer, you make the system faster, cheaper, and more resilient.

There is a useful test for any growing system:

  • Can a new team use it without tribal knowledge?
  • Can a new consumer interpret messages without asking the sender what they meant?
  • Can the system scale without introducing hidden coordination work?
  • Can the architecture be explained in one diagram without asterisks everywhere?

If the answer is no, the problem may not be complexity in the abstract. The problem may be uncodified shape.

Here, schema driven development is not about forcing every event into an aesthetic box. It is about making the shape visible so that it can be depended on. That visibility is what allows cheaper infrastructure to stay cheap, because the organization no longer pays for guesswork on top of transport.

Imagine a city where street signs, lane markings, and road classes were optional, and each neighborhood just did whatever seemed locally convenient. The city could still function for a while. But every delivery route would need custom instructions, every emergency response would be slower, and every new resident would be confused. Now imagine that same city with a clean road hierarchy, consistent signs, and well understood rules. The roads do not prevent movement. They enable it.

That is what good schemas do for data.


Key Takeaways

  1. Treat ambiguity as a hidden tax. If your data format or infrastructure leaves meaning open to interpretation, you will pay later in debugging, rework, and coordination overhead.

  2. Use schemas as contracts, not decorations. A schema should define what can be trusted across teams and across time. It is the equivalent of road markings in a traffic network: not optional, not cosmetic.

  3. Optimize for predictability, not just speed. Cheap storage or fast deployment matters most when the system remains legible as it scales. Predictability is what keeps cost savings from evaporating into operational chaos.

  4. Put flexibility at the edges. Let teams innovate in how they consume, analyze, and present data, but keep the core event contract stable. Shared shape should be boring.

  5. Ask where your system requires translation. Every place that human beings must guess meaning is a place where cost will accumulate. Remove those guesses wherever possible.


The deeper lesson: scalable systems are legible systems

We often talk about scale as though it were mostly a matter of volume: more traffic, more data, more requests, more users. But scale is really a matter of coordination. The question is not just whether your system can handle more. It is whether it can remain understandable while handling more.

That is why the most durable systems are rarely the most permissive ones. They are the ones that define boundaries clearly enough for people and machines to cooperate without constant negotiation. Cheap infrastructure helps. So does simple deployment. But neither can rescue a system whose meaning is left to interpretation.

The road planning analogy matters because it reminds us that structure is not the enemy of movement. It is movement made reliable. The schema analogy matters because it reminds us that data is not just bytes in transit. It is an agreement about reality. And when that agreement is vague, the organization spends its future compensating for the silence of the present.

The next time a team says, let us just send JSON and figure it out later, the better question is not whether that will work today. It is whether you want to build a world where everyone must keep guessing tomorrow.

In the end, the real breakthrough is not cheaper Kafka, faster roads, or stricter schemas in isolation. It is the recognition that the cheapest system is the one that makes meaning explicit before scale turns confusion into infrastructure.

Sources

← Back to Library

Hatch New Ideas with Glasp AI 🐣

Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)

Start Hatching 🐣