How to understand difficult concepts faster and better.
This works for everything. Not only programming. Also works whether you just started or have been working for 400 years. I'm using currently to learn webpack for my job and Unity for my hobbies.
So, what is it?
It's called the Feynmann Technique. Some of you probably have heard it already.
How do you do implement it?
Whenever I have to learn something new. Let's say webpack. I try to gather all the information possible at the beginning. I try to understand the concepts and practice a bit. But that's rarely enough when you are dealing with complex subjects. What do you do next?
You teach it. It doesn't matter if you don't fully understand it yet. Teaching it is the best way to find exactly where the missing pieces of your knowledge are. It's faster to find what you don't exactly understand. It's less overwhelming. It's even fun. It can make you help other people. Who do you teach it to?
You can teach it to a rubber duck, write an article on dev.to 🙄. Your colleagues. Here you have to find the best way for you to teach it. Only important thing is to enjoy this process.
Suddenly your mental model starts to establish and things make sense. You start to understand the why and if you don't you clearly see what's missing and can find more information.
The more you apply this technique the easier and faster you start learning.
Only thing to have in mind
Learning is a process, you're never done with it. Especially in programming. You will forget things. You will get concepts mixed up. You will learn something wrong and make mistakes. But you will learn and improve.
See learning as a something that accompanies you along the journey. Don't expect to finish 2 courses on react and suddenly "You know React" and are ready to work. You have to work and learn at the same time.
Anyway that's it, have a good day ✌