I get asked a lot on how I'm able to learn something new in a short period of time. In a sense, I'm a naturally curious person and learning is something that I've been doing for my whole life. After college, I kept on reading books and constantly educated myself in various subjects.
In this post, I'd like to share what I believe are the key ingredients to successful learning. I'd like to highlight some key points that leads me to better learning that might help some people along the way. It is worth recognizing that understanding the learning process is the key to successful learning. It is important because the process is being internalized as to "how" to learn and "why" learning something is or isn't working.
Starting with a goal in mind
This is answering the "why". Finding out the reasons why you're trying to learn something as opposed to just passively being curius about it is crucial to making things stick. You need to convince yourself on why learning something new is worth your time. You need hold on to those reasons when learning becomes tough. Knowing why you want to learn something to begin with is important as this sets a clear vision statement on what you define as "success". You cannot embrace success if you don't know what it is. Walking or going on a journey without a clearly defined destination leads to nowhere.
Breaking up things into small chunks
Once the purpose of the learning and why you want to learn something has been defined then the next step is to create a "blueprint" or laying down a "road map". This constitutes the things that you will need to focus on, one piece at a time. Making a list of these things identifies can unclutter the mind and instead put things in perspective.
In terms of learning a new programming language or framework, instead of saying, I want to learn "Node.JS", instead you have to be specific on which part of Node.JS you want to learn first. Learning and mastering Node.JS is a huge undertaking since there's several web frameworks out there (Express, SailsJS, etc) including the vast amount of middleware and libraries that the open source community has created.
I find that finding out the fundamentals and what those things entails.
Breaking things down also makes the concepts digestable and not overwhelming.
Knowing your strengths
Over the years, I have found different ways to learn new things, particularly learning new programming languages or technologies. There is not one technique that applies to everyone. Maybe writing down some concepts helps reinforce the knowledge or maybe you like learning in a classroom setting. Whatever it may be, it helps to understand your unique way of learning.
What works for me however is a combination of different things. I use Evernote heavily to write down ideas that I'd like to remember for future reference. I consider myself a visual learner, so I rely on watching a lot of videos whether it's on YouTube or some video course website. On a given subject/topic, I'd watch not one or two, but several of them so I can see the different variations and perspective on the subject matter. If that's not enough, I'll read a book or two.
After having some sense of what I just learned, I put it into practice. This is very important and all that learning wouldn't matter if not put into practice. This step validates if whether you have learned anything and to give you the confident to move forward into another subject.
I always find that if I'm not "present" and 100% into what I'm trying to do, my efforts is just a waste. If you really want to learn something and make it stick, then spend at least an hour of every waking day to facilitate that learning process.
Learning something new could potentially become many weeks, many months or even years but having the strength to pursue learning obstacles is another crucial piece. You need to be able to adjust and not be frustrated when something becomes difficult to understand.
I firmly believe in the idea that if you can't explain or define something then you don't really know what it is. The same holds true about knowing versus truly understanding something. If you have an opportunity to teach what you have learned to someone and actually verbalize the ideas, it will help even more with reinforcing what you have learned.
You will also think deeper about the concepts and new things will come up that will force you to do further research on some underlying topics.
I hope that this helps. Everyone has their own unique way of learning and what may work for someone may not work for you.