One thing has recently come to my attention.
Once the three months passed I decided to switch to other aspects of programming by following the Stanford Machine Learning course taught by Andrew Ng. It was a mistake.
Instead what would have been more valuable was setting up a learning strategy.
After gathering superficial knowledge on a programming language - or any topic for that matter - focus by diving in specific subjects and fully internalizing all of its aspect would be more effective. But why? The idea refers back to something Josh Waitzkin, former Chess Grand Master, once said. A martial artist performs better by deeply internalizing a few techniques and knowing how to precisely apply them than to learn a lot of techniques superficially.
Back to programming. After learning the basics you might want to focus on a specific domain. For instance, deeply studying and implementing Node.js or an MVC framework like AngularJS would serve better than tackling a bit of everything.
Now the same can be applied to other areas of your life. For example, it would be more useful to deeply dive in a few books than reading many on various subjects, even though this may seem exciting. We could even say it would be more valuable to read the same book many times.
Let's take a look at some of the most successful entrepreneurs like Bill Gates, Jeff Bezos, or Elon Musk. What made them so successful at first was their deep focus in a specific area. They stuck to it, learned all they had to, and applied the knowledge effectively.
Elon Musk even stated in a Reddit Q&A session the following:
I think most people can learn a lot more than they think they can. They sell themselves short without trying.
One bit of advice: it is important to view knowledge as sort of a semantic tree -- make sure you understand the fundamental principles, ie the trunk and big branches, before you get into the leaves/details or there is nothing for them to hang on to.
Changing context will have unfavourable consequences to your learning ability. To continue with the tree metaphor, another Reddit user explains the analogy further:
Storing new information not related to anything you know takes a lot of energy to store (planting a new tree)
Growing leaves is easy once your roots are deep in the ground.
The more trees you grow, the stronger the forest is and the easier it is to expand it further. (There may be an upper bound here, don't think there's anyone out there who has learned everything yet)
Bonus feature: trying to glue oak leaves on a pine tree won't work. Information that fundamentally conflicts with your understanding of a subject won't stick, the brain will discard it as irrelevant noise. You have to plant a new tree and help it grow stronger than the old one.