Learning
A small set of notes on software design and delivery. One topic at a time, written to be used.
Start with the Software Engineering Manifesto — a checklist of principles for building distributed systems. Then dive into topic series: microservices, event-driven & Kafka, Elasticsearch, Kubernetes, CI/CD, DevOps, Twelve-Factor, and SLI/SLO.
Sections
- Software Engineering Manifesto
Universal principles for building and changing distributed systems — each with practices to follow and smells to reject. A living checklist for teammates.
- Event-driven & Kafka
When events beat request/response — and how to design, publish, consume, and operate Kafka without building a distributed mess.
- Microservices
What a senior engineer needs to get right — boundaries, data, communication, consistency, resilience, security, contracts, observability, and safe change.
- Elasticsearch
Search and analytics that scale — mappings, indexing, queries, relevance, shards, and operations seniors get right before the cluster becomes the bottleneck.
- Kubernetes
A practical map of Kubernetes for seniors — architecture, workloads, scheduling, networking, storage, security, extensibility, and day-2 operations.
- CI/CD
Continuous integration and delivery that seniors trust — pipelines, artifacts, tests, promotion, progressive delivery, and supply-chain security.
- SLI/SLO
Service level indicators and objectives that seniors use — choosing signals, setting targets, error budgets, burn alerts, and avoiding dashboard theater.
- DevOps
Concepts and practices that make build-and-run one job — culture, flow, IaC, feedback, toil reduction, and platform thinking for seniors.
- Twelve-Factor
The twelve-factor app methodology for cloud-native services — config, build/release/run, processes, logs, and how the factors hold up on Kubernetes today.