Have you ever been overwhelmed by the number of technologies you are expected to learn to get a job as a software developer? In this article, I will teach you exactly where to go to learn how to code for free (mostly).
Whenever you were learning how to read, it’s unlikely that you just opened a random book and started reading. Most likely you were learning the alphabet and how each letter is written and pronounced. You may have also learned that depending on how different letters are put together, they may be pronounced differently. This is what I would call the fundamentals of reading.
Let me suggest that you may want to keep the same approach to learning how to code. That means starting with the fundamentals. With reading, you didn’t start practicing by reading the War and Peace. In fact, you didn’t know what kind of books you like yet because you’ve never read one.
CS50 by Harvard University
Regardless of what type of software you want to write, my recommendation for the first course that you take will be the CS50 from Harvard. It’s available for free on Edx.Org and on the Harvard website itself.
Yes, the lectures are long and the assignments can be challenging at times. But in my opinion, David Malan is the best professor ever and I would have loved it if all college professors taught with such passion and were able to present hard topics of computer science in simple ways.
And here’s the fun part: somewhat recently, they made a change to the course where after 8 weeks, you can actually choose a path you want to continue on. And the paths are web development, game development, and mobile development.
In fact, the course is free and pretty much never ends (it just restarts each year where they upload updated lectures). So there’s nothing stopping you from trying all the paths and deciding which one you like most!
For someone who’s never coded before or someone who is still struggling with fundamentals, this would be my first recommendation.
Still want more options? Udacity.com is my answer! They have a lot of courses built with companies like Google that are totally free. Want to learn AI and learn how to write software for self-driving cars? Or maybe you just want to build mobile apps and learn how to monetize them? Or maybe you’re not interested in the actual coding part but want to be a product manager or UX designer? You can find it all here! Including a course about how to prepare for an interview!
I also like that each video in all the courses is between a few seconds and a couple of minutes long. That way you don’t get tired of watching something and they put quizzes between some videos so you don’t fall asleep and actually pay attention.
And if you want some guided support, they have what’s called nano-degrees. It’s courses with more lessons, mentors who will check your assignments and answer questions, and they will also help you get your resume into the right state and prepare for the interviews.
This is definitely one of my top choices for programming websites and has been for the last couple of years.
This is a paid resource and I was lucky enough to have my employer pay for it, so check with yours if they will do it for you, but I do enjoy the quality of their content and that I can find resources on almost all the topics. A lot of people known in the software development world have their courses on this platform and I spent countless hours when I was just learning how to program watching courses about all things C#. Eventually, I got a job and was able to actually keep it, and then get a new one, so I’d say it’s a success. It also has tests where it evaluates how well you already know something and suggests courses based on your gaps in knowledge. And in addition to that, it has what’s called “Paths”, where it provides you with a plan to learn a new language or a new framework from the beginning to advanced level. As I said though, it is a paid resource and might be a little pricey for some people. But check if your employer already has a subscription or if your manager will pay for it.
Youtube is the biggest resource of video content on the planet. I haven’t verified this information but I don’t know what other resources would even come close. What’s cool about Youtube is that most likely you will find someone whose teaching style you enjoy, or who talks in the way you like and understand. And if English is not your first or even second language, it’s likely you will find content-makers in the language that you speak. Though a lot of courses have subtitles in different languages as well, so it shouldn’t be an issue. But with youtube, all the possibilities are open and there are plenty of people who can teach you stuff.
Realistically though, one biggest mistake I had made was that I kept watching courses, jumping from one to another, instead of building stuff. You don’t need a course to start doing that once you have the fundamentals down. There’s documentation available for free on the internet if you want to learn how a certain feature of the language or the framework works. It doesn’t matter which programming language you pick either. It’s just that certain languages are easier for certain tasks.
On this note, enough reading and go start building stuff!