These are some strategies I use to learn any new thing including programming languages.

These are probably very influenced by Tim Ferriss’s 4 Hour Chef which I had read around 2016.

Material beats Method 1

Usually, it’s not fault of the student, it’s fault of the teacher.

How a teacher teaches determines a lot.

I don’t like live teachings. It sometimes gets to fast sometimes too slow. I prefer learning on my own.

I pick resources that are:

  1. Step by step
  2. Have a clear road to some kind of implementation
  3. As real world as possible.

For example:

For Music:

  • I tried learning Piano by reading book but it was no boring and vage. So I purchased SimplyPiano.
  • Similarly for guitar I got SimplyGuitar.

For Programming Topics,

  • I prefer platform allow trying out code online without any local installation.
    • Codecademy is a good one. I used it for many things.
    • Recently I started learning

Role of Books

I don’t use books for learning everything.

But certain concepts are such that they require an entire book.

I don’t go out to but book instantly. I wait a few days to see if I really need to.

Sometimes YouTube videos are enough to cure curiosity or find the answer.

Books are great for deep topics have a lot of details in it.

Learn in chunks

I cannot learn something at one. If I try to do it I will have to recollection of the concepts. So I prefer doing a little every day or regularly.

This also forces me to recall what I had previously learned.

So for,

  • Piano and Guitar: 10 Min a Day
  • Technical Topics: Max 2 Pomodoros (25 min timers twice with 5-10 min break in middle)
  • Books: 10-20 minutes max

Clear Doubts along the way

If you are stuck, search for the solution.

Usually learning from different sources helps.

Have Cheat Sheets

Cheat sheets allow recalling what you have learned instantly!

Often googling cheatsheets is sufficient.

Put into Practice Fast


Record yourself.

Talk to other people/

  1. 4 Hour Chef