Software Engineering Handbook¶
A personal reference for learning software engineering deeply enough to use it at work, put it on a CV, and trust it under pressure — not a cheat sheet, not interview cramming. Each page is written to actually teach its topic: a plain-language definition, why it matters, and worked examples with real numbers or a traced-through case, not just a name and a hint.
Use the sidebar reading order instead of reading files alphabetically. Cloud is a sequential tutorial; Tools and Knowledge are grouped from foundations to advanced topics.
Contents¶
- Cloud → VPS — Build a single-node k3s platform from a fresh VPS. GitOps, data services, and operations are grouped as separate subsections.
- System Design — The framework for approaching an open-ended design problem (requirements, capacity estimation, high-level design, deep dive, trade-offs), plus worked case studies that apply it end to end.
- Tools — Deep-dive tutorials on the tools actually used in practice (Docker, Kubernetes), with real config, diagrams, and best practices.
- Knowledge — Operating systems, networking, and databases, each covered in depth.
- Companies — Interview process and format notes, kept separate from the knowledge itself.
Navigation Convention¶
- File names describe topics and do not encode their reading order.
- The canonical navigation order is defined in
mkdocs.yml; folder-levelindex.mdfiles are not required.