Learning to code is hard. It's great that there are so many resources to choose from, but that also makes it difficult.
These are the best resources that really helped me while starting out, or that I found out about later.
I'm not a fan of listicles with resources that anyone could have found with a quick Google search. These are handpicked! 👌
Get an idea of what coding is and what a developer actually does. Find out what you're in for.
Teach Yourself Programming in Ten Years - Reading
This pushes against the trend of short-term thinking while learning. It helps to put things in perspective, and provides great advice for a longer time frame.
How to Learn Math for Students - Course
Coding involves some amount of maths, depending on what you do with it, and many people have insecurities around that. This course teaches how to approach and think about maths.
Listen to podcasts. They are a great way to maximise your time, and keep you inspired and connected.
Listen to people's stories and how they use code at their jobs. This can inspire you and expand your ideas about what you could do with code.
Syntax is a light and informal podcast. The show hosts are two web developers who have been teaching for a long time, but still keep up with the latest trends in the space.
Front End Happy Hour features experienced developers, many from Netflix. The vibe is light like after work drinks, and you'll gain insights from senior developers at large companies.
Spend time exploring, see what's out there and what you enjoy, and then focus in. Create a plan for your own learning. It can change, but only after deliberate consideration.
P1xt Guides - Guide
This helped tremendously when I started plotting a path of what to learn. Although it was created a few years ago now, many of the resources are still very relevant today.
This is the first online computer science course I took. It is difficult but very well structured. It make the major topics approachable and lays a strong foundation for CS.
Web Dev for Beginners - Course
Microsoft's 12-week web dev course is a great way to learn and practice the basics of web development. This is the course I wished I'd had when I started learning.
roadmap.sh - Guide
Roadmaps are great for providing context before diving deeper into your next topic. Pick a dev role you're interested in and see what kind of technologies you would need to know for that role.
Treat tutorials as a starting point, and then decide if you want to explore things yourself or build out the tutorial project more.
Flexbox Zombies - Game
Flexbox is a crucial part of CSS to understand. The syntax for it is unintuitive and can be difficult to remember. This game teaches you, and provides a way to practice it, in a fun format.
Building projects is where the real learning happens. You will come across roadblocks, but this is how you learn to problem solve.
I'm a frontend developer, and some of these resources lean towards that, but all of these should be applicable to whatever kind of coding you want to get into.
I've purposely tried to keep this list short. Once you've studied the foundations, get out there and build!