How to learn and master any technology
The only thing that is sure about your career as a software engineer is that you'll never stop learning.
There is so much joy in learning a technology, and becoming a master at it
Here's a 5 step framework to learn any technology and become a master at it in as little time as possible:
Research and Understanding
Never skip this step when learning a new technology. It is the most crucial. It is the difference between a developer that knows how to code React, and one who knows how to solve business problems using React.
In this first step of the learning framework, you focus on answering questions about the technology like:
✅ Why was this technology created ?
✅ What problem does it solve ?
✅ How do engineers use it in real life today ?
✅ When is the right time to choose this technology ?
✅ What are the other alternatives to using it ?
Before you go on to step 2, you should already have the strong confidence to be able to explain how this technology works, and when to use it.
Understanding is the key here. In the next steps, you have a much easier time if you had a great grasp of the problems this technology is solving.
Follow along learning
You watch someone who is a master at that skill and do your best to follow everything they do. This could also be reading a book or blog article and following along closely, while doing exactly as directed. The goal is to get an overview of what you are trying to learn.
Example: You are learning React. You follow along an entire course or book about React. As you follow along, you do exactly as the learning resource instructs, writing every single line of code, and completing every exercise or task given to you.
You're not trying to do it yourself in this step, because you'll fail.
Instead, you are learning every single line of code and understanding what it does, then trying to replicate it.
Don't be shy to read or watch the resource again and again.
I recommend going through every learning resource at least 3 times. I read books at least 3 times, I watch courses at least 3 times, and even tutorials on YouTube. Your brain digests and understands what it seems a lot of times.
Even if you think you understand, follow along again. You'll uncover secrets in the technology you never even thought were possible.
Okay you're done following a learning resource. Next, recreate what you just learned without looking at the learning resource.
You are not trying to memorise, so you keep going back to the learning resource to refresh your memory, then come back to your project and practice.
You’ll usually be going back and forth a lot so that what you learned sticks.
Example: You are learning React. At the end of a book chapter, you created a landing page for a marketing website using React. To practise, attempt recreating the same landing page as closely as you can without looking at the book. You can keep referring to the learning resource until you understand all the principles and concepts.
As from this step going forward, repetition is the ultimate secret to becoming a master of the technology.
Practice up to 4 times rewriting the same thing you just followed along. Whenever you are stuck, go back to the learning material, fill your knowledge gap, and get back to rebuilding what you learned.
You build 15+ projects with this technology. Not too big, but also not too small. These are all throw away projects, but they’ll help you master how to use the technology.
This is where my secret lies. Pick any technology from my resume.
I can confidently explain and talk about my experience in that technology because to learn it, I had to build dozens and dozens of projects so I can master that technology.
At this point, by the time you reach project 5, you'll begin to see that all technologies are extremely easy and a lot of fun to play with.
I remember when I challenged myself to build 100 React components. This was back in 2018. 5 years ago. And today, I consider myself a React Guru.
If you find yourself having to go back to the learning resource too often, you should go back to the practising step.
Second nature mastery
You’ve mastered this technology.
Now it needs to become second nature.
You can achieve second nature mastery in one simple way: Teaching.
Teach someone else this technology. You can do this by creating a video tutorial explaining concepts, writing a technical article, documenting your journey, or mentoring someone else in just this specific technology.
This is the strategy I've used for years to become a pro at what I do, and I have seen it work for hundreds of other people I've mentored and worked with.
I hope you use it and 10x your knowledge and expertise too.