Month 27 — It is better to be a slow tortoise than a fast hare
It is 27th month since I have started on the tech journey. Still, I feel like a beginner. The amount of things that I don’t know is huge and the process for learning them is not very straight forward. Even when I do a few courses on a single technology, I don’t feel that I have reached a certain level of intermediate ability in that technology. So, what is the way out?
As I was reflecting on my journey, I realized that it would have been better to be a slow tortoise that takes a lot of time to deeply process the new technologies I was learning than to be a fast hare who covers a lot of stuff in a short time, but forgets them quickly and keeps coming back to them in circles.
In the last 2 months, my focus has been on figuring out better ways to learn. I have checked out the famous Coursera Course on Learning How to Learn a long time back. I have also bought the Ultralearning book by Scott Young and have read it a few times and trying to apply some of the unconventional ideas that he has outlined. But still, I think that there is a lot more for me to figure out.
People have been learning programming for a lot of time. So, I expected that someone should have solved the problem of figuring out a proper way to learn a programming language so that the learning sticks over a long period of time. But I am still out of luck to find it.
One thing is clear — We forget a lot. In fact, I have seen a video which claims that forgetting is a key strength of our brain — I never thought of it that way. So, spaced repetition is something that should be part of any learning attempt, I suppose.
The other thing that is clear is that without doing stuff, the learning does not stick. So, project-based learning is another key.
What is not clear is how to convert the various learning materials I encounter and the various solutions to the problems I face when doing a project into bite-sized flashcards that makes it easy for me to stick into my long-term memory?
So, I went back to the 2 key sources that I have benefited from:
1. Derek Sivers on using SRS to learn programming — short and sweet, but full of potent stuff. I keep rereading to keep the ideas fresh and to apply them to create proper flashcards.
2. The article on how to formulate knowledge from the authority on Spaced repetition — the post is long, but some of the points are very potent — easy to read, but hard to apply.
When I went back to the flashcards I have created, it was unsettling to realize that
- I was throwing a lot of flashcards I have put so much effort into writing. They just don’t seem relevant any more.
- Many of flashcards I wrote are junk drawers — they just have too much information packed in single card. The faster I create the more information I pack into the card. It takes a lot more thought and effort to create a concise flashcard.
- I learn the same ideas in different sources, and ended up creating independent sometimes overlapping flashcards. Over time, I could see the duplication in my flashcards. So, I had to go back and deduplicate which was a lot of effort.
- What seemed so crystal clear has faded away — so, the ideas that I thought were so good did not end up getting into flashcards because I thought that I would not forget them. But I have forgotten them.
- A lot of stuff seems important when I encounter them but over time, they just feel useless later.
I was going through the book Grit — in the chapter on Practice, I heard how experts take apart each skills and focus on each fundamental piece. So, I decided to a Deliberate Practice to create atomic flashcards which promote application in real-life scenarios. This is a whole topic on which I have been a lot of research and thinking and I hope to summarize them into a future article so that others can use it a springboard.
Finally Into Linux
For the record, this month I have finally jumped into Linux with the Book Linux Command Line and finished one round of the book. Normally my approach would have been study the book cover to cover and create a lot of flashcards as I go through the book.
This time, based on the ideas I have gotten from this video on Inquiry-based Learning, I had written a few key questions that I want answered which guided my reading of the book. I also postponed creating notes and flashcards for a few days — this gap allowed me to actively recall the ideas in the following days to see which of them are relevant. I also tried to apply the knowledge as I acquire it to see how it can solve my problems.
So, I skipped a lot of material that is not relevant to me as of now.
I am very happy that I put the time to learn Linux — so many of the questions I had in the past were answered by this book and it also gave me confidence to go back and try to solve some of the problems that I have encountered while switching python versions. But still I am a beginner and a long way to go…