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.
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.
- A paid option to start with: CodeSchool’s Part 1, 2, 3 and Best Practices.
I love free stuff. Who doesn’t? But in this case, Code School’s course is way better than the Free Alternative™.
Honestly? I enjoyed doing both courses. It’s a nice way to internalize syntax and concepts without having to see the same content twice.
2. Build Something
Can’t stress this enough. Nothing improves our understanding and comprehension like building something using our newly acquired powers.
3. Dive Deeper
Whenever we’re building something, it is inevitable: things will go wrong. The website will crash and many times some a few perks of the language will show up and apparently make no sense.
That is why I believe that the “You don’t know JS” series is invaluable. You can buy print copies to support the author but the whole series of books is available for free on his website:
- “Up & Going”
- “Scope & Closures”
- “this & Object Prototypes”
- “Types & Grammar”
- “Async & Performance”
- “ES6 & Beyond”
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.
5. Understand Design Patterns
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.
6. Dependency Managers and Bundlers
It is very likely that, if you really made it this far, you’ve encountered a few different technologies, specifically:
- Webpack or Browserify + Gulp / Grunt or Brunch
- NPM and/or Yarn or Bower
I don’t have a horse in this race. Actually I didn’t. I just started contributing to Webpack’s documentation, so I’m gonna ask you to have a nice, free overview right here, with my pal Sean Larkin:
7. Go Functional
- It is better.
8. Build Stuff
You already know the drill. As GrandMaster Choa says: Practice, practice, practice.
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.
I haven’t gotten here yet. DO YOU SEE THE AMOUNT OF THINGS IN THIS LIST? Stop pressuring me.
- Test Driven Development is a thing that let’s me sleep at night. So I’m writing about how to test Vue.js Apps. TDD is something I’m very fond of, and I also believe there is a proper way to do it.
2. You probably won’t escape from jQuery so soon. Learn it.
3. The Mozilla Developer Network is our friend. Use it.
I hope by now I have managed to offend some people. That’s why I pay the interwebs. Also learn Elixir for fun and profit.