Introduction
A premium software-engineering knowledge base covering architecture, distributed systems, databases, .NET, and the patterns that hold systems together.
onsoftware.engineering is a technical knowledge base for software engineers who design, build, and operate real systems. Articles emphasize precise explanations, diagrams, and working mental models—not marketing copy or checklist tutorials.
What you will find
Content is organised by topic so you can go deep without losing the thread across related ideas:
| Section | Focus |
|---|---|
| Data Structures and Algorithms | Foundations that underpin performance and correctness |
| Architecture | System shape: modular monoliths, hexagonal design, event-driven flows |
| Distributed Systems | Coordination, hashing, and behaviour across machines |
| Scalability | Techniques for growing read and write capacity |
| Databases | Sharding, locking, and concurrency control |
| .NET | Practical guidance for the .NET platform |
| Programming Languages | Language concepts that transfer across stacks |
| Patterns | Recurring solutions and when to apply them |
How to read
Each article stands alone, but cross-links connect related material. Prefer reading for understanding over skimming: definitions, prerequisites, comparisons, and diagrams are there to make trade-offs explicit.
Conventions
- Precision over slogans. Terms are defined when they matter.
- Trade-offs over dogma. Few techniques are universally correct.
- Code that clarifies. Examples illustrate the idea; they are not production templates.
- Interactive where it helps. Some topics—such as consistent hashing—include visualisations so you can see remapping behaviour.
Start here
If you are exploring architecture and scale:
Welcome. Dig in.