Everything I know about good system design
I see a lot of bad system design advice. One classic is the LinkedIn-optimized “bet you never heard of queues” style of post, presumably aimed at people who are new to the industry. Another is the Twitter-optimized “you’re a terrible engineer if you ever store booleans in a database” clever trick1. Even good system design advice can be kind of bad. I love Designing Data-Intensive Applications, but I don’t think it’s particularly useful for most system design problems engineers will run into. What is system design? In my view, if software design is how you assemble lines of code, system design is how you assemble services. The primitives of software design are variables, functions, classes, and so on. The primitives of system design are app servers, databases, caches, queues, event buses, proxies, and so on. This post is my attempt to write down, in broad strokes, everything I know about good system design. A lot of the concrete judgment calls do come down to experience, which I can’t c
I see a lot of bad system design advice. One classic is the LinkedIn-optimized “bet you never heard of queues ” style of post, presumably aimed at people who are new to the industry. Another is the Twitter-optimized “you’re a terrible engineer if you ever store booleans in a database” clever trick 1 . Even good system design advice can be kind of bad. I love Designing Data-Intensive Applications , but I don’t think it’s particularly useful for most system design problems engineers will run into. What is system design? In my view, if software design is how you assemble lines of code, system des
related reading
- Everything I know about good system designseangoedecke.com
- GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.github.com
- Core Concepts for System Design Interviews | Hello Interview System Design in a Hurryhellointerview.com
- System Design Concepts For Senior Engineersinterviewing.io
- Mediuminterviewnoodle.com
- Everything I know about good API designseangoedecke.com
- Notes on Distributed Systems for Young Bloods – Something Similarsomethingsimilar.com
- How to design resilient and large scale data systemsblog.dataengineer.io
- learning-notes/books/designing-data-intensive-applications.md at master · keyvanakbary/learning-notes · GitHubgithub.com
- GitHub - karanpratapsingh/system-design: Learn how to design systems at scale and prepare for system design interviewsgithub.com
- A Beginner’s Guide to System Design | by Aritra Sen | Mediummedium.com
- Do the simplest thing that could possibly workseangoedecke.com