How I Learned Javascript

Posted by Andrew Schutt on August 04, 2014 · 8 mins read

NOTE: This is an older post that I pulled over from when I first was learning JS some 6 years ago to first teach myself modern web development.

I recently took it upon myself to try and learn the field of web development. To do this you must learn a couple of different technologies and Javascript is definitely one of those. Javascript, aka “the language of the browser”, is crucial to handle a variety of tasks and problems encountered developing for the web. From field validation, to creating an api, updating pages dynamically, or creating interactive menus. Javascript can do that. All you need to do is learn it…

The first steps I took was to make myself familiar with syntax of the language. I hopped onto Codecademy and went first through the jQuery track on the site. Wait. I thought this was how to learn Javascript?

Didn’t I tell you? I went about learning JS taking as many shortcuts as I could. (btw this was wrong)

So, anyway. I finished up the jQuery track and at that point didn’t know a lick of Javascript. It’s hard to even grasp jQuery without learning Javascript first, since, you know… it was written in Javascript. After a couple of months of struggling with basic concepts around scripting I went back and learned (and continue to learn) Javascript the hard (and correct) way. Here are the steps I took from this point.

Online Resources

Now, back to Codecademy. I went through the Javascript track on this site and learned the basics of creating Javascript. The most useful part was practicing objects with Javascript and learning the available tools within the language.

Throughout taking courses on Codecademy I used the Mozilla Developer Network as a reference. One of the best documentations of the language that I have found. I used the site quite often while I created both SnakeJS and PongJS

Another site that has proven invaluable for me is jsfiddle.net. JSFiddle helps for troubleshooting problems that for the life of me I couldn’t figure out why it just wouldn’t run (spoiler: it was a semicolon). More then that though it was a powerful sandbox that outclasses the one used within Codecademy curriculum.

Books

Two books have heavily aided in my learning Javascript. These two books are far from a comprehensive list. Many others exist that are highly rated within the Javascript community.

Now each language has a “must” read book. For Javascript that is “Javascript: The Good Parts” by Douglas Crockford(2020 Update: this book is still recommended, but maybe not quite as much). Everywhere I turned this book was recommended and highly touted. I sprang for the book early in my learning and it paid off big. The first time I worked through the book it felt like reading a foreign language. Honestly it was discouraging. Despite these frustrations I continued with JS until I learned more about the syntax and methods. Came back to the book and unsurprisingly the book made more sense. I continued to grind at JS and again came back to the book a third time. More and more was clicking and falling into place (third time is the charm, right?). Examples I worked with and also had read about in the book gradually came to me. It was an especially gratifying moment in regards to learning object declarations. Good Parts is a must read for a reason and helps sink in all of the big topics associated with Javascript.

The second book that has been an asset in my learning is “Eloquent Javascript” (2020 Update: this book is definitely still recommended) by Marijn Haverbeke. This was a straight forward example driven programming book. The difference being how code examples within a book were presented (in the online version). You are presented with half completed code and examples that are able to be edited live makes this a great learning device. Eloquent injunction with Codecademy will ensure a solid foundation of the Javascript language. Another fantastic resource for learning the language.

Community

Having a strong community has been an asset for my learning as well. After work I needed to drag myself to these meetings, but after each I always felt invigorated surrounding myself with people that had an infectious passion that was being passed off to me.

Thankfully my locale gives me access to a great user group called Des Moines JS to gain exposure to new ideas and topics related to Javascript. The first meetings didn’t accomplish much for me. Similar to the first read through of The Good Parts. Slowly as I learned more on my outside of DSMJS and I began to be follow along with the speakers. If you have the option to go and listen to more experienced individuals seize the chance. The shared experience that is passed on will benefit the learning.

Des Moines JS meets once a month and only have talks that last for an hour though. Attending the brief lectures helped give me a jolt, but I went to Iowa Code Camp it felt like a shot of double espresso. I turned my attention to the Javascript talks to gain additional knowledge and get a feel for what else is out there. On top of learning it was fun experiencing this conference to support the developer community within Iowa. In the future I plan on attending Code Camps as often as I possibly can. (2020 Update: Since the original posting of this I have given talks for both of these meetups and more)

Mentor/Peer

Lastly I was lucky enough to have an experienced mentor to help guide and push my learning. He was able to point me in the right direction or, more importantly, to help pick me up when I needed. Learning the ropes is tricky, especially on your own. With the correct guidance I was able to avoid pitfalls or recover quicker from trip ups. An important advantage that I got from a mentor was being able to discuss my learning and progress. Speaking with someone about what I was learning re-enforced it and led me to what I needed to focus on next. (2020 Update: the fella I am talking about here was in my wedding and I was in his)

Well that’s it so far. Pretty easy to learn as you can see. All you need to is practice, learn, read, discuss, and immerse yourself into it. Now that I have gotten the fundamentals down pat all that’s left is to produce. The easy part!