That's fantastic! Welcome to the journey! You've gotten a ton of good resource suggestions, so I will take a slightly different tack and talk about your development environment. Sometimes the difference between understanding and not understanding is just realizing that you understand... meaning the code behaves the way you expect it to, and you get the results you expect. A good IDE can help catch some errors (capitalization problems with variables, matching closures, etc.), and give you some good code navigation tools, too (peeking at a definition, going to a definition, renaming all instances, finding all implementations, etc.). Ask 10 programmers and you might get 10 different answers, but for my development I use Visual Studio Community (free). There are also online options like jsfiddle.net and codesandbox.io . Last, it helps to be able to isolate and get immediate results from a piece of code that might be causing you trouble. The MDN resources on javascript are extremely helpful in that they not only walk through the function you might have trouble with, but they have live, mini-dev editors that let you run code in an "immediate" way. And, of course, the community is here to help, too!