
Ask HN: Most effective path to become a solid systems practitioner? - fizwhiz
Context: I&#x27;m a mid-tier dev at a BigCo, and I was never classically trained as a computer scientist. Lately, I&#x27;ve been interested in problem spaces where having a deeper systems knowledge (think databases, streaming systems, operating systems, distributed systems etc.) is incredibly beneficial. I haven&#x27;t found a straight forward path to learn all this short of maybe doing a Masters degree.<p>Is there a set&#x2F;sequence of resources&#x2F;MOOCs that HN could recommendation on getting ramped up on these topics. I understand that it will likely be a multi-month journey at the very least, but I&#x27;m tired of hitting a ceiling on what I&#x27;m able to contribute to due to my lack of knowledge.
======
basetensucks
Starting to feel like a parrot since I’ve recommended this book a few times
already on HN but Designing Data Intensive Applications [0] is a great
starting resource. I’m not affiliated in any way just a happy reader.

[0] [https://dataintensive.net/](https://dataintensive.net/)

------
hackermailman
Click on 'old video' to see the lectures, this covers x86 arch from a
programmer's perspective, such as writing cache friendly code
[http://www.cs.cmu.edu/~./213/schedule.html](http://www.cs.cmu.edu/~./213/schedule.html)
Database lectures here including a really good advanced playlist on building
your own dbms
[https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA/pla...](https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA/playlists)
From there the book _Programming Rust_ is a great book about systems
programming. There's also an OS class [https://www.rust-
class.org/pages/classes.html](https://www.rust-class.org/pages/classes.html)
or you can try taking some CS theory classes
[https://www.youtube.com/channel/UCWnu2XymDtORV--
qG2uG5eQ/pla...](https://www.youtube.com/channel/UCWnu2XymDtORV--
qG2uG5eQ/playlists)

Andrew S Tanenbaum has a Distributed Systems and OS book too that most
universities still use.

~~~
steveklabnik
That Rust OS class is from 2014, and so was pre 1.0 and therefore near useless
today. Phil Opp’s work is preferred, for sure.

------
Bucephalus355
I would learn AWS. Their GUI and the abstraction available in their PaaS
services will allow you to build really cool “distributed” application without
needing to know all the ins and outs of say Linux and Sambda and Kerberos that
you would typically need. It would be a good introduction.

EDIT: and to learn AWS of course there is
[https://acloud.guru](https://acloud.guru). Strange name of a site but def
considered the best for learning AWS. I would focus on the AWS Solutions
Architect courses if you need something to start with.

------
DeltaManiac
Have you tried this ? [https://github.com/donnemartin/system-design-
primer](https://github.com/donnemartin/system-design-primer)

~~~
testb
imo the best way is to look at what other's have built. Here's some of my
favorite talks that go from 0 users to millions.

Dropbox -
[https://www.youtube.com/watch?v=PE4gwstWhmc](https://www.youtube.com/watch?v=PE4gwstWhmc)

Instagram -
[https://www.youtube.com/watch?v=oNA2C1vC8FQ](https://www.youtube.com/watch?v=oNA2C1vC8FQ)

Slack (bonus. not as applicable but good reminder of why initial architecture
does matter) - [https://www.youtube.com/watch?v=WE9c9AZe-
DY](https://www.youtube.com/watch?v=WE9c9AZe-DY)

