Imagine being able to pick up any book, watch any tutorial and remember everything from it.
This ability would make you a hero in the programming space, where there's already so much information to learn.
Now, if you're like me, you almost completely forget everything hours after reading, watching or listening. I want to share 5 evidence-based tips on how you can remember more and forget less, plus a bonus tip that you can apply today.
Number 1: Hands-On Practice
If you are reading a book or watching a tutorial, it is easy to get inspired right in the beginning. You hear all of this amazing information and you cannot wait to implement this into your real life. However, this is where most fall short. They fall short when actually trying to implement what they read or watch.
Hands-on practice is the bridge between theory and application. When one builds from scratch, even if it is just typing along, they are problem-solving, researching, showcasing their skills, and reflecting on the journey. How challenging a hands-on project should be is completely up to you; it can be as easy as a simple notes app or as complex as a machine learning model.
Everyone starts with different skill levels, but the most important thing you can do is implement what you learn with hands-on practice.
Number 2: Just-In-Time Learning
Just-In-Time Learning is the opposite of Just-In-Case Learning. Just-In-Case Learning is the category in which most new programmers fall. Just-In-Case Learning is when you learn something in case you will need it down the line. Just-In-Time Learning is when you learn something at the moment it immediately becomes useful to you.
When I was learning about cloud infrastructure a few years back I was wanting to get certified in AWS. Well, my current role at the time had nothing to do with AWS; I just knew it was the new buzzword, and I wanted to learn it. Well, I failed miserably at learning AWS because it did not hold actual value to me at the time. Fast forward a few years, I am tasked with creating an AWS Code Pipeline. My first thought was, 'Oh crap, why did I give up?’ My second thought was I have to figure this out now. This time however, I was able to learn AWS, because it immediately had value to me.
This is why Just-In-Time Learning is helpful, because you can find value immediately. Individuals learn programming languages faster when they know they have an interview coming up in four weeks because it is going to be useful and hold value quick.
Number 3: Perfection
Do not worry about perfection.
I think Winston Churchill put it best when he said, “Perfection is the enemy of progress.” Simply put, when you focus too much on remembering literally everything, even the tiniest of details, you will hold back your true potential of remembering what actually matters.
Now, there is something called the Pareto Principle. This principle states that 80% of outcomes result from 20% of all causes. This applies to reading and tutorials as well. You will 'get the gist' of the entire tutorial by remembering 20% of the information inside.
Number 4: Follow Your Curiosity
If you are learning about something you are interested in, you will have a much better time remembering those skills. For example, if you are learning C++ but you have always wanted to be a Python developer - then you should pivot and learn Python. If your dream is to be a web developer, you should be studying JavaScript and not C or a similar backend language.
Following your curiosity is the foundation to being able to have a continuously learning mindset and to really be able to absorb new topics that you are wanting to learn. For example, I love gladiators and the colosseum. I think this was a very unique period of time. This has made me curious about the day-to-day life of Romans. Therefore, I have spent time learning about the roman empire, because I got curious after reading about gladiators. Since I was curious about the Roman Empire, this made learning about the Romans significantly easier than if I were told to learn about the Roman Empire in a history class without any interest.
Number 5: Teach Others
Every single day, I post new helpful tips that I am learning or want to share about software development on my LinkedIn. I will post the link below to my LinkedIn, but I am trying to continually solidify the ideas in my head and implement and repeat the things I want to remember.
It also helps being a part of a community that also cares about what you care about. Being surrounded by other like minded individuals on the internet whether that is through LinkedIn, Reddit, blogs or even YouTube really helps the daily reinforcement so you can better remember what is on your mind. There is also a massive study showing that the things that is on your mind, you really care about. So, if you are always wanting to learn to program, but you surround yourself with individuals who are not programmers, it will be significantly harder to learn programming. This is a simple thing to do, follow and surround yourself with like minded individuals on the internet, where you can learn and bounce ideas off of.
Secret Bonus
The bonus step is fairly straight forward. Read, watch or listen with an intent. Education is quite a lot different than fictional or entertainment pieces of content. Education requires more mental capacity and focus than consuming fictional content. Before trying to learn a new programming language, framework, or tool. Make sure you have had enough sleep and are well prepared to consume educational content for learning purposes
Cheers,
Eric
Very interesting article, Eric!
I like the idea of approaching learning with an intent.
At first, I approached reading like in school: I'm reading this book because someone (the teacher, some authority on YouTube...) said so.
Then I started doing a pre-read of the table of contents at Amazon before getting the book and putting down some questions I wanted to be answered at the end of the reading.
This helped with the just-in-time learning too. When the pre-read didn't spark any interest it meant the moment was not right.
Something very similar happened to me with AWS. I tried some internal training in my onboarding to my job just out of university. None of the service's names stuck, and none of the explanations made sense because I had a low level of distributed systems.