Learning to learn

Learning to learn

Reflection on my ongoing learning journey

As a programmer, learning is a part of the job. Whether it's a technical topic, a new framework, an unknown design pattern or APIs of a new library.

In addition to technical topics, there are many other things I would like to get better at. One of those things is my ongoing journey of learning Japanese.

This article reflects my ongoing learning journey. Some of the opinions I hold come from my reflection, while others are undoubtedly influenced by experts like Barbara Oakley and Andrew Huberman.

The Comfy Basics

As is the norm, my initial learning of Japanese was through traditional textbooks. Although this helped me initially pick up the basic words, I always held myself back from doing things in Japanese. Reading books, watching Japanese content, and having conversations in Japanese were all things I felt I needed to do after I improved some more. So, I kept delaying the things I was learning Japanese for in the first place.

As I look back at many aspects of my programming journey, I realize that I went through a similar phase. For example, when I need to learn a new programming language, I am guilty of watching basic videos or tutorials more than I need to.

As always, real learning happens in the next phase.

Insight: Foundations are important, but do not let them be a clutch that stops your progress.


This is the phase that was the most difficult as well as the most rewarding. Sitting through hours of content you barely understand, trying to remember words you think you memorized before.

Also, the simple frustration at the improvement not happening.

While programming, the blank stare at the screen, the long debugging hours.

But as you go through this stage, you quickly learn a lot, especially at the beginning. This makes it a very enjoyable phase.

Insight: Frequent feedback and failures are the best teachers for quick improvements.

The Plateau

After going through the active learning phase, you may enter a stage where you plateau, also known as the skilled beginner phase. It's important to avoid getting stuck in this phase.

This is where deliberate learning comes in. It involves challenging yourself with tasks that are slightly above your current ability level, but not too far beyond it.

However, I am also guilty of becoming too comfortable with my current skill and not seeing any improvement in my abilities.

Insight: Reviewing your progress and seeking deliberate practice is important and also very easy to overlook.

Forgetting Stuff

Accepting that forgetting is a natural phenomenon was something I struggled with. Although techniques like spaced repetition can aid long-term retention, there is a limit to their effectiveness. Besides, real understanding remains with you even if you forget the details of a topic.

This is especially true for the Japanese. I often forget many words when I need them the most, which can be frustrating.

I have come to accept that forgetting is natural. When needed, I can re-learn things, perhaps even more quickly than the first time. This realization has lifted a huge burden off of me.

Insight: Accepting that it is not possible to remember everything, even things you know now .

Meta-Learning Skills

No one taught me how to learn and learning how to learn is a valuable skill that is often overlooked. Fortunately, there are numerous online resources available that are based on scientific research and can provide effective tools and techniques for improving learning efficiency. Some of these techniques, such as the Feynman technique, interleaving, and Non-Sleep Deep Rest (NSDR), have been particularly helpful to me in my learning journey.

However, it's important to note that everyone learns differently and what works for one person may not work for another. Therefore, it's essential to continually review and iterate on your learning process to determine what methods are most effective for you.

Insight: Research up on meta-learning skills and keep on improving your learning process.