Software Architecture Guide

laxmena 35 points 12 comments June 14, 2026
martinfowler.com · View on Hacker News

Discussion Highlights (5 comments)

YZF

The problem is that bad architecture can be carried forward for a very long time at increasing cost. The ability to differentiate good and bad architectures seems to be a lost art because to build this ability you need to have enough experience (e.g. the discussion in "The Mythical Man-Month"). Most software developers today have had no experience designing even a single system and many systems are often a random assortment of stuff thrown together by people without enough experience. What I call the "sort of works" architecture. It has big gaps but it sort of works and so there is continuous investment in trying to make it good, which is often a waste of time. You've lumped a bunch of stuff together to build something and now you're stuck with it. AI as it is right now is probably a driver to make this worse because it makes it so much easier to throw random stuff together.

gurjeet

Needs the [2019] suffix.

csbartus

In my 30+ years of SWE/SWA career this is the first time I can harvest the benefits of a well defined and exactly implemented architecture. Thanks to LLMs. Before LLMs even if the architecture principles were simple and clear, distilled into templates + codegens added for boilerplate / skeleton generation ... It was impossible to follow them on the long run. Devs tried their best, but on the long run everything eroded and there were no resources for refactoring. Now, with coding agents, I was able to create a production grade app following a similar architecture to Presentation Domain Data Layering, from this article. Now the codebase is 100% uniform both in content (code) and structure (files and folders). It's like being written by a single person. Finding a specific file takes a second with no cognitive load. Editing a file is straightforward since every file follows a specific template. LLMs have benefits and drawbacks, and in this case their help is enormous.

aleksiy123

If writing code is tactics and the end goal is strategy. Is architecture operations?

aljgz

"We create products and services that we are proud of" This was one of the 3 core values in the best company I ever worked for. One I would never leave, if the region was not heading for a disaster. Good architecture transcends the software: enables people to be their best, evolve the software to better match the reality of its reason for existence. In an effective organization, people constantly exceed their own expectations. They debate alternatives, understanding the reality of momentum, but aiming for an infinitely long living product. They identify the "main problem", find ways to best solve that. A good architecture does not do much more than what's needed, but avoid unnecessary assumptions that would block future development. It is vague, philosophical, pragmatic, challenging, rewarding.

Semantic search powered by Rivestack pgvector
10,416 stories · 97,847 chunks indexed