Can You Actually Learn JavaScript From an Online Course?
When you see someone on Udemy promising to take you from JavaScript Zero to JavaScript Hero in only 2 weeks, it's easy to be skeptical. What about courses like FreeCodeCamp? Can you actually become a developer solely by doing an online course?
The answer is... kind of.
To be a developer (in any language), you need two sets of skills:
1. You need to know a programming language
2. You need to know how to build software (or websites, etc)
Online courses do a very good job of teaching you #1 - if you complete an online course for JavaScript, you'll come out with a good knowledge of the building blocks of JavaScript.
Where you will be weak is knowing how to apply that knowledge - even courses that promise to teach you using "real projects" will often have you copy-paste large swaths of code, but do very little to help you go out and apply that knowledge on your own.
Learning to build
So how do you learn to build software?
It can be tempting to start learning with a big project (you can learn JavaScript while you build your big business idea: Uber for Parsnips, right?), I'd recommend against it - big projects do not make for good learning.
The best way to learn to build software is to create small, bite-sized projects that you can complete somewhere between an hour and a weekend. What this means depends entirely on you, and how comfortable you are with coding. (Read this article if you need ideas)
In general, focus on learning one thing at a time, and stack them. Coding tends to build off previous knowledge, so paying attention to simpler concepts and taking the time to get comfortable will help you dramatically when you move into more difficult concepts.
Most importantly: do the work.