A few things I’ve learnt after learning programming through books
I’ve been reading programming books for a few months for now. Of course when it comes to self-learning, there are definitely a lot of pros and cons about it. However for now I will just share some of my thoughts regarding learning coding through programming books specifically.
- What kind of people are more suitbale for reading through books when there are so many other ways of doing it.
- Obviously, there are a lot of ways of learning to code, from online tutorials to videos to attaining boot camps that are held by organisers. Reading books is one of the most “boring” and “mundane” one. However what kind of people are more suitable for this kind of learning? If you want to get the whole picture and systematically go through one language, from data types to syntax to more advanced topic/usage of the language, then reading through books is for you.
- Things you need to know when reading through books.
- Depends on how many hours you can put into learning, there will be the feeling of “not learning much” or “I didn’t achieve enough”.. and you should not let those feelings deter you from keep learning. Because if you are asking a lot of questions when reading through books, it is not surprising you find yourself in the position that after 1–2 hours of reading, you’ve only gone through 10–15 pages. And there are shit tons of info to either memorize / understand. Especially when you are a beginner. Having these worries/feelings is completely normal. The only thing you need to do is to take a deep breath and don’t let it stop you from going back to learning the next day.
- Do not set specific target in everyday’s learning. I will explain this in detail. Let’s say you’ve got a book of 200 pages. Then you tell yourself: “I am going to finish this book within 10 days, so that would be 20 pages per day”. This is something I do not recommend. Because different chapters of one book have different difficulty. In general the more advanced topics are towards the middle and the end of one book. If you have 2 hours of learning time each day, and it takes you 1 hour to read through the 1st 20 pages, it will likely take you a lot more when it comes to the middle part of the book. Especially when there are a lot of code snippet in it and you need to try them out one by one in the console.
- Point 2 leads to point 3. Which is timing. How much time should I study everyday. For every person this is really different. I’ve seen/heard some people learning to code up to 6,7 hours a day. While a lot of us can only devote 1–2 hours of time into coding/learning. For myself, if I am learning through books, writing down all the example code snippet in it and taking notes, 1–2 hours is my limit. When I am actually building stuff it can get a lot longer than that. If I passed the 2 hours point I found myself are getting dimishing returns from all the things I am reading. I either don’t really understand it or my brain just doesn’t want to cooperate with me. If you can do better than this, by all means, do it. In the end if you are really enjoying coding, there is no reason to stop.
- The reason I set myself a certain amount of hour to reach and don’t easily go beyond that is to “make room” for the next day’s work. If I drain myself too hard, when the next day comes, I will either feel discouraged to continue, or simply avoiding doing it. In book “What I talk about when I talk about running”, author Haruki Murakami mentioned the same thing. The most important part of self-learning is to create a flow. It is more like a marathon instead of a 100 meter sprint.
- Go back to the books you’ve already finished, and give them another scan through. You will be amazed how many stuff you’ve already forgotten or don’t even remember learning them. There always will be info left behind. It is a grind, yes. But all these grinds are valuble for you.
- Last but not least, a few explanation and disclaimer.
- 1st, this is by no means “an expert’s take” on how you should learning programming. But only one person’s opinion. And my goal is this : how to avoid some of the ineffectiveness in learning coding through books and what are the “mind traps” you need to avoid. A lot of the points I listed above is to help you avoid the feeling of “maybe I am not smart enough for this”/ “maybe this is too complex for me”/”it’s only been two days but I’ve already feeling exausted “. All these discouraging feelings/worries have their values. But they should not stop you from keep learning everyday.
- 2nd, this is by no means “the only way” of learning through books. There are a lot of books that you can simply using it as a reference book. And those books are not meant to be deeply analyzed. And even the books I read can be used as a reference book. Different people have different takes on this. But if you are like me, who prefer the hard slow grind, (get the fruitful result later), I think all these points are going to either let you see how other people’s studying have been going, or share some of the experiences and frustrations with you. So you know that you are not alone. Let me repeat, there is not a universal way of learning that fits everyone. Pick your own way and stick to it.