Writing

Thoughts on the craft

Opinions and hard-earned lessons about systems, teams, and engineering at scale.

AIAI AgentsApache KafkaArchitectureBackend SystemsCDNCloudCo-IntelligenceDDDDDIADistributed SystemsDomain-Driven DesignEngineeringEvent StreamingFeynman TechniqueJPMSJavaLLMsLinuxMCPMachine LearningMicroservicesMonolithsNLPNetworkingPerformanceProductProductivityServerlessSoftware ArchitectureSoftware EngineeringSystem DesignVim

Join the Newsletter

Get deep-dive engineering guides and system design teardowns delivered straight to your inbox.

Powered by Substack. No spam, ever. Unsubscribe with one click.

JavaJPMSSystem Design

The Feynman Guide to Java Modules

For over two decades, Java developers lived with a dirty secret. The language that championed encapsulation with private, protected, and public had a gaping hole at the architectur…

26 May 20268 min read
Read
CDNSystem DesignNetworking

The Feynman Guide to Content Delivery Networks

Every time you load a webpage, stream a movie on Netflix, or scroll through your social media feed, there is a silent, invisible system working behind the scenes to make it feel in…

25 May 20268 min read
Read
Apache KafkaSystem DesignEvent Streaming

The Feynman Guide to Apache Kafka

Imagine a bustling corporate office in the 1990s. Every time the Sales department makes a deal, they have to physically walk a piece of paper over to the Accounting department. The…

30 Apr 20266 min read
Read
AI AgentsSystem DesignMCP

The Feynman Guide to the Model Context Protocol (MCP)

Imagine you have just bought a brand new, state-of-the-art home theater system. The speakers are incredible, the TV is 8K, and the receiver is top-of-the-line. There is just one ma…

29 Apr 20265 min read
Read
System DesignSoftware ArchitectureDDIA

How System Design Fails: A Visual Guide

System Design isn't just about drawing boxes and arrows on a whiteboard. It's about predicting how things will inevitably break and engineering around those failures. When you sc…

28 Apr 20264 min read
Read
Software ArchitectureSystem DesignMicroservices

The Feynman Guide to Software Architecture

Software Architecture often sounds like a mystical art practiced by gray-bearded wizards in ivory towers. In reality, it's just about making the hard decisions—the ones that are di…

25 Apr 20265 min read
Read
MicroservicesArchitectureDistributed Systems

Why most microservices architectures fail

You have almost certainly worked in a codebase that someone called a "microservices architecture" — and you have almost certainly thought: this is worse than a monolith. You are n…

18 Apr 202612 min read
Read
LLMsAI AgentsCo-Intelligence

The Feynman Guide to Co-Intelligence

Imagine walking into a library where the books have literally read themselves. They’ve absorbed every word, every comma, and every rhythmic cadence of human thought. But there’s …

16 Apr 20264 min read
Read
VimEngineeringProductivity

VIM: The Feynman Guide

Have you ever seen a senior engineer navigate a codebase with lightning speed, their hands never leaving the center of the keyboard, without a mouse in sight? They are likely using…

14 Apr 20264 min read
Read
AILLMsMachine Learning

Large Language Models: The Feynman Guide

Have you ever wondered how ChatGPT or Claude seems to "understand" you? To many, it feels like magic. To others, it's just "fancy autocomplete." But if we peel back the layers an…

11 Apr 20265 min read
Read
System DesignArchitectureDomain-Driven Design

Domain-Driven Design: The Feynman Explanation

If you've been in software engineering long enough, you've likely encountered a codebase that feels impossible to understand. A simple feature request—like adding an urgent tag to …

10 Apr 20266 min read
Read
System DesignArchitectureServerless

Serverless Computing: The Feynman Explanation

Serverless is one of those buzzwords that gets thrown around constantly in modern software engineering. If you read the marketing materials, it sounds like some kind of magic that …

10 Apr 20266 min read
Read
System DesignArchitectureMicroservices

Microservices vs Monoliths: The Feynman Explanation

If you spend enough time around software engineers, you'll eventually hear a heated debate about Monoliths versus Microservices. People argue about them as if choosing the wrong on…

9 Apr 20266 min read
Read
PerformanceProductBackend Systems

Performance is a product feature

Performance is a product feature There is a mental model that corrupts how most engineering teams think about performance: > "Functional requirements first. Non-functional requir…

1 Mar 20254 min read
Read
ArchitectureMicroservicesEngineering

Modular monolith vs microservices: a practical guide

Modular monolith vs microservices: a practical guide The debate usually goes like this: > "We should move to microservices. Monoliths don't scale." Or the backlash: > "We shoul…

10 Feb 20255 min read
Read