Series
Long-form, structured journeys through complex topics — read from start to finish or jump to any part.
10 parts
Agent Engineering
A precise anatomy of the agent loop—observe, plan, act, repeat—and the practical conditions that determine when an agent should stop.
View all parts →10 parts
API Design Mastery
Learn how to model API resources as nouns, not verbs, to build intuitive, scalable REST APIs that developers actually want to use.
View all parts →10 parts
Building Production RAG
Before you write a single line of RAG code, you need to be ruthlessly honest about what problem you're solving and whether your data can actually solve it.
View all parts →10 parts
Cloud Cost Engineering
A practitioner's guide to decoding AWS line items, untangling allocation, and surfacing the hidden services that silently drain your budget.
View all parts →10 parts
Database Internals for App Engineers
Understand how row-oriented and columnar storage engines work under the hood so you can pick the right one for your workload—before you hit production.
View all parts →10 parts
Domain-Driven Design Without the Book Club
A practical map of when to use strategic DDD tools versus tactical patterns so you spend each week on the right problem.
View all parts →10 parts
Engineering Leadership for Staff-Plus
What the staff+ transition actually changes about your day, your deliverables, and your identity as an engineer.
View all parts →10 parts
Event-Driven Architecture
A practitioner's decision framework for knowing when event-driven architecture pays off—and when it just adds complexity.
View all parts →10 parts
Frontend for Backend Engineers
How backend engineers can rewire their thinking from request/response cycles to render trees and declarative UI.
View all parts →9 parts
Go for JVM Engineers
How Go's structural typing, value semantics, and absence of class hierarchies force a productive rethink for JVM engineers.
View all parts →
18 parts
Java Release Features
Explore lambda expressions, streams, and functional interfaces that transformed Java development.
View all parts →10 parts
Kafka in Production
How to calculate broker count, disk requirements, and replication overhead before you write a single line of producer code.
View all parts →10 parts
Kubernetes Without the YAML Stockholm Syndrome
A hard look at whether Kubernetes is the right tool for your team before you spend six months configuring it.
View all parts →17 parts
Legacy Modernization
How to define modernization objectives, model ROI, manage risk, and secure executive sponsorship with a pragmatic AI-assisted playbook.
View all parts →10 parts
MCP Deep Dive
Custom AI plugins fail at scale — MCP is the protocol that finally separates tool definition from model coupling.
View all parts →10 parts
Observability in Depth
Why events deserve first-class status alongside logs, metrics, and traces — and how to instrument them without drowning your pipeline.
View all parts →10 parts
Platform Engineering from Zero
A no-spin look at when a platform engineering team actually earns its keep — and when it becomes expensive overhead nobody asked for.
View all parts →10 parts
Postgres for Backend Engineers
GIN, GiST, BRIN, partial, and expression indexes explained through the workloads that actually need them.
View all parts →10 parts
Python for the JVM Engineer
Understand how CPython executes your code — bytecode, the eval loop, and where it diverges from the JVM you already know.
View all parts →9 parts
Rust for Backend Engineers
A pragmatic look at what Rust actually buys you on the server — and what it costs.
View all parts →10 parts
Security for Application Engineers
Apply STRIDE to every epic before a line of code is written, keeping threat modeling lightweight enough that engineering teams actually do it.
View all parts →10 parts
System Design Interviews, Real
Before drawing a single box, learn how to decode interviewer intent, disambiguate scope, and pick up on the signals that separate a great start from a mediocre one.
View all parts →