Learning Javascript

My first experiences with JavaScript were not very pleasant or enjoyable. I first encountered JavaScript through the Drupal content management system. In those days, JavaScript was very much a second-class citizen to php in Drupal and JavaScript was weirdly implemented through an API in their theming system which was really not an optimal introduction to the language.

I next encountered JavaScript when I had to do a coding test for a job interview that involved updating a number on a webpage every few seconds. I crammed for a solid week to figure out the best way to write the JavaScript to make that happen. Somehow I passed that test and got that job, but again it was not an optimal introduction to JavaScript.

During the course of that job, I determined to map out a lesson plan for myself that would help me to finally learn and understand JavaScript. Now that I have over 10 years of JavaScript experience, I want to provide an outline for my younger self (or for anyone that might read this) that would have helped me enjoy the process of learning JavaScript. I will categorize these lists by type because I know everyone learns differently.

Books that helped me learn JavaScript:

  • JavaScript for Web Developers, by Nicholas Zakas – this is the best book I have found for learning the mechanics of the langauge. It provides a solid foundation for anyone brand new to the world of JavaScript. This is a great starting place.
  • Effective JavaScript, by David Herman – This is a great follow-up book to the Zakas book above. It start to go a little deeper into some of the nuances of the language.
  • JavaScript Patterns, by Stoyan Stefanov – Another great book that begins to look at how to solve common problems in JavaScript.
  • The whole You Don’t Know JS series of books, by Kyle Simpson – This is the most technical description of the language but it is still very accessible.

Courses that helped me learn JavaScript:

  • Beginner JavaScript – Wes Bos is the greatest JavaScript teacher ever. This is hands down the best js course out there.
  • JavaScript30 – This is less of a course and more of a guided code challenge to help you learn the greatest asset of all to a new developer: problem solving.
  • ES6 for Everyone – Wes Bos shares all of the latest advancements to JavaScript in the ES6/ES7 updates.
  • Frontend Masters – Kyle Simpson who wrote the YDK series mentioned above is one of the lecturers. This site provides a lot of great video series for aspiring JavaScript programmers of all levels.

Websites that helped me learn JavaScript:

  • Learn Vanilla JS – Chris Ferdinandi is a really helpful and friendly JavaScript teacher. He offers a daily email newsletter that teaches JS, Pocket Guides, and a Vanilla JS academy.
  • JavaScript is Sexy – This was another helpful blog with lots of great posts on some of the harder parts of learning JS.