04 — Software Engineering
General software engineering knowledge supporting all technical work in the vault. Covers the full development lifecycle from design principles through to AI-assisted tooling, with depth in Python, Go, TypeScript, distributed systems, APIs, databases, testing, and DevOps.
Guiding question: “How do we build robust software systems?”
This layer does NOT cover: statistical derivations (→ 01_foundations), model algorithm selection (→ 03_modeling), ML production systems (→ 05_ml_engineering), or LLM system design (→ 06_ai_engineering).
Sublayers
01 — Principles & Patterns
SOLID, design patterns, and clean code practices that govern how good software is structured.
02 — Programming Languages
Language reference notes for Python, Go, JavaScript, and TypeScript.
- Python — core language, data model, async, tooling
- Go — types, concurrency, interfaces, packages
- JavaScript — core language, async, modules, runtimes
- TypeScript — type system, generics, utility types
03 — System Design
Fundamentals of designing large-scale distributed systems: CAP theorem, consistency, scalability, and availability trade-offs.
04 — APIs & Services
REST API design, FastAPI patterns, gRPC and Protobuf.
05 — Databases & Storage
SQL, NoSQL, and caching patterns for persistent data management.
06 — Testing & Quality
Testing strategies, TDD, property-based testing, and quality gates.
07 — DevOps & Infrastructure
Docker, Kubernetes, CI/CD pipelines, ML framework tooling, Git internals, and GitHub workflows. Version control content lives here.
08 — Security
Defensive engineering patterns: filesystem sandboxing, authentication, and trust boundary enforcement.
09 — AI-Assisted Software Engineering
LLM code generation, MCP protocol, RAG for code, and agentic coding workflows.
Relationship to Other Layers
- ← Modeling — algorithm and model families that SE implements
- → ML Engineering — production ML systems built on SE patterns
- → AI Engineering — LLM systems and AI app architecture
- → Reference Implementations — concrete end-to-end examples synthesizing SE patterns
Navigation: ← Modeling | Start with Principles & Patterns →