There is no “correct” curriculum for learning programming. One of the reasons it’s so difficult to apply what you learn from a computer science degree is that software development changes quickly, unlike other trades. That doesn’t mean that degrees are useless, and a lot of what you would learn there will be beneficial to your career. However, programming is a field with so much information online that you can 100% learn how to program without formal education.
<aside> ⚠️ If you rely on structure to keep yourself on course, you might not want to pursue a self-guided path to a career in tech.
There will be some things that you’ll need to know, no matter what type of programming you find yourself drawn towards. Those will be in the Need to Know section. Everything after that aims to provide you with introductory content that you should check out to get a feel for that area of focus and accompanying material should you want to dig in deeper!
There will be a lot of content listed in this doc, don’t let that intimidate you! Remember that you’re viewing about a year’s worth of college courses across multiple degrees. You won’t need to (or want to) learn all of this. Each area can be your focus, or you could eventually focus across multiple areas.
<aside> 💡 You should not equate this document with a structured college curriculum. This is more of a map or road sign than it is specific directions. It also only covers introductory material and aims to get you started, not complete your education. It is self guided after all!
<aside> 💰 If you see the money bag emoji, that means the resource is not free! However, I’ll only recommend resources that are worth the money.
<aside> ⚠️ It’s important to remember that I’m only one person and that my advice will be biased towards my experience. The best thing you can do is share this with others and seek out more people to get input from so that you can make as informed decisions as possible about your future.
Everything in this section is required learning for programming in a collaborative work environment. This section focuses on the apps, tools, and services you’ll encounter every day when working as a developer.
<aside> 🧠 Your journey in tech is going to be long and even with a getting started guide like this one, you still will have to figure out how to navigate the tech eco-system in order to land that first job. Before diving into this guide, I highly recommend first absorbing this comprehensive guide on breaking into the industry.
terminal might not be used that often depending on your learning journey, it will often be referenced in learning material without much explanation about what it is or what to do if the instructions given don’t work as described in the content. As such, having familiarity with it early on will make everything else you have to learn much easier.
Command line crash course - Learn web development | MDN
Command Line Power User
Bite Size Bash!
<aside> 💰 Bite Size Bash is a paid resource ($12).