3 ms·
Ask HN: What are some ways to learn system design/architecture for a recent grad?
I am a recent grad and I want to learn more about how to design big systems. I read engineering blogs by companies often, although most times I have trouble getting the big picture (the most recent one being understanding how Docker fits into the big picture). I guess it starts with getting to know the architecture of the product I work on, but the product is rather a small one with a simple design.
How should I go about understanding system design and eventually designing big systems? I'd love to hear some of your suggestions. Thanks in advance!
- twunde 11y agoOne good resource is http://highscalability.com http://highscalability.com. It's got a number of good stories about scaling up and the architectures decisions used therein. There are also a number of articles and papers released by Google, Linkedin and Amazon that are worth reading. One thing that I've found incredibly useful is diagramming application architectures, starting with applications you work on. That plus understanding the CAP theorem
- NY_hudson 11y agoI like looking at old stuff from Bell Labs and Xerox Parc. If you dig around, you can find some tremendous papers about designing systems. For example, search around for books and papers in the 70's and 80's on Unix, the Alto, Ethernet, etc...and when you find an author you like, check the reference and find more like that. Checking the articles listed in a wikipedia article's reference is also a good starting point for this sort of thing. For example https://en.wikipedia.org/wiki/Ethernet https://en.wikipedia.org/wiki/Ethernet
- brudgers 11y agoThe http://se-radio.net http://se-radio.net podcast series has discussed many architectural and design topics. The http://changelog.com http://changelog.com podcasts frequently discuss problems at that scale because their pain motivates open source solutions. Finally, there may be no better software design talks than Rich Hickey talking about designing Clojure. Good luck.