Okay, let’s face it, you are either reading this article because you are completely new to the world of coding and looking to either change careers or just improve your skillset, or you are stuck in tutorial hell and you believe that reading one more article about what to learn and where to learn it will help you succeed.
I am going to be honest, if you are the latter of those two, get to building and stop following tutorials. Luckily though, I will provide some resources for what to build and how to get past “tutorial hell” towards the end of this article as well as suggest what I personally believe is the best place to start if you are a complete beginner and which language to learn first as well as some free hosting options for your portfolio. Either way, welcome to the first step of the rest of your life.
Here are 5 ways you can learn how to code and master your life in 2021.
This option is great for people who need a little extra hand-holding while learning new skills because with freeCodeCamp, you write code along with the course right in the browser, which in my opinion is as much hand-holding as you can get! Lots of people swear by FCC and have found amazing job opportunities after completing their courses.
FCC is where I got started as well so I definitely recommend giving it a shot. I highly recommend completing their end-of-course projects though before moving onto the next course.
This is also a completely free, self-paced set of courses but there are some major differences in the way they do things. First of all, in my opinion, I feel that The Odin Project is better for those of you that want to jump right into what you will be doing on a daily basis as a developer.
For example, TOP will have you set up your developer environment from the get-go which is where you will be doing most of your work and assignments. They have you set up your code editor of choice, although they (and I) suggest VSCode, and have you learning your command line as well as GIT/GitHub almost right off the bat while building real projects as you learn.
A great place to start for those of you that need to start building real-world projects. Some of their courses and paths are only available to those with a PRO membership, which isn’t exactly cheap, but if you are dedicated to learning these new skills then it is by far worth every penny you will spend.
This is a great option for those of you who like the traditional learning route, as well as having a prestigious university name on your certificate. edX offers a range of different MOOC and interactive classes from top universities such as MITx, HarvardX, and UBCx (to name a few) in multiple subjects, such as Software Engineering, Data Science, and Artificial Intelligence, and the list goes on and on.
They all have the option to receive a certificate of completion (although that is usually a paid upgrade) and there are quite a few options when it comes to programming languages such as introductory, intermediate, and advanced courses, they also provide multiple “MicroMasters” programs that take anywhere from 6–9 months to complete, although those usually come at a higher cost rather than if you were to stick to their free classes.
Okay, so yes, this last one is technically two, but in my defense, they are very similar in what they offer hence why I am combining them into one. They are both learning platforms offering a full marketplace of courses being taught by some of the best industry professionals in subjects ranging from design, finance, marketing, business, etc. you name it and I am almost certain you will find a course on it.
They have some amazing courses on Web Development, Software Engineering, Cloud Services as well as DevOps or you can stick to the basics and find a beginner course on a particular programming language. This is a great option for those of you that need someone to explain the process behind why you are learning something, and how to learn it rather than just putting it in front of your face and telling you to repeat what you see and watch what it does.
Also, a great option for those of you needing to find projects to build, as you will find hundreds of courses being taught that offer real-world projects to add to your portfolio other than your commonly found suggestions (which I list below) and allow you to begin building in your own personal developer environment. You will often find these courses on sale, providing a steep discount from their listed price.
Don’t get me wrong, none of these are better or worse than the others, just different enough to where you might prefer one over the other depending on how you learn best. There are a lot of factors when it comes to picking a language to learn, or a path to go down.
But with that being said, one programming language might not be enough to land you your dream job so I highly suggest after you finish the course of your choosing, building enough projects to where you are familiar with the language and moving on to learn other languages, frameworks, and libraries such as React, Vue or Angular, maybe even Ruby or Ruby on Rails (you do NOT need to learn all of them or even most of them, I am just using these as a few examples)
At the end of the day, being a programmer isn’t about your knowledge of a certain language or languages. It’s about being able to solve problems while working on a team, and not lose your mind when you stare at your computer screen for multiple hours a day tearing your hair out trying to find a bug in your code, or someone else’s (often typos, or wrong syntax, etc.) …if only I was kidding!
How to get out of tutorial hell: Build. Build. Build. And Build. Find projects that you are passionate about, or find something that interests you or would be useful to you but isn’t available and build it, start by either using Google, Stack Overflow or checking back to your notes from when you were learning so that you are able to just get the ball rolling towards your end goal. If you are knowledgeable enough in this department, you shouldn’t have trouble getting started.
If you have absolutely no idea what to build for your portfolio, start with something such as a game of tic tac toe, or a calculator maybe even an alarm clock. The options are endless at this stage! If you need free hosting options to show off your portfolio to potential employers, check out GitHub Pages, Netlify, or Heroku to name a few.
Once you have a handful of projects in your portfolio it is time to start applying to jobs! I suggest getting comfortable enough with your editor, command line, and Git/GitHub beforehand, but there are many companies that will be willing to teach you those things along the way or have you learn at the beginning. It’s just a matter of being confident enough in yourself to solve the problem someone else is hiring for, and being honest about what you are skilled in and what you still need to learn.
Good luck to you all in your next chapter and feel free to tag me on social media if you have any updates along your journey.
PS, I am in no way affiliated with any of the above organizations, nor is this post sponsored in any way. I am just here to provide information to those who may benefit from it :)