Read How to Read a Book: The Classic Guide to Intelligent Reading by Mortimer Adler. (https://www.amazon.com/How-Read-Book-Classic-Intelligent/dp/...)
I’ve given this book to a bunch of people on my teams as it also helps with communicating ideas which is vital as a programmer.
The wikipedia page for it is a good place to get an overview of what it’s about. https://en.wikipedia.org/wiki/How_to_Read_a_Book
Since reading it I’ve been keeping a notebook, some people might call it a Commonplace Book, with interesting stuff from the book. I find that I get a lot more from books from the act of writing it down and then reading those notes later when I glance at them while looking something else up in the notebook.
One big big big thing I learned from the book is to not read a non-fiction book like it was a novel. There’s nothing wrong with skipping ahead and finding out what happens later, in fact you should absolutely skim the book first. I end up finishing a lot more books by doing this since so many books aren’t actually worth careful reading. I am able to systematically skim a book including the TOC and index and determine if it’s worth reading carefully. A lot of books are so sparse with ideas that you can get most of them through this method. Only the good books are worth going on to the second and third stages and only the great ones the fourth stage.
It’s similar to progressive JPEG rendering. Your first pass is pre-processing resulting in fuzzy understanding of the whole that you then refine in the subsequent pass(es). Progressive way is more natural and effective.
I highly recommend reading Adler’s “How to Read a Book” . This exactly the guide you want to read if you want to know how to learn well from books.
Fresh book recommendations delivered straight to your inbox every Thursday.