Good system design

Good Advice covering the basic parts of system design. I think I’m moving from the “coding” part of my career into the “system” part of my career, which means I’m going to have to think about these things more and more.

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.

A lot of the advice seems to boil down to: measure your application and fix the slow parts in the most predictable way you can. Avoid cleverness. Like I said, Good Advice.

Everything I know about good system design, by Sean Goedecke

Code Work Design