Software engineering is where computer science meets craft - the discipline of turning ideas into reliable, maintainable systems. These notes cover the recurring patterns, architectural decisions, testing strategies, and tooling that shape professional software development.

Design Principles

Architecture & Patterns

Testing & Quality

Maintaining a Codebase

Version Control

DevOps & Deployment

Running Systems in Production

More coming - containerization. The language-and-tooling half of this area lives in the Languages: Common Concerns cluster: build systems and dependency management and declarative configuration and idempotence. This section keeps the pipeline-and-platform half.


The full file listing follows below, generated automatically by Quartz.