You’ve made the decision. You’re going to learn to code.
Awesome! You’re making the leap into a challenging, thriving field that provides opportunities to solve real problems and contribute to society in a meaningful way (or maybe you just want to build Candy Crush knockoffs.)
Either way, you’ll need to find free resources for learning to code. There are tons of places on the web that can teach you the basics – but getting beyond the basics can be tough. This article will cover the best resources for getting started, as well as some of the best ways to find information as you start to dig into tougher stuff.
Codecademy
Codecademy is a great place to get your feet wet if you know literally nothing about coding. This is where I first started learning the ropes of Javascript, CSS and HTML, and the site has only improved in the years since I was active on it. They now have an exploratory interface that will guide you through a ground-level introduction to concepts like programming, data and what code really is. This will also help you to decide what you want to learn and where you should start (arguably the hardest part of learning to code.)
Once you finish the exploratory phase, there is a catalog of courses organized into Career Paths and Skill Paths. You can choose to follow the “Web Developer” Career Path if you want an overview of everything you will need for a job in front end development. If you just want to improve in one area, dabble with something, or learn a new skill for a promotion then a Skill Path will quickly help you to develop in that specific area.
Free Code Camp
Free Code Camp is another great place to get started. In my opinion, it is better than Codecademy if you know you want to pursue web development. It’s super easy to get going – the homepage is literally just a big yellow button that says “Start Coding – It’s Free!” Great! Sign me up!
Free Code Camp puts you on a web development curriculum path immediately – no option to dabble or look around. Once you click “Start Coding” you will very quickly find yourself in a sandbox editing HTML. It’s focused and easy to follow. If you’ve already gotten your feet wet elsewhere, it’s easy to skip sections. Click the “Curriculum” tab in the navigation bar to be taken to an overview of the entire curriculum and jump to wherever you want.
The only downside of Free Code Camp is that they only offer web development curriculum. The upsides are a massive community of fellow coders who are always online and eager to help in the chat rooms, and the chance to build real projects for real non-profits. These projects are a great way to jumpstart your portfolio.
Stack Overflow
Stack Overflow is a resource you will use throughout your career, so you may as well get to know it now. Stack Overflow is not a course or lesson site – it’s essentially a forum for asking and answering questions. All professional coders use Stack Overflow at some point (and many on a daily basis.) There will be answers here to everything – from questions about Free Code Camp challenges, to deeply involved discussions about Artificial Intelligence algorithms and Cloud Security issues. You won’t be able to post a question until you have a certain level of “karma” but you won’t need to. Trust me: your question has already been answered and you will find it on Stack Overflow.
As you start to move beyond the basics and run up against tricky bugs and tools you’ve never used, a Google search and Stack Overflow will be your best friends.
Documentation
I highly recommend reading the documentation for new technologies you are learning. Pretty much any new language, framework or tool you come across will have a set of very detailed documentation (and if it doesn’t that’s a good indication that you probably shouldn’t use that tool.) As you work through Free Code Camp’s React Certification, for example, you should be looking up and reading about the native methods in the React docs. Being able to parse complex technical documentation is a skill that will serve you throughout your career, and is one of the best ways to understand how to use new tools.
DevDocs is an awesome place where lots of documentation for various languages are compiled in one place for free. It’s all searchable and kept up to date.
GitHub
If you become a web developer you will need to learn how to use Git and GitHub. GitHub is the world’s largest and most popular version control system and code repository hosting service, and Git is the language used to interact with it. GitHub is where many of the largest online companies track and store their source code, and is also home to thousands of open source projects. You can read the source code for any of the public repositories, and you can contribute to projects if you want to.
This tutorial is an excellent way to get started with GitHub. You’ll learn how to clone a repo, develop on your own branch, open a PR and contribute to your first open source project. As an added bonus, you’ll use the terminal, so if you haven’t done that yet I highly recommend checking this out.
This list is by no means exhaustive – this is simply a list of platforms that I’ve used and continue to use. There are plenty of other resources out there that I didn’t mention and that I highly encourage you to explore. The wealth of information available online means that you can choose the path that works for you.
So what are you waiting for? Get out there and start coding for free!