Projects are a great way to get better at JavaScript. However, people often attempt big ones too soon. They say things like, "I'll just code up a quick slideshow," and then when that proves overwhelming, they give up, thinking they're just not cut out for JavaScript.
This problem is important to me because I've seen it stop too many people from learning JavaScript.
The problem happens because a new coder doesn't always have experience determining what's easy. They'll pick a project like a slideshow not realizing that it involves a whole bunch of concepts (animations, arrays, functions, variables, DOM manipulation, timing, etc). Then they end up thinking, "If I can't even do this easy thing, then I can't do JavaScript at all."
Alternatively, some people will take on a project too early and succeed anyway. Because there were too many concepts at one time, they often end up remembering nothing.
The solution I've found to work best is to start with concepts first. Show text on a page. Add two numbers together. Change the color of a div. Respond to a button click. Once you gather a bunch of concepts, you can keep them as Lego blocks in your bag of knowledge. You can put the pieces together and make a whole lot of things. As a result, you'll be able to build a lot of exciting projects, you'll remember everything better, and you won't be nearly as overwhelmed.
I hope this helps, and for anyone who's interested, I've written a quick road map of JavaScript concepts to get you doing practical things quickly.
Top comments (5)
Interesting thoughts, I agree with most of it. I have thankfully had a lot of structured learning than I think most people who learn programming on their own. All that structured learning has always been small steps, with a decent amount of reward to make me continue.
It reminds me of this talk I heard a looooooong time ago, about how a person's skill level has to match or be slightly below a challenge level, and that balancing act between the two is what keeps someone motivated to do more.
I always enjoy hearing about the psychology of challenges and rewards, and that point about the balancing act is a great way to put it.
This is definitely agreeable and every beginners should start with this.
I actually experience this a lot that I often forget to start on small concepts when I was starting off. A great way to remind sometimes
"Once you gather a bunch of concepts, you can keep them as Lego blocks in your bag of knowledge. You can put the pieces together and make a whole lot of things."
I love this.
Glad you liked that part!