This page changes often, lock in your plan by downloading the February 2023 snapshot (PDF).
This page is my attempt to put the best coding courses out there in one list. They are put in an order so that someone new to coding can start at the top, learn from scratch and end up knowing more than a college degree could ever provide. This list can take few years to complete and will cost money, but I believe there is nothing that brings so much quality together in one place.
I can't stress enough how important this short course is. Learning is hard. Learning development is hard. Find a forum or subreddit dedicated to newbie developers and you'll see that the majority of questions are about how to keep going. “This content isn't clicking.” “I'm not learning anything.” “I don't have the motivation.”
This course is your first line of defense against those issues. It not only teaches efficient learning strategies and usable memory techniques, but it will teach you strategies for managing your time and mental state.
These two CompTIA courses are meant to help you pass the CompTIA A+ exams. If you are trying to get into development, do not waste your time on these exams. This content is here to teach computer systems on a professional level. Normally it is meant for IT support technicians. This course list is not meant for that career line. But the information is still invaluable. You will appreciate it's introduction to different operating systems, file systems, terminals, and basic networking as a developer.
Part 2 of CompTIA A+ Core. See the above description.
Great introduction and plenty of practice with HTML and CSS. While both of these are covered to some degree in many other courses, this is focused with plenty of projects to get great practice.
I could put more courses ahead of this. Sure Git and Postman are important early skills. But this is the first point where you'll build a massive project. It's where you'll discover how damn fun web development is. And it will help you relate to a lot of, if not all of the future courses on this list. Consider it the ignition to your career.
Add, commit, push. That's all I need to know, right? Not quite, only knowing the basics of git and not knowing the standard practices will get you in trouble in the future. If you don't want to lose code or create a mess for yourself that you don't know how to recover from, make sure to understand git well.
You will use Postman a lot working as a web developer. It's not only a great way to quickly test API endpoints, but it can act as a full test suite. Getting comfortable with it now will ensure you know how to use it as a tool to debug and fix problems you have with future projects.
This is the point where you're going you want to start building a portfolio. Sure, maybe you got a job thanks to Colt Steele's course. But your career has only just begun. If you haven't got your first job yet, this course will get you started on building out projects that will help you stand out. I don't necessarily recommend putting projects from a course in a portfolio. But the Web Projects course will give you plenty of inspiration and walk through a lot of things you can do with your already existing skills.
As you start putting more projects on GitHub, you're going to want to get more familiar with GitHub actions (and CI in general). This introduction will help you get started. Don't worry if anything feels out of place in terms of using a React app. That's all done for you and it doesn't matter. The goal is to get familiar with actions as a system.
As you start putting more projects on GitHub, you're going to want to get more familiar with GitHub actions. This introduction to GitHub automation will help you a lot later. If anything feels out of place, testing automation, NPM publishing, etc. Don't worry, get what you can out of this course. Study it and you'll find your connection to the topics covered here will help with topics covered later.
AlgoExpert is a huge program. You'll be spending a lot of time on it. Start with the Data Structures Crash Course, move into the Coding Interview Questions. You can then utilize the other resources like the Coding Interview Assessments, Mock Interviews, and tips as you like.
If you haven't already got a job at this point, going through AlgoExpert will help you with targeting larger companies with harder interviews.
This is a great course that will introduce a lot of important concept and tools in the Node ecosystem. You'll spend a reasonable amount of time on a few medium sized projects exploring different tools and implementations, learning each one in depth. The explanations and side quests into often underlooked subjects will put you in a position to be very comfortable working with Node.
Why are we learning to test React before learning React? You'll see when you get into the course. One of the things that is woefully lacking in a lot of courses is testing. Learning to test first with a Red-Green pattern as Bonnie uses in the course will lead to more readable, higher quality, and stable code in the long term.
This course is a great deep dive into testing for accessibility. Another often ignored aspect of web development even though it is one of the most important. The course is very expensive, and not well edited, but the quality of the information is unmatched. I currently see nothing out there better to learn how to be mindful of and test for accessibility.
This is an incredible resource for learning web development patterns. From general code patterns to understanding render patterns, you'll get a great overview of how to generally design web projects. You can either download the eBook or just go to ‘Getting Started’ and start reading every page. It doesn't take long to get through, but you'll be happy you covered these topics.
All the parts of CSS you didn't know existed or didn't understand up until this point. In my opinion this course requires some basic understanding of React, that's why we've waited so long to get to this. Previous courses would have given you a pretty decent working knowledge of CSS. But this gets much more in depth and perfectly fills the gaps that no other course does.
By the end of this course you'll be very comfortable with all the weird parts of CSS that may have confused or frustrated you before.
Very short but worthwhile course to get up to speed on the best TypeScript ORM out there. You can learn Prisma through docs and as you go, but it's worth dedicating some time to get to know the little details ahead of time.
Wes Bos’ Advanced React course a lot of fun and you'll see how much you can do with React and Next.js. With a full understanding of how React works from Kent Dodds and being able to put together a more complete application via Wes Bos’ course, this is enough to start specializing in React development. And will put you in a position of being able to smoothly transition to any new JS frameworks.
Apollo Odyssey will cover using Apollo for GraphQL and schema first design in much greater detail than other courses have. Apollo Server and Apollo Client are a powerful combo that can serve as a very clean state management system for your React apps.
A nice supplement to this course is Apollo's "Principled GraphQL" which explains the basic tenants of architecting a good GraphQL API.
After you've learned everything you can about React, Node, GraphQL and testing, now we're getting into SQL. A lot of colleges would have you learn SQL first. But I disagree with that. In the real world you should be using ORM's like Prisma. It's better to learn how to make ORM's run efficiently than to spend a lot of time writing SQL.
However, this course does a great job of giving you the necessary basics and understanding different databases. It will help you make better decisions and design databases for your future larger projects.
Take your projects to the next level. TypeScript is so commonplace you'll have come across it by now. I'm confident that you can figure out the basics of TypeScript on your own without a course. This TypeScript course is a little more than basics. It focuses on design patterns, and is meant to get you thinking about how your code is used by other developers. How to use TypeScript to build smarter, more well designed code.
Monorepos are an extraordinary way to make code reusable across projects and to encourage composable design. As you build more apps, you will love having this tool in your toolbox because it speeds up your development time by 10x when you have a system of your own custom libraries to work from.
As you move into management roles you need to get to know SCRUM and AGILE better. Working in development, you'll pick up the basics. But it's good to learn the details and Valentin Despa's courses are great.
I'll leave it up to your discretion whether you want to get certified or not. I do not like memorizing flash cards for exams. I don't think that's a good way to learn, study, or prove your knowledge. But you'll still want to learn it whether you get certified or not.
Welcome to containerization. You'll find that getting used to and working with Docker is an invaluable skill. Building applications to run in the same environment everywhere gives you an excellent level of control when deploying. This will also dig a little more into CI/CD and get you used to working with project management at a higher level.
Terraform is a tool that makes it very easy to deploy and manage cloud resources with code. This is great to have when working across multiple cloud platforms, or if you just don't want to keep track of all your AWS resources through their confusing UI. Many companies use tools like this to manage complex systems of cloud resources.
As a web developer you might be less interested in in hacking. But ethical hacking is good to learn for the same reason it's good to learn web security. It will give you perspective and knowledge that you can use in everyday development.
Web security is a complex topic that developers sometimes forget or stop thinking about it. But it should be obvious why it's good to always remain security conscious. This course will show you how hackers work to get sensitive data from web apps and what you can do to prevent those hacks.
The Linux Sysadmin course is included for two reasons. One, the same reason the CompTIA courses are included, it's important to know the systems you work with as developer. Second, as your position grows and you gain more responsibility, you'll find yourself working with Linux a lot more. Especially in managing applications and their deployments. You will want to get conformable with the admin side of Linux to perform these duties.