Note: This was originally posted at martinheinz.dev
Reading books whether they are about programming, software development or anything else, can be one of the best ways to gain knowledge in certain subject. However, people often run through books quickly, are not concentrated and in the end don't remember much or forget very quickly what they just learned. But there's a better way.
I never really paid much attention in school and especially during Slovak language lessons in high school, but one thing that I remember and that stuck with me is what our teacher told us about reading books the "professional way". She told us that when she reads books (mostly poems and stuff), she would make notes from every few lines or a paragraph. Back then, my only thought was: "Wow, that's some dedication for such a waste of time of reading poems..." (Just kidding).
Later when I started studying Computer Science and reading quite a few books and articles, I realized that it might be a good idea to start taking notes the way our teacher told us in high school. Since then I wrote quite a lot of notes and I developed some good habits and "optimized" the the whole process, so let me show you how to be effective at reading books the "professional way". But first, why is it actually beneficial to write any notes at all?
There are many reason why making notes can be beneficial, some very obvious, some not so much. So, here goes:
- Paying attention - when reading, your mind might start to wander and after a few paragraphs you realize that you have no idea what you just read. If you make notes you are forced to think about what you are reading, otherwise you can't make any notes
- Remember more - thinking, writing and trying to put your thoughts of something you just read into coherent sentences will help you to remember much more from it
- Keeping track - if you write the notes properly, then you can use them to track which books/articles you read or where you stopped - it works like a marker in book, which is helpful if you read a lot and jump from one book to another
- The notes themselves - well, the most obvious advantage of taking notes are the notes. You end up with abstract of whatever you just read and one day when you need it, you will be very happy that you actually wrote something down.
Now, that I maybe persuaded you to start making notes, I want share some habits and ways to make it as easy and as useful as possible for you.
- Don't copy and paste sentences from books - write them yourself or ideally rephrase them so they are easily understandable for you
- Section notes based on chapters and sections of the books/article, so it's easier to find specific parts later
- Use bullet points - you don't need full paragraphs of text, you need just enough to recall what you read in a book or where to look for more information, sometimes just keywords are enough
- Use versioning software - This is the most important one - create one repository for your notes and categorize them into directories based on genre or type (books or articles), this way you can access them anywhere and can keep track of when, what and how much you read
- Use meaningful commit messages - if use decide to use GitHub or other versioning software, then I strongly suggest you take the time to write good commit messages. I normally use format like "Chapter X (Section X.Y, X.Z)" (See Picture below).
- Use markdown - if you are going to read any programming books, then there will be code and the easiest way to write text that includes code is surely markdown. As a bonus it's going to be nicely formatted when you open it in GitHub.
- Develop a habit - At first it might be annoying and it will slow you down, but over time it will get more natural and you will get much more efficient at it, so just keep going.
Here I mainly wrote about taking notes when reading books or articles, but this really applies to all learning you do. Write notes when reading books, articles but also when reading docs of some library you never used or for example when setting up database or new website. Sooner or later (actually it probably happens to all of us all the time) you will think: "What was this thing I was reading about...?" or "I already did this once... But I don't remember how anymore...". Having good notes can help you immensely, so next time you open some book or article, just whip up your favorite text editor create
Book Name.md and get to it.