Software architecture is not about patterns
Most software architecture books answer questions no one asked.
They give you microservices, serverless, event sourcing, and service mesh. They give you layers, events, micro-kernels, brokers, and mediators. They give you compensating transactions, context maps, and diagrams.
Those are real things. They are patterns for specific problems. But they are not architecture itself. Knowing the terms is not the same as making a decision.
The right questions
- What is the real problem?
- What does this system do for its users?
- What happens when it breaks?
- What does failure cost?
- What is the simplest thing that could work?
- Which choices are hard to undo?
- What can the team build and run?
Those are the fundamentals.
The rest is detail.
The details can wait
When a requirement is not clear, do not guess. Ask what business outcome it serves. Ask which constraints come from the real world and which come from the existing system.
Model the domain before the data.
Draw a context diagram first. Then peel the onion.
Write down every choice. Capture the why, not just the what.
You cannot optimize everything. Pick the qualities that matter. Drop the ones that do not. If everything is a priority, nothing is.
Start simple and battle-tested
The best architecture is one the team can understand, build, and maintain.
Trendy is not an advantage.
Start with what is proven. A relational database. A monolith on a single server. A single region with backups.
Boring choices scale far more than you think. But the real reason to choose them is maintenance. They are also cheap to run.
Move to more complex architectures only when the problem truly forces you.
Build for your problems and your scale, not Google’s, Meta’s, Anthropic’s, or OpenAI’s.
Complex architecture has its place. Most teams do not need it.
The point
The goal is not an impressive diagram. It is software that solves the problem. Easy to live with. Easy to test. Easy to deploy. Easy to reason about.
Architecture is not about using or knowing every pattern.
It is about making the right bet and leaving room to change your mind.