Raise your hand if this sounds like you:
You’ve been in the tech industry for a number of years, you know HTML and CSS inside-and-out, and you make a good living. But, you have a little voice in the back of your head that keeps whispering, “It’s time for something new, for the next step in your career. You need to learn programming.”
Yep, same here.
I’ve served in a variety of roles in the tech industry for close to a decade. I’ve written a bunch of articles on design, coding, HTML, and CSS. Hell, I’ve even written a few books and spoken at conferences around the world. But there’s still that voice that keeps telling me I need to tackle programming; that I’ll never be fulfilled until I learn how to develop my own ideas and projects from scratch. Being a web guy, the obvious language to learn: JavaScript.
Like a lot of people, though, I’m intimidated by the current JavaScript landscape. With the constant influx of new tools, techniques, and frameworks, it’s hard to figure out where and what to start learning. Still, I need to start somewhere. So I thought a review of learning resources and tools would be a good first step.
The Burden of Information
How about this, does this sound familiar, too?
You’ve attempted to learn programming before with a few different languages. You’ve read books, you’ve subscribed to online courses, and you have a bunch of folders littering Dropbox with half-completed code and copied exercises.
Samesies.
I’ve gotten halfway through The Rails Tutorial and Learn Python The Hard Way. My bookshelf is full of massive tomes on everything from ActionScript to Processing. But nothing ever seems to stick.
I can figure out what a PHP file does and understand a bit of jQuery, but if you asked me to sit down and write the most basic of programs, I’d be hard-pressed to do it. After so many failures, I think I’ve figured out the problem.
Any time I start learning something new, I immerse myself as fully as possible in that topic. I buy books, I watch videos, and I listen to podcasts. It’s the same tactic that a lot of companies push as the best way to learn a new topic, whether it’s programming, cooking, or picking up Mandarin in a weekend. Immersion is a key part of learning, apparently.
But the problem is that people (or at least me) have a threshold for how much information they can process before feeling overwhelmed. I call it the “burden of information.” Information is wonderful, but too much of it weighs down the mind, leaving you burnt out and hopeless, and leading you to give up and feel like a failure.
I don’t want this attempt to be like all the others. I know that I need to immerse myself in JavaScript but I don’t want sink into the quicksand of the JS world only to suffocate myself. So I decided to review the JavaScript learning landscape and pick out a few resources—but not too many—that I can use to finally scratch the programming itch.
I broke resources out into four categories, based around the different ways that I like to learn (and I suspect others like to learn, too). Those categories are: reading, watching, listening, and, most importantly, doing.
Here’s what I found.

