Discussion about this post

User's avatar
Jordan Nuttall's avatar

Hello there Sushant, I’ve been a quiet observer of your posts, always interesting, thank you.

Happy new year!

I thought you may enjoy this article:

https://open.substack.com/pub/jordannuttall/p/laws-of-thought-before-ai?r=4f55i2&utm_medium=ios

SudK's avatar

Your curiosity is admirable and would serve you well in your career but reading books will only take you so far. I was in your situation, and all the books you mentioned I have read completely or partially and it certainly helps but not as much as you think. I even have hardcopies of some of them.

These are all books related to Systems. When it comes to that, nothing actually beats doing Systems and actually writing code. Systems is a programming heavy field (with minimal math), instead of reading all these books I recommend you do the following,

1. Do the MIT 6.828, Operating Systems Engineering course. That will teach you more about Operating systems than any book although OSTEP is brilliant. I have a hard copy which I continuously refer. Nothing beats stepping through the code with a debugger, inspecting stack traces. Do you want to read about how stack unwinding works or do you actually want to implement it in an OS ? Do you only want to read about virtual memory or actually implement a multi-level page table in C ? Do you want to read about context switches or actually step through one , as in step through assembly code involved in context switching?

2. Do the CMU 15-445 Database Systems Engineering course. I am working on it right now. That will teach you about DBMSs than any book, paper etc. Do you only want to read about B+ trees or actually implement it in C++ and reason about the trade offs involved in it ?

3. Do the 6.824 course from MIT. This is on my to-do list and will teach you more about Distributed systems and algorithms than any book. Reading about theoretical concepts like logical clock etc is great but wouldn’t it be better if you could implement consensus algorithms in Golang ?

When it comes to books, papers etc in Computer Systems, I view them as references and not as checkboxes that I have to tick. Although all of the books you mentioned are helpful to varying degrees.

My 2 cents from a fellow autodidact and developer interested in Systems.

9 more comments...

No posts

Ready for more?