engineering
API Design
How to design APIs that are predictable, consistent, and easy to build on — naming, versioning, errors, pagination, and more.
Database Fundamentals
A database stores and organises your app's data. This guide explains SQL vs NoSQL, when to use each, core concepts like indexes and transactions, and how to get started.
Message Queues and Async Processing
Message queues let your app offload slow work to the background so users get fast responses. This guide explains queues, pub/sub, workers, and key patterns like idempotency and dead letter queues.
Networking Essentials
What actually happens when a request travels across the internet — DNS, TCP, TLS, HTTP versions, and CDNs explained for builders.
Observability Deep Dive
The three pillars of observability in depth — logs, metrics, traces — plus OpenTelemetry, correlation IDs, and SLO-based alerting.
Rate Limiting and Throttling
Rate limiting caps how many requests a client can make in a given window. It protects against abuse, runaway costs from paid APIs, and accidental self-inflicted overload.
Resilience and Fault Tolerance
Resilience is designing your app so that when parts fail — and they will — failures stay contained instead of cascading into a full outage. This guide explains timeouts, retries, circuit breakers, and graceful degradation.
Scalability Patterns
Scalability is a system's ability to handle growing load without a rewrite. This guide explains vertical vs horizontal scaling, statelessness, caching, queues, and when to reach for each pattern.
Secrets and Config Management
Every app has settings that change between environments and sensitive values that must never leak. This guide explains the difference between config and secrets, where each should live, and how to manage rotation.
SRE and Incident Management
Site Reliability Engineering — how to set reliability targets, manage incidents calmly, and run blameless postmortems so reliability compounds over time.
System Design Basics
System design is how the individual parts of your app — database, cache, queue, and APIs — fit together into something that's fast, reliable, and able to grow. This guide covers the core building blocks and the decisions that shape every system.
Testing and QA
Automated testing lets you ship fast without breaking things. This guide explains the test pyramid, types of tests, how they fit into CI/CD, and how to get started without overcomplicating it.
WebSockets and Real-Time Communication
WebSockets and Server-Sent Events let your app push data to users without them having to ask for it. This guide explains polling, SSE, and WebSockets — with examples and guidance on when to use each.