Learn JavaScript in 10 Steps

Common Sense:As with anything in life, there are many different ways and paths to achieve a certain goal. Some might be faster. Other might be more complete. There are many factors I like to take into consideration when learning anything new (from a Programming Language to Wood Working).

So the following article is just a recommendation, the path I wish someone would have told me before I got started.

If you know who the author is: tell me. I would like to give the proper credits.

1. Foundations

There are so many options for beginners, it is sometimes hard to know where to start. This is where we’re mostly “covered”, it is kinda unlikely to stray really away from the Light.

The ES6 part can also be augmented by Code School’s ES2015 Course. I’m not affiliated with them in any manner. I just loved their JavaScript courses.

The Async & Performance part can be strengthened by this awesome video by Phillip Roberts that explains how JavaScript’s V8 Engine works:

4. Build More Stuff™

Those concepts and theories and characteristics of the language won’t stand on their own. Without practical use, we soon forget a lot of what was read.

If you have a side project or if you’re already working for a company using JavaScript on a daily basis, the value of the aforementioned resources will become even more clear.

5. Understand Design Patterns

Design Patterns are not rules. They’re suggestions. But many of them permeate the JavaScript scene with such a strength (like the Module Pattern) that we can immediately extract value by understanding what is going on and why certain decisions were made.

In this particular case I prefer the free version. I also enjoyed going through Ben’s course and, as it is a video, it’s a different, more visual, approach.

One of the reasons I also like to learn from different sources is that, not only the content might be different, but each author might have different perspectives or different approaches to teaching. It helps me sharpen my own communication and teaching skills.

By the way, I’m writing my own JavaScript Design Patterns blog posts to help me strengthen my understanding and plant some good karma.

With what we’ve covered thus far, we are able to jump into almost any JavaScript project and get things going.

Almost.

7. Go Functional

JavaScript is known to support several different programming paradigms like Imperative, Object Oriented and Functional Programming.

Pretty much all the aforementioned resources are related to the ubiquitous world of OOP JavaScript. But there are many reasons why we should also understand and leverage EcmaScript’s Functional possibilities.

It is better.

Just kidding. (More or less). I’m not getting into this. Feel free to call me names at the comments. If you want to learn Functional JavaScript, I would start with the following free resources:

8. Build Stuff

9. Experiment with a Framework

Actually you should stick to Vue.js just because I’m telling you so. I’m paid to work with it. So it is the best.

This decision will be most likely be made by the company that hires you anyway. Unless you’re the decision woman. Then by all means dive deeper into the Framework Intergalactic Wars™ before making a decision.

10. Node

I haven’t gotten here yet. DO YOU SEE THE AMOUNT OF THINGS IN THIS LIST? Stop pressuring me.

In some sense, a better understanding of Node could be exclusively to those ones interested in doing server side JavaScript work. In other sense I bet it would be invaluable to understanding other Browser Related Stuff™.