How to Learn Fast

Learning is the most useful skill you’ll ever posses in the developer world, new frameworks and technologies pop up like weeds, and you will have to learn fast in order to keep up with demand. Learning is something you don’t ‘learn’ in schools, so being self taught is a benefit on this matter.

And one other thing, you will never stop learning, in every aspect of your life, so make sure you can do it on your own, fast and with passion.

Here’s my process, it’s a collection of information I learned from various self improvement books and some of my own additions/experiences.


Resources 

Everybody prefers different resources, and they are all fine really. I like to pick up a few books on a particular subject , even a few books on the same skill level. As an example let’s say I’m learning JavaScript. I might pickup two books on Beginner level JavaScript because with experience I found out every author teaches differently, and they explain in different ways. One author might have that golden explanation which gives you that light bulb moment, I like to call it the ‘click’. You just get it. And not every explanation will give you that ‘click’. So I find it important to have at least 2 views/explanations/angles on a subject.
Using books and video courses at the same time also works really well. For video, Lynda.com, Pluralsight.com and Udemy are really great resources. O’Reilly provides unlimited amounts of books to read online for a subscription fee (I’m a huge fan).

Read a Little, Build a Little

Some people just like to read a book cover to cover, or watch a video course in a single sitting. This doesn’t work effectively. If you really want to learn fast, you should read a single chapter or watch a single video chapter and immediately start writing code, experiment and try out other ways of doing what you just learned, program small apps and experiment as much as possible, now you will run into problems, stuff won’t work because you jumped in too fast. And that’s exactly what you want! You’ll start to form questions inside your head. Start googling, read documentation, and make your small pieces of code work, re-read some of the chapter and you’ll know what you did wrong. I find this approach to learning very quick and it all sticks in your brain much faster. So remember to read/watch small parts until you have enough new information to work with, and immediately start writing some code!

Passion Project

While you learn a particular subject, plan out a small/medium sized project you want to build while learning. Make sure it’s exciting for you, and maybe it’ll even be something you could make some money from. If you do this, you’ll be motivated and get excited to do research on your own. When I myself was learning Android Development I was making a fun little RPG Game for my friends, with a lot of inside jokes only we would understand. This made me excited to show it to them and made me learn really fast, and do a bunch of research on how to do particular things in Android, there would be times when I started a new chapter in the book/video, and I would have already build something similar in the app with the research I did, now I can see the authors approach of doing something like that and get a deeper understanding.

Don’t Over Plan

Many books on learning encourage you to plan out your learning process in depth, in my experience this is a total waste of time. Just write down a very basic list of what you think you should know, this of course will change over time and that’s fine. As you’re learning you’ll get more knowledgeable and the list will start to change, priorities will change so over planning will just cost you time in the long run. Try to keep a natural flow in the learning process and write down the important theories you think are important.

Don’t Learn to be a Code Monkey

Learning fast doesn’t mean you should skip the deeper stuff. I think it’s vitally important to know WHY you are using/writing a particular piece of code, don’t just copy what you learned from a book or video, but do research or find a resource that delves into WHY it works. What really happens inside the engine when I use this code ? Pure theory can be a little bit boring sometimes (Al tough I find it fascinating)  for most people, but don’t skip it, you really want to know this. So really learn why code works and don’t just make assumptions or things will get complicated in the future and debugging will be a nightmare.

Leave a comment