Reading
My favorite way to learn new things is by reading about them. While that mostly means books, I also love filling up my RSS feed with good blogs and my inbox with great newsletters.
Books
Fortunately for me, there are a ton of acclaimed books about JavaScript. Here are some of the most recommended:
- Eloquent JavaScript by Marijn Haverbeke
- JavaScript: The Good Parts by Douglas Crockford
- JavaScript: The Definitive Guide by David Flanagan
- You Don’t Know JS by Kyle Simpson
- Secrets of the JavaScript Ninja by John Resig, Bear Bibeault, and Josip Maras
- JavaScript and jQuery by Jon Duckett
- Speaking JavaScript by Axel Rauschmayer
- JavaScript for Web Designers by Mat Marquis
When I was attempting to learn Python, my favorite resource was Zed Shaw’s Learn Python The Hard Way. It was a no-BS approach to learning by actually coding. While he has a similar book about JavaScript in the works, it’s not available yet.
The closest I could come to it was Eloquent JavaScript by Marijn Haverbeke. From what I’ve heard, it’s a wonderful introduction to JavaScript and, looking at the contents, it appears to follow a similar approach as Zed’s Hard Way books: starting off with the nuts and bolts of the language and progressively getting more challenging as more advanced concepts and projects are introduced.
All of the other books in my list look excellent but most seem a bit too advanced for where I am right now. The two exceptions are Jon Duckett’s JavaScript and jQuery and Mat Marguis’ JavaScript for Web Designers. I loved Jon’s book on HTML and CSS but don’t feel like the visual approach used in his books will work for more complex topics (at least for me). And Mat’s book looks like it addresses my use case perfectly but seems like it won’t be in-depth enough for longer term learning. Still, as I have most of the other A Book Apart books, I’ll probably supplement Eloquent JavaScript with JavaScript for Web Designers.
I’m sure there are a ton of other fantastic books on JavaScript out there, but those will have to wait until after I finish my chosen book. Remember, I want good information, but not too much of it right away.
Blogs
Holy crap, there are a ton of blogs out there on JavaScript. It actually makes figuring out which ones are good kind of tricky. I’m open to any suggestions you might have (leave them in the comments!) about who I should follow, but my initial take is that these are a good place to start:
There are a bunch more that I came across but most seem too complex at this point in my learning. Or others belong to individuals that talk mostly about their own projects and less about the basics or the process of learning. I’ve bookmarked all of them, though, to dig into once I’m more up-to-speed.
Newsletters
I’m an unabashed lover of HTML newsletters, as evidenced by my previous writing on the subject. So, naturally, I hunted down a couple to subscribe to:
- JavaScript Weekly
- Versioning by SitePoint
But I get the sense that there are more out there that I just couldn’t find. I mean, there’s a newsletter for damned near any topic. With JavaScript being so popular, there have to be more than the two newsletters I found above. If you have any tips, send them my way via the comments below.
Watching
Another good way to learn is by watching others do the thing you want to do. But this is almost always secondary to me reading to learn. Still, when I get stuck on a topic or want to dig deeper into certain aspects of coding, watching videos will be a good way to do it.
For the most part, there are two categories of videos online: courses and standalone videos (mostly on YouTube). There are a ton of options for both, but these are the best from what I can tell:
- ES6 for Everyone by Wes Bos
- JavaScript 30 by Wes Bos
- Code School’s JavaScript path
- Introduction to JavaScript Programming by Kyle Simpson
- The Good Parts of JavaScript and the Web by Douglas Crockford
- Debugging and Fixing Common JavaScript Errors by Todd Gardner
- Data Structures and Algorithms in JavaScript by Bianca Gandolfo
- The Coding Train by Daniel Shiffman
- Fun Fun Function by Mattias Petter Johansson
- LearnCode.academy
- JSConf YouTube Channel
I’ve heard amazing things about Wes Bos’ courses, so I’m going to dig into those at some point. The same goes for both The Coding Train and Fun Fun Function. But again, I don’t want to be overwhelmed, so I’m planning on setting all of those aside for after I work my way through *Eloquent JavaScript*.

Listening
Podcasts are an excellent way to learn about concepts and immerse yourself in a particular culture without needing to be actively tied to a screen. Basically a good way to keep learning while I get the dishes done or pick up after my kids.
But, like with email newsletters, I found it difficult to track down good JavaScript podcasts. Looking around, it seems like there are a ton out there but most are inactive and outdated. I came up with the list below but I’m hoping that y’all can point out a few more to add to my podcasts feed.
Doing
The last, and arguably most important, part of learning JavaScript is the actual doing part: writing code, getting it to work, and repeating.
Like I mentioned at the beginning, I’ve been writing HTML and CSS (and playing around with other technologies) for years, so I’m a bit biased on some of my tools. I mostly work with Sublime Text on my Mac, so I plan on sticking to that for writing code locally. But, as I’ve been working more on my iPad Pro lately, I’d like to augment Sublime Text with a few additional tools for writing and testing code while I’m learning.
The main one will be CodePen. I’ve been a Pro subscriber for a while and find that it’s tremendously useful for writing code no matter what platform I’m using. Since it works in the browser, it’s easy to pop open a pen on my iPad while I’m hanging out at the coffee shop and have a full-fledged JS development environment ready to go. It also has a few features that I’m sure will come in handy at some point: private pens and collections for when I want to keep embarrassing code secret, projects for when I want to work on more substantial stuff and have it hosted somewhere without any pain, and collaboration mode for if I ever need to tap some friends to help me out with some tricky code in realtime.

