How we accidentally built for scale — and why it workedDo you design for the users you have today or the millions you hope will come tomorrow?2d ago2d ago
The key to learning? Ask better questions and get faster answersI sat on the internal Microsoft developer forum where two questions were asked back-to-back. The first read: API doesn’t work. Does anyone…Nov 12Nov 12
Discovering and discussing the distinctive components in System DesignEvery large-scale system evolves step-by-step. Each phase builds confidence that what we’re designing will actually meet user, business…Nov 11Nov 11
How the best engineers validate a design before implementationThe costliest mistakes happen before a single line of code is written. I’ve seen it across teams and stages from startups under pressure to…Nov 6Nov 6
Lessons I wish I knew before my first System Design projectThe first System Design diagram I drew was a mess. I stood at a sketchboard, marker in hand, as a senior engineer asked me to design a push…Nov 5Nov 5
Here’s what AI coding can’t do (yet)I like tools that help me ship. AI helps. It drafts a function, sketches a test, and turns a blank file into a starting point. But sooner…Nov 4Nov 4
My method for translating architecture into build-ready designsI have lost count of how many times a clean System Design diagram with neat boxes and arrows on a blueprint has turned into a chaotic…Nov 3Nov 3
Your first editor skills: Search, replace, and navigate fastI still remember one of my first interviews at Microsoft, not as a candidate, but as an interviewer. We asked the candidate to make a small…Oct 28Oct 28
Designing APIs that connect systems with easeIn the previous blog, we explored how high-level design decisions shape a system’s foundation by defining components, their…Oct 27Oct 27
Why I embrace eventual consistency (and the few times when I don’t)In distributed systems, every design comes with certain trade-offs. The CAP theorem is one of the most fundamental frameworks for…Oct 22Oct 22