JavaScript learning resources

(Subtitle: “Oh no! Someone might actually read my post about ditching jQuery, and think I made some good points, and wonder how they too might go about learning JavaScript better.”)

JavaScript is…interesting. It’s a little goofy; there are good parts and bad parts. There’s a lot of noise around it, the result of it being just off-the-charts popular these days. It also continues to evolve as we change the boundaries of its capabilities: what started as the modest front-end scripting language of the web can be used today to do just about anything you want on just about any piece of hardware, from smart watches to enterprise-grade servers.

It can be a lot to take in. At least, it has been—still is!—for me. Good learning resources are critical. While I haven’t mastered either the language or how to learn it, I’m happy to share some things that have worked for me. Maybe they’ll help you as well!

General Advice

Sample widely. There are so many resources for beginners out there, so many of them free or cheap, it’s hard to say what’s going to work the best, what’s going to most easily click for you. Books, videos, interactive classes; find what engages you, and dive on in. Ditch them when they get over your head. Try coming back later when you have more experience under your belt.

As you progress, don’t be afraid to continuously re-engage with fundamentals. As I gain more knowledge and understanding of the bigger picture, the more specific details come into focus, finding their place in my toolkit. It’s easy to miss things, only to later realize just how much you were leaving on the table—or didn’t even realize was there to be picked up.

Finally, get your hands dirty. Do things just to get them done, even if it feels like you’re doing them wrong; come back later when you’ve learned more, and try doing them better. I think it’s perfectly acceptable code the same way you might write a blog post: drafts improve with each pass. (I speak from experience here: I can easily fall into the trap of cycling through books and classes and blog posts and then forget to actually make things with what I learn, to help the knowledge stick. I’m working on it.)

Some Links

For the absolute beginner, you might give Free Code Camp a shot. I’ve only dipped a toe into it, but I like the feel of it. Working through some of the basics here and there is helping remind me of some of the capabilities of JavaScript that I’ve missed. I can also vouch for the book JavaScript and JQuery: Interactive Front-End Web Development. My designer brain adores it! It’s so easy on the eyes! I reference bits of it just because the look and feel triggers memories and understanding.

I haven’t engaged with the CodeNewbie community as much as I might like, but I suspect that if you’re looking for more beginner-friendly resources, you’ll find people there excited to help you parse through the noise. (I do enjoy the podcast from time to time, and the weekly Twitter chats feel welcoming.)

JavaScript: Understanding the Weird Parts, a lengthy, in-depth video tutorial series by Anthony Alicea, marked a turning point for me toward a deeper understanding of what JavaScript is all about. Alicea’s delivery is pleasantly methodical, and he’s not afraid to repeat himself, as he keeps a tight focus on advanced fundamentals, like objects and functional programming concepts. You won’t learn how to build a specific killer app from this course; it’s all about enabling you to know JavaScript better. To that end, the final project of the course is a highly utilitarian “create your own library” project.

Daniel Shiffman’s Coding Rainbow channel is wonderful and all over the place and a great place to get inspiration for the kinds of creative fun things you can do with code. He’s energetic, dancy, and his examples tend toward the highly visual. Root through his playlists and you’ll find a mix of fundamentals and generalities, and specific use cases; check out the series that starts with the foundations of JavaScript, using p5.js, for some really good starting points.

From there, I’ve found that continuously trying to gather inspiration and education from multiple sources has been highly beneficial. Each new encounter with some explanation or demonstration provides more context and layering to my understanding. Seemingly tougher sources become more permeable: the documentation on the Mozilla Developer Network, for example, now that I actually know what more of those words really mean. I’ve also finally cracked the spine on Douglas Crockford’s book *JavaScript: The Good Part*s. It all helps.

As with all things dev-y, Google remains your friend. At least, until it’s not. Sorting through the noise can be a challenge. I’ve lost more than an hour of my life to terrible Google shame-spirals. It happens. (This feels like a loaded topic to me and I’m thinking about putting together another post or two about it. If you have any advice or tips or tricks for researching problem solutions in the age of Google, please chime in below, because I am all ears.)

Finally, of course: practice. Practice practice practice. I mean, don’t give up your life to it; take walks, pet animals, go to a restaurant now and then, and leave your phone in your bag. But still, making stuff, however good, however wrong, is one sure way to improve. Trust the process, but also enjoy the process.

Add Your Comments

You must be logged in to comment.