What is the key component in learning?

For the past few years, I've had to teach myself quite a few new skills.

And I've experimented with different techniques, methods, principles, ideas...

This is what I've found:

I think the best way to learn something is by repetition. Not the repetition of the same thing, but rather repeating the thing you want to learn in its different variations.

Let me give you a few examples.

Let's say, you're learning a language. Instead of diving deep into the grammar, it's better to go through very similar sentences. E.g., "I put a book on the table", "There's a bag on the table", "She stepped on the chair" etc.

Another example is about learning a new programming language.

Most tutorials take the path where they teach you whatever they want to teach you by building one big app/program. By the end of it, you should be able to build your own app.

But, you likely won't. Even if you've covered all the important foundational topics.

A much better way is to instead build many small apps that are simple and similar to each other.

The key is in "pattern recognition".

Like the similar sentences when learning a language or the many small apps, in both cases, you'll be doing a lot of repetition. Ideally, you want so much repetition that it'll become annoying.

Because, the moment you feel annoyed by doing something over and over again, is the moment you've probably got it.

So, instead of depth, look for quantity, simplicity, and similarity. That'll give you the necessary foundation to go deep later. Because if you're not at ease doing the small simple exercises, then you definitely won't be at ease with big and complex ones.