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…
Opinions and hard-earned lessons about systems, teams, and engineering at scale.
Get deep-dive engineering guides and system design teardowns delivered straight to your inbox.
Powered by Substack. No spam, ever. Unsubscribe with one click.
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…
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…
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…
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…
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…
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…
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…
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 …
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…
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…
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 …
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 …
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…
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…
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…