Muhammed Senussi
Muhammed Senussi
  • Muhammed Senussi
The Case for Starting With a Monolith in 2026Software Architecture

On day one you know least about the domain you are modelling. That is precisely when service boundaries are hardest to place and most expensive to move.

Modular, singular

Enforce module boundaries inside one deployable: separate packages, no cross-module imports except through a published interface, and a build-time check that fails the pull request when someone reaches through. You get the discipline of separation with the ability to refactor a boundary in an afternoon rather than a quarter.

When a module genuinely needs its own scaling profile, its own release cadence or its own team, extracting it is a mechanical exercise — because you already know where the seams are. That is the moment to pay the distribution cost, and not before.

2 Comments

  • Lotte Jansen

    February 17, 2026

    The build-time check is what separates this from "monolith with good intentions". Without it the boundaries erode within a quarter.

    • Muhammed Senussi

      Muhammed Senussi

      AuthorFebruary 17, 2026

      Every single time. The check is maybe thirty lines of configuration and it is the difference between a modular monolith and a big ball of mud with a folder structure.

Leave a comment