flâneur — a map of the web's best reading

Everything I know about good system design

seangoedecke.com · 4,213 words · saved by 1 readers

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

Explore this link on the map →

related reading