Life is all about continuous learning. You are always learning something new whether you like it or not. If you don't, you quickly become outdated. You don't learn, you don't earn.
The world around us is spinning faster and faster. It's not only stressful enough just to keep up to date with the information, but also constantly learn something new.
The Internet is a blessing, but also a curse. There is so much information out there! It's hard to find and process it all. My children don't see me reading many books at home nowadays, but only if they knew how much text consume on a normal day! Blogs, Slack, Twitter, emails, manuals, forums, work documents. These things add up!
Everyone today is often competing on the same terms, but you can gain a competitive advantage over others by being a fast learner. This brings me to the core question of this essay: What's the fastest way to learn?
Everyone is different, therefore there is no ultimate learning process. You have to find what works best just for you. Are you a visual, auditory, reading/writing or kinetic learner? You are often not only one type, but a mix of different combinations.
Of course, you can learn by using any style - doing, watching, reading, listening, but in order to maximize your learning you have to know which one of those suits you best.
I personally is definitely a reading/writing type, but I like to watch videos too in order to get a better understanding of the topic I am learning.
Podcasts are not really my thing. I can't listen to podcasts because I need to concentrate while listening. I tried to do it in bed before sleeping, but that only made me fall asleep faster.
How about watching videos? Coding videos are also not high on my list. I hate to scrub and pause in the video player, plus I want to be able to copy and try out the code while I am watching.
Note : I know there are platforms that show video and code side-by-side, but they are rare.
Reading, on the other hand, is different. It's fast. You can easily skim to the juicy parts, plus copying and pasting text is much faster than typing it.
We've talked about the learning styles, but what about the process? Which process should you follow in order to learn fast?
There are a few different approaches. Some people like to dive heads down and figure things on the way. Some like to understand what they are dealing with first.
I am definitely the second type. I like to understand before I start.
Not sure how and when I finally understood this, but I've now used it for many years with great success.
Below are the steps I normally follow in order to learn a topic as fast and as efficiently as possible. It's not rocket science, but works great for me.
Maybe it will work for you too?
Before learning something it's important to know what you want, or need, to learn. What's the minimum you need to know in order to reach your goal? What questions need answers?
Often you already might have some idea or some kind of goal in you mind. Make sure you know it beforehand. It will make judging sources of information easier.
If you are not sure, go for a walk and think about it. Somehow things tend to clear up in motion.
The first thing I do is to find as much useful slash interesting information on the topic as possible. It can be blog posts, Youtube videos, official documentation, code examples, Github repositories, Github issues, Stack Overflow threads. Anything goes here. As long as you think it can help you reach your goal.
The important part in this step is to find as much information you think might be useful as possible. Don't judge it at this stage. Just skim through it quickly, if something catches your interest, keep it and continue with your quest. Go with your gut feeling here. If something seems interesting or useful, save it, otherwise scrap it.
I also often search for the bad or negative parts. Parts that people struggle with or complain about. Review posts are super useful here, even if they are only someones opinions and not necessary the truth. I try to get a sense if it worth it and if there are any existing problems or pitfalls.
Following links I find in the articles is also something I do often. If some link catches my attention I open it in a new tab.
When I feel I have enough potential sources of information I stop. At the end of this session I usually have 20-30 browser tabs open, 10-15 bookmarks and 5-10 Youtube videos added to my "Watch Later" list.
This step usually takes me 30-60 minutes.
During this phase I start to process the found information one by one. I don't go deep here. My goal is to find interesting bits of information and extract the core concepts. I usually read only a paragraph or two, maybe look some diagrams or glance briefly at some code examples.
If I had to describe the level my concentration between 1 being glancing over text and 10 being fully emerged in some text, I would say it's around 3. I am fully concentrated, but not on the whole text. My goal at this stage is to only understand the concepts and not the details. I want to get a rough idea of what this is all about.
When it comes to videos I usually play them at 1.5X speed and often forward to the parts I find interesting.
I branch out to other related things I find on the way that I don't yet understand.
I do this to the point where I am feeling completely lost and nothing makes sense any more.
This phase usually takes me between 1-5 hours depending on the size of the subject in question.
When my brain is completely fried with information I step away from the research phase and go and do something else. Something that doesn't require brain power.
This is a very important step, don't skip it! It's called Background Processing. You have overwhelmed your brain. Bombed it with information. Now you have to give your unconscious mind a chance to process and sort it all. Go to bed early and try to get 7-8 hours of good sleep.
Now it's time to take some notes. To try to recap what you learned and make your own understanding of the subject. I usually grab a pen and paper and try to write down core concepts using lists and keywords. Sometimes I draw a sloppy mind map. Remember, this is only for you. Nobody will read this!
Here, I am using pen and paper. It allows me to draw doodles and other stuff and it's fast too. Plus, physically writing it down on paper has a totally different effect than typing it out on a computer. It feels more free form and your brain processes this differently. At least that's what I've noticed.
You mind has already background-processed all the information. You helped it structure it further by your review. Things and concepts suddenly start to make sense. Look at you notes and rewrite them once again, but this time only picking out the core parts and concepts.
Now that you have an idea of the concepts and all the dots are connected, think through what is important. What concepts, terms, patterns have you learned? Try to identify them.
It's time to have some fun. Try to do something very simple. Baby steps. There is no pressure at this stage. You are in exploration mode.
Once you get something going, try to expand it. Do some more, play around. View it as POC. You are only trying to do something here. There are no "musts."
While playing around and getting stuck you will notice that you somehow you already know where to look for the solution to your problem. Either from the "overwhelm" session or you will somehow know how and where to search for the solution.
Again, thanks to the power of your mind and its background-processing ability. It helped you distill and internalize the core concepts and connect all the dots.
It's now time to do the real work. Here I often use the outcome of the "play" phase as the base and somehow I already know where to look for answers I have.
All these steps can take differently long time. It depends on the size of the topic. For example, I had to learn a lot of new things in the past few weeks. One of them was Next.js.
By following my learning process I went from knowing nothing about Next.js to building a fully functional app with authentication and other bells and whistles running in production in just 3 days.
If I can do it so can you!
- Hammock Driven Development - one of my favorite talks on Youtube by Rich Hickey, creator of Clojure language. He talks about the background-processing and this is where I got the idea from.
- Hacking Your Head: Managing Information Overload - a short talk by Jo Pearce on how to deal with Cognitive Load. It touches the same subjects I mention in the article, but with scientific proof.
Developing an effective learning process is a must if you want to stay ahead of the competition. But it's not only about learning fast, but also about learning smart.
Experiment with different approaches. Evaluate. There is no universal approach to learning. Find out what works best just for you.
The more I learn, the less I know, the less stressed I get. Because in the end it's not about knowing, but about understanding. Even if you don't know somehow you get a feeling that you have seen it before. You brain is good at making connections. By constantly learning you are building brain capital.
By having developed my own learning process I always know that I can learn fast and effectively and that keeps me calm.
Stay curious and always be learning!