Author: Simo
-

Healthy Systems Have Empty Queues
There is something deeply satisfying about a system that simply answers immediately. You click a button, something happens.You ask for data, it gives data. Cause and effect. Modern software architecture increasingly treats this as naive. Instead, systems are often built around queues from the beginning. Every action becomes an event, every event enters a broker,…
-

The Shape of Growing Systems
Software systems continuously evolve and absorb new requirements, which can lead to chaotic behavior (entropy). To maintain coherence, intentional design, containment strategies, and ongoing management are essential for healthy growth.
-

The Coming Dark Age of Programming
There is a quiet shift happening in programming. It’s the subtle thinning of craftsmanship. Tools are more powerful than ever, the barriers to entry lower than ever, and yet, paradoxically, the depth of understanding behind much of today’s software is disappearing. It feels less like progress and more like the early stages of a decline:…
-

Spreadsheets and LLMs: from Prototyping to Archaeology
Spreadsheets are among the most productive tools ever created. You can take a vague idea, and within minutes have something that resembles a working model. Same goes for LLMs. And both tools become problematic when people quietly start treating the prototype as the final system.
-

The Illusion of Concurrency
For the past two decades, the software industry has been marching in two directions at the same time. Hardware gravitated toward parallelism. We hit the limits of Moore’s law and CPUs stopped getting dramatically faster per core and, to compensate for this, started adding more cores instead. Four cores became eight. Eight became sixteen. Software, naturally,…
-

Planning: Mandatory
Planning is the deliberate act of deciding what matters, what comes first, and what can wait. Most failed software projects do not fail because the team lacked talent. They fail because they lacked a plan.
-

-

All Roads Lead to Latency: The Microservices Illusion
Microservices are often presented as an inevitable evolution of software architecture. The rationale goes something like this: once your codebase reaches a certain age or size, gravity itself pulls you toward service boundaries, containers, and a mesh of APIs because that’s the only way for to survive. Monoliths, they say, are the past. Microservices are…
