Skip to main content

Series

Long-form, structured journeys through complex topics — read from start to finish or jump to any part.

Agent Engineering

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 →
API Design Mastery

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 →
Building Production RAG

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 →
Cloud Cost Engineering

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 →
Database Internals for App Engineers

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 →
Domain-Driven Design Without the Book Club

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 →
Engineering Leadership for Staff-Plus

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 →
Event-Driven Architecture

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 →
Frontend for Backend Engineers

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 →
Go for JVM Engineers

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 →
Java Release Features

18 parts

Java Release Features

Explore lambda expressions, streams, and functional interfaces that transformed Java development.

View all parts →
Kafka in Production

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 →
Kubernetes Without the YAML Stockholm Syndrome

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 →
Legacy Modernization

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 →
MCP Deep Dive

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 →
Observability in Depth

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 →
Platform Engineering from Zero

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 →
Postgres for Backend Engineers

10 parts

Postgres for Backend Engineers

GIN, GiST, BRIN, partial, and expression indexes explained through the workloads that actually need them.

View all parts →
Python for the JVM Engineer

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 →
Rust for Backend Engineers

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 →
Security for Application Engineers

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 →
System Design Interviews, Real

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 →