Learn “just in time” instead of “just in case”.
Let me confess something: I’ve made mistakes in the past when learning a new programming language. I used to find out about a new language, find some guide or course to learn about it, and then I watched. Or read. And then watched again, thinking that was enough to know all about it.
And you know what? It worked. I did know all about the language. Until time passed and I didn’t.
The reason? I learned by watching other people writing code. I learned by reading guides and somehow expected that would secure the knowledge. And above all: I learned “just in case” instead of “just in time”.
With “just in case” learning, you learn as much as you can about something, just in case you need it sometime in the future. It’s like how most schools approach learning. Instead, with “just in time” learning, you learn just enough about something to be able to use it. Just enough to be able to reach a goal you set for yourself. With the extra benefit that you’re using that what you’ve learned.
If I would have used this strategy with programming languages, I would have learned just enough to be able to use it in a project. And when I realized I had to gain more knowledge, I would have used “just in time” learning again. Just for that specific part of knowledge.
Now don’t get me wrong. When learning a new programming language, you do need to know about some basics. You need to know how a computer program works. You need to know about instructions and how to use them. You need to know about input and output. But even for those things, you can learn them “just in time”. You can learn them because you have this bigger goal of learning a programming language. And the extra benefit: you use these basic concepts of programming when learning that new programming language.
Do you want to learn something and still remember what you’ve learned a few months or even years from now? Learn “just in time” instead of “just in case”.