Hacker News new | ask | show | jobs
by kodah 1434 days ago
I'll second that the best way to get better is to be a practitioner.

Part of the reason that there's not more material on systems design is because the way we design systems is highly dependent on core systems that pre-exist a new system. You can learn all the things on paper about layer 8 vs layer 4 load balancing, how to build an effective distributed cache, how to building a decentralized rate limiter, etc but all of these things are highly dependent on what exists prior, and knowing how to work in non-greenfield components reflects an internal familiarity with them.

The other side to systems design is more analogous to producing a map of the world; eg: documenting systems as you work on them. When I was a new engineer, this is how I learned systems design. Every new system I encountered I would begin to model. This had the added benefit of teaching me UML and how to make designs that highlight the important parts.

1 comments

What is layer 8?
Layer 8 load balancing is humans opening and closing browser tabs, I presume?
Layer 8 is generally called the Political Layer.
They must've meant Layer 7 / Application Layer. There is no Layer 8 in OSI model (unless they're talking about a different model)
I did mean Layer 7. I've been calling it Layer 8 for a long time now, lmao. Not sure how that got mixed up and made permanent.
There are alternative/extended models out there. Perhaps you ran into one of those?
Entirely possible; I've worked in the intersection of Software Engineer and Systems Engineer most of my career, so that leads me to think maybe I'm prioritizing some of the stuff I learn and that older things I've learned have degraded. I say that mainly because I learned the OSI model very early on in my career.