m@ksim.pro
Back to all posts
IT 4 min read

API-first or integration spaghetti: the choice your architecture makes

Why the way your company's systems talk to each other determines growth speed and the cost of change.

When a company grows and adds systems - CRM, ERP, warehouse, customer portal, mobile app - sooner or later a moment arrives when any change in one of them causes problems in all the others. This is not bad luck. It is the result of a specific architectural choice that is almost always made by default, without any conscious decision.

I call this integration spaghetti. Every system knows about every other system directly, data flows in all directions through bilateral connections, and any new requirement adds another wire to the already tangled bundle.

What integration spaghetti looks like

Spaghetti is when system A calls system B directly, B knows about C and D, a change in C breaks both A and E, and a new contractor who comes to sort things out spends the first two weeks just figuring out what is connected to what.

Signs I consistently see in these architectures:

  • changing one system requires coordinating with two or three other teams;
  • there is no single place where all integrations are visible;
  • each integration is built differently - file exchange in one place, direct database queries in another, a queue somewhere else;
  • nobody knows exactly which systems depend on a given one.

This is not a problem of bad developers. It is the result of never having an explicit agreement about how systems should communicate.

What API-first changes

API-first is not a technology. It is a design principle: each system exposes an explicit, versioned contract for everyone who wants to work with it. No direct database access from the outside. No file exchange through a shared folder. Only the contract.

When systems communicate through explicit APIs, several things happen:

  • changes inside a system do not break its consumers as long as the contract is preserved;
  • a new system can be connected without knowing the internals of all the others;
  • integrations are visible, documentable, and testable;
  • responsibility is clear: if the contract is violated, it is clear who violated it.

This is a fundamentally different speed of change - not because the developers became smarter, but because the rules of interaction became explicit.

Why this matters to founders, not just architects

Architectural decisions have financial consequences. A company with spaghetti integrations adds new products more slowly, costs more to maintain, and is harder to scale or sell. Every new integration increases the cost of the next one.

A company with explicit API contracts between systems can add a new sales channel without touching the accounting system. Can replace the warehouse system without rewriting the CRM. Can hand part of the systems to an outside contractor without giving that contractor access to everything else.

This is not theory. It is what I observe in the speed differential between companies of comparable size.

When to start thinking about this

You do not need to wait for everything to break. A few signals that the conversation is overdue:

  1. Any new integration takes more than a month because of coordination, not because of the amount of work.
  2. Different departments get different numbers from different systems and argue about which ones are correct.
  3. Replacing one vendor requires reworking three other systems.
  4. There is no documentation for integrations - "only one person knows how this works".
  5. You are afraid to update systems because it is unclear what will break.

If three or more of these five points apply - the architecture conversation is already overdue.

A practical first step

Start not with a rewrite, but with an inventory. Draw on paper all the systems in your company and all the connections between them. Not a technical diagram - just a list: what exchanges data with what, and how.

That picture often becomes the argument for the next conversation by itself.

Back to all posts
Contact

If this resonated, write to me. I reply personally.

WhatsApp