Software Engineering Practice
Parts I–VI covered what to build. This Part covers the disciplined practices that determine whether it can be built reliably, maintained by a team, and shipped safely — version control, testing, CI/CD, containerization, and the architectural patterns that keep a growing codebase manageable.
Start Part VII — 7.1Git & Version Control
The foundational tool underneath every other practice in this Part.
7.2GitHub Workflows & Collaboration
The social and procedural layer on top of Git's technical foundation.
7.3Documentation (README, CHANGELOG, LICENSE)
The files that determine whether a stranger — or a future version of the same team — can actually use the codebase.
7.4Testing Fundamentals
The difference between "I think this works" and "I can prove this works, repeatedly, automatically."
7.5CI/CD Pipelines
The automated assembly line that turns a committed change into a live deployment.
7.6Docker & Containerization
The technology behind "it works on my machine" no longer being an acceptable excuse.
7.7Kubernetes & Orchestration
What manages hundreds of containers when Docker alone only knows how to run one.
7.8Deployment Platforms
Cloudflare, Vercel, Netlify, AWS, Azure, GCP — the decision that shapes almost every other infrastructure choice.
7.9Design Patterns
Named, reusable solutions to problems every non-trivial codebase eventually encounters.
7.10Architecture Patterns
MVC, Clean Architecture, DDD, CQRS, Event Sourcing — the shape of an entire codebase, not just one piece of it.
7.11Semantic Versioning & Release Management
A version number that actually communicates something, rather than just incrementing arbitrarily.
7.12Refactoring & Code Quality
The closing chapter of this Part — how a codebase stays workable as it grows, rather than accumulating debt silently.