I just finished the distributed systems section of teachyourselfcs and I now have a solid understanding of a lot of concepts I previously only shallowly understood.
When I started learning, the recommended textbook was Distributed systems: Principles and Paradigms (the new recommendation is Designing Data-Intensive Applications) and the recommended course was MIT 6.824.
6.824 is the first online course that I have completed fully and it was well worth it. I read, took notes, and summarized all required course readings (around 20 papers) and completed the labs, which involved creating a raft-based key-value store. The labs were especially useful because they forced me to really understand the details of the topics I had learned (e.g., MapReduce, Raft, Raft’s log compaction) in order for my code to pass all the tests.
I’m very happy with the results of following the course and I now plan to put the same amount of effort into other topics.
For technical books, I take notes as I read. Once I reach the end of a chapter, I reword the rough notes and research anything I didn't fully understand. You can read my notes if you're interested: https://notes.eddyerburgh.me/
For fiction books, I highlight paragraphs I find interesting as I read on my kindle . When I finish, I use my highlights to write a short review of the book.
I've stopped reading most self-help/ business books now. I just read other people's notes on them instead.
They aren't automatically generated. These are the notes taken in the meeting. There were several note takers that worked over the three days to record the meeting.