This is by Tenzin on Youtube (see bottom).
So not necessarily in this order.
- Learn web fundamentals and JS fundamentals. Learn the JS basics.
- Solve algorithmic challenges. At least a hundred. 1 per day for 3 months. Do 50 easy 30 intermediate and 20 advanced. Try codewars, leadcode, hackerrank, FreeCodeCamp etc..
- Learn basics of Computer science. Fundamentals of computer science, can learn online. THe CS50 by Harvard. Free, good quality.
- Use a book, cover to cover, and understand all of it before moving on.
- You don’t know JS
- Eloquent JavaScript
- Effective JavaScript
- JavaScript Design Patterns
- JavaScript the good parts
- Learn asyncronous JS and the DOM:
- timer
- callbacks
- promises, async await, clossures
- Build a ton of projects
- OOP why does it exist and how does it work in Javascript? Learn prototypes, inheritance…
- Functional programming. How is it different from from OOP? This will help with concepts in React and Redux more easily.
- Learn more design patterns. Learn MVC, model, view controller framework. (The model is the state or data, the view is the UI and the controller links them both. A lot of apps are based on the MVC framework.) This will help you pick up any library or framework much easier because you understand the how and why.
- Learn one framework properly. One of the main problems these solve keeping the UI synced with the state which is really hard.
Other things:
- learn testing
- learn another language. This can change your mindset of how to solve a problem.
KEEP learning. Keep a beginner’s mindset. Teach.
You’ll never actually master Javascript.
This will take 1 to 3 years in a very focused way. Or 3 to 5 years in a more fun or casual way.
You don’t need to do all this to get a job as a developer.