
Modular Monolith Architectural Style
The modular monolith is a mythical beast of software architecture. While it sounds simple enough – single deployed unit, separated in modules – it’s rarely seen in practice as it very quickly devolves into spaghetti code or a big ball of mud. In this video, Alex explains a few important considerations for modular monoliths:

Signals and Experiments in Software Design and Architecture
A new essay by Rebecca Wirfs-Brock and Mattias Verraes was published on Rebecca’s blog, and it’s very insightful. Alex reacts and comments on the signals for software design and software architecture and on the need for experiments for exploring the design space. Links:

What If We Invented Programming After LLMs?
In this video, Alex asks an interesting question: what if we invented programming now, after we have LLMs and AI agents? Would we program in the same way? Would we still need programming languages? Would testing become more important than programming? And where is software development headed next?

Programming with AI – Experience Report
Alex is reporting on his experience using ChatGPT, Claude, DeepSeek-R1 and Github Copilot for various programming tasks and compares it with Elisabeth Hendrickson’s experience report. The conclusion: these tools have an amplifying effect for existing skills, rooted in both the ease of access to knowledge (even imperfect) and the psychological effect of knowing that you […]

Cell Architecture – Overview and Trade Offs
Cell architecture has recently risen to prominence due to the Slack use case and promotion by AWS. However, it is an older style of architecture (circa 2012) and the trade-offs are not discussed enough. In this video, Alex looks at what is cell architecture, when it is useful, and the trade-offs that you need to […]

Clean code vs A Philosophy of Software Design
John Ousterhout and Robert C. Martin just published the results of a conversation about their different philosophies on software design, and it’s a very interesting document. Alex reacts to their conclusions and discusses the nature of conversations on software design: Links: