I think you’ll agree that studying takes a lot of time and effort. And the last thing you want to happen is to forget what you studied after a while, especially if the contents weren’t just a fantasy novel but some technical topics you’ve studied perhaps for an upcoming interview or improving your skills.
Over the past few years, I’ve experimented with a bunch of study techniques and in this post, I talk about everything that worked great for me. I’ve tried to condense all of my learnings into some techniques below, hope you find this useful.
Find Your Why
When you want to learn something, problem exploration is possibly the most important thing to start with. You might have heard many first-time founders of startups trying to first build a solution and then try to find the market suitable for their product, which almost never works out, do they? Just like market research is important in this case, before jumping into how something works, we should gain a deeper understanding of the problem.
Example
For example, if we take a programming concept like currying, the internet is filled with articles on how to write a currying function in every language possible and multiple implementations too. But unless you get a deeper understanding of why we use currying and understand some real-life scenarios that are tricky to solve without using this concept, what you learned will eventually fade away.
Explain Like I’m 5 (ELI5)
Next, before you can dive deep into a topic, spend some time first to understand a simpler abstraction of the problem. I often google a topic name followed by ELI5 (short for Explain Like I’m 5) whenever I am studying a new concept. The internet is filled with so many great subreddits and StackOverflow answers which help you get a very atomic understanding of the concept before you can dig deep.
Personal Experience
A while back I decided to brush up my data structure basics and instead of directly jumping into Leetcode problems, I used a coding podcast (BaseCS podcast) as my ELI5. It gave me a much-needed foundation for going deep into the topics later on.
Spaced Repetition with Flash Cards
Spaced repetition is an evidence-backed study technique that uses a ‘spacing effect’, to form long-lasting memories. If you’re new to this term, here is how Wikipedia defines it:
Spaced repetition is a method where the subject is asked to remember a certain fact with the time intervals increasing each time the fact is presented or said.
Using Flashcards and the Leitner System
The most popular way to practice spaced repetition is with flashcards. There are many systems to use flashcards effectively but my favourite one and the most efficient way of using flashcards is using the Leitner System.
Here’s how it works — you create 5 boxes where each box corresponds to a time delay after which it shall be revisited. All your flashcards start at box one. After the box’s given time interval elapses, each card you recollect correctly goes to the next box and so on.
But at any level, if you fail to remember a card, it goes all the way back to box one. That way, you spend more time on concepts that are harder to grasp and less time on things you got easily.
Forgetting your flash-cards even after studying a lot is very normal. Don’t feel bad if that happens to you. In fact, some forgetting is necessary to strengthen our learning when revisiting that topic later to form a lasting memory.
If you cannot explain something in simple terms, you don’t understand it.
- Richard Feynman
The Feynman Technique
According to the Feynman technique (named after famous physicist and Nobel laureate Richard Feynman), once you’ve studied something, try teaching that to someone who is inexperienced in that topic.
Steps to Follow
During the process, you’ll notice the gaps in your learning. Go back to learn those gaps. Try teaching again and repeat the cycle until you can explain that concept clearly to someone.
If you don’t have a student, try to write your explanation online, as it might serve as an ELI5 for someone else.
Learn by Doing
The most popular method and something which you might already know is learning by practice. Our mind often overestimates our thinking and recalling abilities when we read something. Hence we tend to tell ourselves things like “Nah, I get how this example works! No need to write it down, I’ll remember.” Don’t lie to yourself. Take out that notepad and make notes as you study.
Hands-On Approach
If you’re learning something which involves a paradigm shift, like a new framework or language, typing out everything as you learn has proved to be my #1 go-to method these days. It’s really beneficial to write down/type things up, as it also helps develop muscle memory over time.
Selectively Forgetting
With information being available just a Google search away these days, do we really need to remember everything? If not, how do you decide what to remember and what to forget?
Rule of Thumb for Selective Memory
A rule of thumb I follow is to not spend much time memorising things which are very easy to look up. As long as you can remember the topic briefly and remember that it is available on Google, you’re good.
There are things I almost always look up — like browser APIs, the difference between slice and splice, or regex patterns to name a few. We don’t need to be Bradley Cooper from Limitless and try to remember everything. Our brains hold limited information, so reserve it for more important things and always look for what trivial piece of the puzzle you can not learn.
Conclusion
These are some of my favourite techniques, and some work better than others for learning different kinds of things. Play around and see what works best for you.
Also, be mindful when you look up information on the internet as it often contains backdated or wrong answers. Referring to multiple sources works great.
If you found this post helpful [share it with your friends](https://twitter.com/intent/tweet?text=How+to+learn+and+retain+technical+knowledge+https%3A%2F%