Be sure to drop me a line in 3 months when you’ve sorted everything out and decided on the best course of action (or moved on to something more fruitful).
freeCodeCamp is an incredible resource for learning the basics (and beyond) of web development.
From this point on, I will assume familiarity with HTML and CSS, but if you’re totally new to programming, freeCodeCamp has you covered there, too.
If you’re anything like me, you’ll need some reinforcement. Not everything is going to sink in on the first go-around.
One option is to just re-do the freeCodeCamp exercises, but I prefer using multiple resources to keep things fresh and interesting. It can also be valuable to get someone else’s perspective on the same topic. Codecademy is great for this. You’ll experience many of the same areas and issues from a slightly different angle.
You’ll learn about scope, closures, prototypal inheritance, first-class functions, and more in this comprehensive series. It’s well-worth the $20.
As with any book or video course, be sure to code along and take your own notes for later reference.
As you work through this series, continue to plug away at freeCodeCamp’s challenges and start their intermediate front-end projects. These projects are unguided, which may sound scary, but I guarantee you will learn a ton by doing them. They will force you to confront the gaps in your knowledge and will rapidly increase your Googling skills for when you get stuck and don’t know how to implement a certain feature.
Step 3: Kyle Simpson’s You Don’t Know JS
I’m not sure what I can say about this series that hasn’t been said elsewhere at this point, but it’s incredible. Once you finish Tony Alicea’s course, start reading You Don’t Know JS while you continue to work on the freeCodeCamp curriculum and projects. Simpson is more than deserving of your money, but if you can’t afford to pay, the books are all freely available on his GitHub.
Some notes about struggling, not knowing the answers, and perseverance.
There will be many times when you hit a wall — when you don’t know the answer to some problem and feel like you’ll never figure it out. I’d like to share just a few techniques for when this happens.
1. Walk away
Take a break. Step away from the computer. Get some tea or coffee. Think about something else for a little while. It can be valuable to just clear your head for a little while. You’ll be surprised how many times you’ll be able to quickly solve the problem when you return.
2. Ask for help
Don’t be embarrassed or ashamed to ask for help. Sometimes a nudge in the right direction is all you need to get back on track. In my experience, people love helping out others, and are more than happy to spend a few minutes on your problem. The freeCodeCamp community on Gitter and the CodeNewbie Slack channel are great for this.
3. Move on to something else
If you really can’t get it, there’s no harm in moving on to another topic. It’s nice to have a couple projects that you can bounce between when you are feeling stuck on one or the other.
This is just a guide
If this plan helps you, inspires you to get started, or even has you fuming in disagreement, I’d love to hear from you on Twitter.