I looked at other tools like JSFiddle and JSBin, but I’m comfortable in CodePen and their features are killer, so I’m sticking with it.
One other online tool that I plan on using at some point is Glitch. It’s a relatively new tool for writing code and sharing it online and has a wonderfully eclectic community that’s built up around it. While I think most of my coding will be done in CodePen or locally in Sublime Text, I think Glitch will be vital when it comes time to learn about more complex things like interacting with APIs, making weird bots, and testing out some of those scary frameworks.
My Learning Plan
So, taking into account all of the resources above, here’s what I’m planning on doing to learn the basics of JavaScript over the next few months:
- Work through Eloquent JavaScript
- Code locally in Sublime Text but primarily online with CodePen
- Keep up with news via the blogs, newsletters, and podcasts I found
- Dive into JavaScript 30 and ES6 for Everyone after I’m done with Eloquent JavaScript
- Start working through the videos and books listed above after I’m done with Wes Bos’ tutorials
- Build some (hopefully) cool stuff in the process
One of the most important aspects of learning, though, is getting feedback on what you’re actually doing. For that, I’m going to be calling on a few friends and anyone reading this who wants to pitch in.
I’ve set up a new collection on CodePen to house my JavaScript projects throughout the learning process. I’ll keep that collection public so that anyone can see what I’m doing, fork examples, and school me on the best way to do things. If that sounds like your bag, then follow along on CodePen.
Finally, if you have any other resources or strong opinions on the ones I’ve listed above, let me know in the comments below. I’m sure a lot of you have been through a similar learning process and have some amazing tips you can share. I’d love to hear from you, so drop some knowledge right here on CSS-Tricks or email me.
Interesting idea here: stop reading and start typing! Cheers
So, when you’re done reading/learning the basics of JS, you may want to delve into some JS frameworks and modern JavaScript. For this, I wholeheartedly recommend courses by Tyler McGinnis.
What I wanna know is how you became so successful with just html and css!? I’ve always felt like I didn’t know enough yet to really become successful in the web world for the same reasons you described made you feel unfulfilled. I always thought “when I learn mysql, php, javascript, and C++ THEN I’ll be successful.”
Jason – I’m in exactly the same boat as you, I’ve tried most of the “traditional” ways to learn js and like yourself nothing has fully stuck. I have had moderate success working through the javascript 30 course by Wes Bos, and while you mentioned it for their blog “freecodecamp” is actually a solid platform for learning as well as their forums. They not only go through theory snippets on their site, but they require you to create a codepen and then build “real word” projects at the end of each module that you then have to submit.
Ah, nice! I didn’t realize that they had a platform for learning, have just seen random articles and stuff online. I’ll check it out for sure. I think that “real world” project approach is going to be the key for me learning. I need to build stuff, not just learn theory (although I’m starting with a lot of theory in Eloquent JavaScript).
Personally if I wanted to go from front-end design to programming, I would learn PHP (or something similar). If I had to build an entire application using only PHP then I could. However I couldn’t build an entire application using only JavaScript.
@Gareth. It is possible and quite doable to build an entire web application using only javascript (and HTML/CSS). Node.js serverside and whatever ‘flavour og the month’ Frontend framework React/Vue/Angular on the frontend.
You can build entire applications using JS these days, but I totally get your point. For me, I wanted to focus on rounding out my understanding of the three technologies most associated with the web: HTML, CSS, and JavaScript. Plus, I have some fairly specific goals for learning JS, which I might talk about in another article.
How is that you “Can’t” build an entire app with Javascript? With Javascript you can build both the front-end (Vanilla JS, Jquery, Angular) and back-end (Node.js, express) and there is even ways to package your app for desktop (Electron). I’m not trying to bash your statement, I’m sincerely asking what was your point
I couldnt imagine building an app entirely using PHP. The user experience would be terrible with constant page refreshes after every single action on the page requiring forms everywhere. Besides that you still need to connect to a database for data management of any kind.
There’s a reason Laravel ships with VUE out of the box now. Javascript is far from perfect but if you learn the major frameworks, you’ll find plenty of jobs. Don’t keep yourself from learning just because you prefer only one language otherwise you’re gonna get left behind.
Except with the mean stack you can fully build a web app using only JavaScript
Sorry, I wasn’t suggesting I would build something using only PHP, just that I could. Whereas I would really struggle to achieve the same thing with just JavaScript, in particular without some kind of framework. My point was if I was going to start learning to program my preference would be to learn a server-side language.
Very good post! I love the resources you’ve provided. I’ve heard of a few of them, others I haven’t heard, and some I probably should be looking into. Thank you for sharing!
One resource that really, and I mean really helped me was a tutorial found on Udemy.com called JavaScript: Understanding the Weird Parts by Anthony Alicea. It’s a video tutorial and it goes into amazing detail about how JavaScript is really actually weird. I believe it’s on sale now even! That video tutorial is very comparable to Eloquent JavaScript I would say.
Once again, thanks for sharing. There’s a quote I like from C.S. Lewis that goes like this…
“The only people who achieve much are those who want knowledge so badly that they seek it while the conditions are still unfavorable.”
Gotta keep learning! And kind of like how you pointed out, try to be brave even though there is a ton if information out there.
I would consider myself “begintermediate” at JS and totally in this boat.
I want to +1 on Anthony Alicea’s courses on Udemy. He also has a Nodejs course that is fantastic. Anthony is an outstanding teacher and goes to great lengths to explain everything. He takes nothing for granted and reinforces terms and walks through functions throughout the entire course.
“A Smarter Way to Learn JavaScript” ebook on Amazon gives you access to guided exercises that really drills in muscle memory. I was skeptical, but don’t judge a book by it’s cover. It’s earned the 1400+ reviews. There’s also a jQuery book too.
I also recommend Anthony Alicea’s course JavaScript: Understanding the Weird Parts.
He sometimes repeats a concept a few times, but explains it in a slightly different way each time, which really helped my understanding. A very good teacher.
That’s so exciting you’re gonna be learning about JavaScript! I wanted to tell you about some other resources I found when I first learned JS. W3Schools is a big one, but I mainly use MDN nowadays because when I’m looking something up, it’s usually to get a refresher on how something works in more detail. I highly recommend The Coding Train, and Fun Fun Function is a really great channel too. The latter may be a bit more advanced. The Coding Train covers all the JavaScript basics, so you’re set if you watch his videos. He even covers really complex topics too. I’d say Fun Fun Function is better for diving into ES6. Another great channel is Meth Meth Method, no relation to FFF lol. I really liked the Mario series he’s doing on there. It exposed me to writing JavaScript modules, and I wanna learn more about those.
If you could find a JavaScript basics course that’s in ES6, that’d be great, but I don’t know any. All the ES6 stuff I’ve come across is more supplementary to JavaScript for those who already are familiar with it. ES6 does make JavaScript more fun for me, and that’s why I still love it.
I remember when I first started doing JavaScript, it was my first “real” programming language. I just remember loving W3Schools’ Try It feature, where they would post live examples you could tinker with as you learn new topics. That was really helpful. It’s easy to get bogged down with a lot of information when learning a new language, like you said, so really start with the bare basic stuff to make it easier. Good luck on your JavaScript journey! I’m looking forward to seeing your beautiful creations!
Just a final note here; don’t be discouraged if you don’t get a particularly difficult concept (once you get past the basics) like prototypical inheritance, hoisting, function/block scope, type coersion, automatic semicolon insertion, immediately invoked function expressions, etc. It’s all really confusing, and I surely didn’t get it all right away, but don’t let that stop you. It’ll all come in time. You most likely won’t come across that stuff directly until much later, so don’t worry about it.
One of the best things about this article is the chart using the VARK learning model. I appreciate it when people take into consideration that we all learn different and having resources grouped based on learning style makes life a lot easier.
I didn’t even realize that the VARK model was out there (or at least that it was named that). That’s primarily just how my brain breaks things down and how I understand the different ways to learn. I’ll definitely be using that acronym from now on!
@Kyle Shover I second your opinion on Anthony Alicea’s course on Udemy. I consider it to be the best investment of my life. Can not recomment it enough
I had the same problem like You. My plan which is still working is to focus on pure JS coding. No frameworks no other stuff which can pull me out of focus point, which is good knowledge of programing in JS. One book, but good is enough for beginning (in my case it was HeadFirst Java Script programing by Eric T. Freeman, Elisabeth Robson. Super simple for dummies but it’s working). Some good start point is of course some live coding site’s FreeCodeCamp or Codecademy(like You mentioned). But most top of the top important thing is to start code by your self. First simple tasks, but it has to be your code. Get some problem and solve it. For me it was adding numbers written in two inputs. It take me a while but satisfaction was tremendous. Code every day it is good path to make a goal.
Any tutorial series by Wes Bos is the gold standard. And tutorials by his Syntax.fm podcasting partner Scott Tolinski (find them at leveluptutorials.com) are a very close second. And listen to their podcast–not only full of practical advice, but lots of fun.
You are creating subconscious resistance, which keeps you from getting started. Your goal to learn all the details derails your progress and even this blog post detracts you from accomplishing your real goals. To build something.
“War of Art” is a great book on this topic. As well as “The heart to start” by David Kadavy
Cheers
It’s like you read my mind with this article. I’ve tried so many times to learn JS and it never sticks. I’ll follow your plan and see if it works for me. Thanks!
Other websites you can try that are free is sololearn.com and khanacademy.com.
The Solo Learn website is strictly about programming whereas the Khan Academy website is several topics for kids in school as well as programming.
Great summary! I know that very well from my own experience!
Oh and on the topic of collaborating in real time with other devs in your text editor, Atom has Teletype https://teletype.atom.io/ and that alone for me is a reason to use Atom and code with friends, super easy & just works plus the feeling you can get from working on code together is simply awesome.
There is so much you can learn in a quick chat with a more experienced dev looking at code together, I would even argue that no other way of learning makes you pick up stuff that fast. So be nice to people that know JS (generally be nice to all people!!) and who knows sooner rather than later you might find yourself a mentor/tutor that is happy to send a few minutes a day or hours a week doing some pair programming.
Not only does it help you but it also helps them since explaining what you know to someone else is also a highly rewarding feeling and makes the knowledge you think you know stick even more and be seen from different perspectives.
To be fair, VSCode also has this in the works.
Nice collection of learning resources. You might find something in addition over here: https://github.com/micromata/awesome-javascript-learning
If you have a base knowledge of JavaScript, programming, loops, variables, etc. I would highly recommend Anthony Alicea’s Udemy course JavaScript Understanding the Weird Parts, https://www.udemy.com/understand-javascript/learn/v4/overview. I love his teaching style and he goes “under the hood” so you can get a deeper understanding of the language. His talking is a little slow but if you speed it up to 1.25x it’s excellent. Good luck!
Nice article with great links. Especially like how a few of the links include people strongly influenced by functional programming.
I’m a learner who is still in the beginning stage of actually coding but have decided to focus on building things in React with styled-components for CSS-in-JS and JSX for HTML-in-JS.
One resource I like is javascript.info for the section regarding the browser and the DOM. Very nicely written. Better than MDN, for my mind.
IdI suggest reading Eric Elliot’s articles, too:
https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea
https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3
For React and Redux this is a great article by James Sinclair:
https://jrsinclair.com/articles/2018/react-redux-javascript-architecture/
As you have come from a CSS background I recommend these CSS articles and videos:
https://medium.com/seek-blog/a-unified-styling-language-d0c208de2660
http://jxnblk.com/writing/posts/patterns-for-style-composition-in-react/
Cheers,
Nick
I have to say, I don’t recommend JavaScript as a second programming language to learn. It can be the first, though.
The first programming language you learn should be a simple, declarative language, preferably with functions. Nothing too complex. You can do some things with that subset of JavaScript. Alternatives include PHP and Python.
The second programming language you learn, if you’re aiming toward high-level development, should be something that forces you to use classes. Not just use pre-written classes, but extend pre-existing, possibly abstract classes. The only languages I know like that are Java and the very similar C#. JavaScript has two drawbacks: it doesn’t force you to use classes, and it does force you to use callbacks, which will drive you crazy.
I’ve explored a lot of JS resources myself. Here’s some I can recommend, and all mostly free.
* The JavaScript Way book
* Nicolás Bevacqua books
* JavaScript Allongé, the “Six” Edition
* Practical JavaScript by Gordon Zhu
Great summary!
I learn JS as well. My method of learning is similar to yours but I found out that online courses don’t work for me. I do tasks at Codewars using a book and other resources to solve them. Also I add JS into my projects and it works for me! Good luck!
I swear by freeCodeCamp. That place will get you started learning things faster and in a better order than anywhere else I’ve tried. Skip ahead past the HTML/CSS stuff (or don’t; your choice) and dive right into the JS. Tasty, delicious JS.
Also, Colt Steele’s Web Developer Bootcamp course on Udemy is a VERY fine investment ($10).
Sublime is good. But I use Visual Studio Code. Because it’s a full JS open source project. And each time I code in JS/Node with VSCode I remember the beauty and the power I can achieve with JavaScript.
Thanks for this really cool article! I personally see a lot of value in learning from other people’s learning strategies. I would love to see how good (or not so good) Eloquent JS turns out for you (I’m using You don’t know JS). Also, I do hope you that you do a follow up post on whether or not you’re going to dive into the world of JS frameworks (and/or node.js) and if so, which one you pick.
About the podcasts, I like Javascript Jabber. One of their more recent release was on “How to learn JS when you’re not a developer”. They have discussed pretty dope stuff on JS performance, node security, etc also. I think they have a good balance of advanced, intermediate, and basic stuff.
Very good article. I’ve linked to it on my blog with a few of my own suggestions. I am still very early in my JavaScript education. My post is at https://blog.mikepolinske.info/2018/02/22/the-javascript-learning-landscape-in-2018-css-tricks/
Great resource for starting with that awesome language! One advice for you, maybe for once you’re more on an intermediate level: consider taking a ‘live’ course with real life mentors. They can guide you in the right direction from their own experience, plus they’ll probably be enthusiastic about answering all of your questions. Even only one course day could save you days of work figuring everything out on your own. In Europe, Hackages (https://hackages.io) is a good option for hands-on, high quality courses in JavaScript & related frameworks.
What, no simple consol.log() or alert() declaring “Hello World” in the first pen about Javascript? :-(
Excellent article! I adore the resources you have provided. I have heard of some of them, others that I have not heard, and a few I probably ought to be looking into. Thanks for sharing!
One source that, and I mean helped me turned into a tutorial located on Udemy.com known as JavaScript: Recognizing the Weird Parts from Anthony Alicea. I feel it is available today even! This video tutorial is quite similar to Eloquent JavaScript I’d say. More, thanks for sharing. There is a quote I like from C.S. Lewis which goes like that… Have to keep studying! And kind of like the way you pointed out, attempt and be courageous even though there’s a ton of info out there.
Thanks again Chris for your candor and honesty. I always feel like a human being again after reading your stuff. Once again you hit on exactly the struggle many of us experience. Recently I decided I just had to learn JS – again. Free Code Camp is good, but I found myself trying to do projects I didn’t feel I had the foundation yet to tackle.
I stumbled upon what I think is the very best JS learning course out there. It’s called Watch and Code – Practical Javascript. I’m surprised I didn’t see it on your list of resources – watchandcode.com
OOPS! Sorry Jason, the way you talk/write is reminiscent to me of the way Chris writes and thinks. Thanks for the great article. Really good. I don’t feel like the special case guy now that’s the only one behind the curve.
I agree. You will not find a better beginning/intermediate JS course than Gordon Zhu’s free Watch and Code video course. In my opinion, it sets the new standard for teaching coding.
Very timely! I’m just starting my JS learning. I’ve gone so far as to hire a tutor through Wyzant.
Great summary, which im looking for
Just wanted to add some hard-learned tips:
On motivation:
I’d recommend that if you want to start learning JS work out exactly WHY. Is to open up employment prospects? To be able to develop you own project? To be better at your own job? Be cautious of wanting to be learn because you think it’s expected — what you learn should contribute to your career path. Then work out WHAT you want to be able to do with those new skills — having a real-life project to share with your friends and colleagues is an amazing motivator. Offer them updates and create deadlines and they’ll hold you to account, increasing your likely-hood to follow through.
On languages:
The principles of programming are the same regardless of the language, but the language often comes with best practices, and some key paradigms that are actually a part of the ENVIRONMENT in which they run (eg. while Node is js it runs on a server which is a different environment to a browser). My recommendation would be to start with some basic programming (variables, loops, conditionals, functions, classes etc), then using those skills to learn a frontend js framework (Vue, React, Angular). That will be a gateway to server-side stuff as you’ll probably need it to build your project or run the backend.
Also check out this wrap up to identify what would is current in the js landscape: https://stateofjs.com/2017/
+1 for Watch and Code – Practical Javascript: https://watchandcode.com/p/practical-javascript. Just read the reviews you’ll start to hear many familiar stories, such as yours.
I am doing something similar. I have a copy of Eloquent JavaScript (first ed). I’m subscribed to CodeSchool. And I am also working my way though the FreeCodeCamp (because they’re accredited and I can get a certificate at the end).
Interestingly enough the one thing that is tying almost all of this together is Programming By Stealth a podcast/lesson in practical and fundamental programming concepts, taught with JavaScript. It may not be right for all but it’s very good at being clear and Allison is good at speaking up for the “Why” questions, as is the primary learner in the show.
Hi Jason,
Listen to this little voice, you won’t regret it ;).
Picking up Javascript is a good choice based on your technical background. It will be the perfect wedding between your HTML/CSS skills and a programming language.
I’ve been a developer for 15 years now with various programming languages and I can tell you that the best way to learn a programming language is to use it to build a project you need.
If you just do some random exercises you won’t keep the momentum and the motivation. You need this dopamine shot you get when building something from scratch with your bare hands!
Nothing beats working on a real project to learn a programming language. You listed a huge collection of resources, that’s great, but there are tons of others materials to read/view/digest and there will be a lot more in 1 month or 6 months. These won’t teach you how to develop. A real world project will.
My single advice is: pick one book and stick to it. Don’t watch other stuff unless you’re stuck. Build your project and use the book to help you out. But don’t try to ingurgitate everything out there, you won’t have the time to plus it’s useless. Work on the basics first, you’ll have plenty of time later to sharpen your skills with advanced material.
That’s the only way to stay motivated to learn a programming language. Build your own real project while learning.
Jérémy.
PS: I refreshed my HTML/CSS skills recently (didn’t touch this for decades, CSS almost didn’t even exist when I used HTML). And I can tell you that this domain too can be overwhelming. CSS3 is awesome, but there are also new tools around it like CSS pre-processors/post-processors, new build tools like gulp, grunt etc. and new workflows to learn. I was pretty shocked!
The more we move forward the more overwhelming it will be. So if you want the less overwhelming landscape for JS, the best moment to learn was yesterday. The second best moment is right now, so you’re on the right track! Good luck!
http://javascript.info/ is insanely good and seems to be up to date as opposed to some of the video classes
Thanks for the article, Jason, lots of good resources here. I’m very fond of Eloquent JavaScript myself.
You mentioned that you haven’t found many JS-related newsletters. Shameless self promotion here; I run a weekly JS debugging puzzle newsletter called All Tests Pass, which is well suited for beginner and intermediate JavaScript developers. Check it out at http://tinyletter.com/alltestspass
I’m working my way through the ‘You Don’t Know JS’ book series now and I’m finding it a good breakdown of the language and it doesn’t assume you already know half of what it’s explaining, like a blog posts seem to do.
I also like the codewars website for little challenges that are good for testing your learning so far. After you’ve completed a challenge you can see everyone else’s solutions too which I find super helpful for learning new bits.
Absolutely in the same boat. Been trying to find time and focus to learn Javascript first, then jQuery, then onto things like ES6, React or Vue. Guess it comes down to learning the basics first then building on top of it. Having a project (real-world or personal) to work on really brings things to life, especially if you’re on a deadline.
Don Ricardo Jr. wrote in, after the buzzer:
Gordon Zhu’s courses: