Series · Day 100 of 100
Engineering Craft
- 015.5 years, 6 industries, one lesson in Engineering CraftE-commerce, transportation, tourism, trading, CRM and personalization — the stack changed every time. The problems didn't.Oct 27, 2026
8 min - 02A framework for system design interviews for productionThe same six steps I use for real designs and interviews.Oct 27, 2026
10 min - 03Back-of-the-envelope estimation: lessons from productionRough numbers prevent expensive architecture mistakes.Oct 27, 2026
6 min - 04Load balancing, explained simply: lessons from productionHow one server becomes many without users noticing.Oct 27, 2026
7 min - 05Scale up or scale out: a practical guide for developersBigger machines or more machines — and when each wins.Oct 27, 2026
7 min - 06Where to cache: browser to database in Engineering CraftEvery layer can cache. Each has a different cost of being wrong.Oct 27, 2026
9 min - 07Database indexes: a mental model — a step-by-step guideThe highest-return backend skill I know.Oct 27, 2026
7 min - 08SQL or NoSQL: choosing a database — a step-by-step guidePick by access patterns and consistency needs, not by trend.Oct 27, 2026
6 min - 09Read replicas: the fine print — best practices explainedFree read scaling — with one gotcha that bites everyone.Oct 27, 2026
6 min - 10Database sharding explained: what developers should knowWhat to do when one database is no longer enough.Oct 27, 2026
8 min - 11Consistent hashing in one minute: lessons from productionAdd or remove servers without reshuffling everything.Oct 27, 2026
9 min - 12CAP and PACELC without the jargon: a step-by-step guideWhat distributed databases really trade off.Oct 27, 2026
6 min - 13Strong vs eventual consistency: best practices explainedNot every piece of data needs to be correct instantly.Oct 27, 2026
9 min - 14Design a URL shortener: a practical guide for developersA small problem with every core system design concept inside.Oct 27, 2026
7 min - 15Generating unique IDs at scale: best practices explainedAuto-increment doesn't survive distributed systems.Oct 27, 2026
8 min - 16Design a rate limiter: a practical guide for developersProtect APIs from abuse and accidental overload.Oct 27, 2026
8 min - 17Idempotency: the API property nobody teaches in practiceNetworks retry. Users double-click. Your API must not double-charge.Oct 27, 2026
9 min - 18Design a news feed: a practical Engineering Craft guideFan-out on write, fan-out on read, and the hybrid that wins.Oct 27, 2026
9 min - 19Webhooks that don't lose data: best practices explainedLessons from Meta Lead Ads, Shopify and payment gateways.Oct 27, 2026
8 min - 20Design a ride-hailing backend: best practices explainedWhat I learned building live tracking and dispatch.Oct 27, 2026
8 min - 21Geospatial queries in practice: best practices explainedFinding nearby drivers, stores or venues efficiently.Oct 27, 2026
8 min - 22Design an e-commerce checkout: best practices explainedWhere reliability directly equals revenue.Oct 27, 2026
8 min - 23Preventing overselling: a practical guide for developersTwo customers, one item left.Oct 27, 2026
8 min - 24Designing multi-tenant SaaS: what developers should knowChoices I made building real multi-tenant products.Oct 27, 2026
8 min - 25Monolith first: the honest default in Engineering CraftMost products should start as a well-structured monolith.Oct 27, 2026
6 min - 26The hidden costs of microservices: a step-by-step guideWhat the architecture diagrams don't show.Oct 27, 2026
8 min - 27Find service boundaries in the business, explained simplySplit by business capability, not by technical layer.Oct 27, 2026
8 min - 28API design principles I follow: best practices explainedConsistent APIs save every client team time.Oct 27, 2026
8 min - 29HTTP status codes that matter: best practices explainedTen codes cover almost every API response.Oct 27, 2026
10 min - 30REST vs GraphQL vs gRPC for Engineering Craft developersThree API styles and where each shines.Oct 27, 2026
8 min - 31Backward-compatible API changes: lessons from productionRules that keep clients working.Oct 27, 2026
7 min - 32Designing a search feature: patterns, pitfalls and fixesFrom a LIKE query to a search engine.Oct 27, 2026
8 min - 33Full-text search in PostgreSQL: best practices explainedGood search without another system.Oct 27, 2026
6 min - 34Observability: logs, metrics and traces, explained simplyThree signals that answer different questions.Oct 27, 2026
10 min - 35SLIs, SLOs and error budgets: what developers should knowReliability targets the business can understand.Oct 27, 2026
7 min - 36Incident response at 3 AM: practical tips and trade-offsWhat a calm incident looks like.Oct 27, 2026
6 min - 37Blameless postmortems: a practical guide for developersAsk what failed in the system, not who failed.Oct 27, 2026
7 min - 38Failure is a feature: designing resilient systems explainedAssume every dependency will fail — then plan for it.Oct 27, 2026
8 min - 39Graceful degradation in practice: lessons from productionWhen something breaks, break a little — not everything.Oct 27, 2026
9 min - 40Zero-downtime schema changes, step by step: a deep diveChange the database while traffic keeps flowing.Oct 27, 2026
7 min - 41Dark launches: ship code, release later, explained simplyDeploy anytime. Release when ready.Oct 27, 2026
9 min - 42Anatomy of a solid CI/CD pipeline: a step-by-step guideEvery green checkmark is a promise.Oct 27, 2026
8 min - 43Trunk-based development for Engineering Craft developersShort-lived branches, frequent merges, fewer conflicts.Oct 27, 2026
7 min - 44A Git workflow for teams: a hands-on guide for engineersConventions that keep history useful.Oct 27, 2026
7 min - 45Write commit messages for future you in Engineering CraftA good message explains why, not just what.Oct 27, 2026
6 min - 46How I review code as a tech lead: lessons from productionReviews are for quality, knowledge sharing and mentoring.Oct 27, 2026
7 min - 47Small pull requests win for Engineering Craft developersA 200-line PR gets a review. A 2,000-line PR gets an approval.Oct 27, 2026
6 min - 48Technical debt: talking about it and paying it downDebt is a tool. Unmanaged debt is a tax.Oct 27, 2026
7 min - 49Keep a tech debt register: practical tips and trade-offsInvisible debt never gets prioritized.Oct 27, 2026
6 min - 50Architecture decision records: best practices explainedWrite down why, so nobody has to guess later.Oct 27, 2026
7 min
