Can you really learn how to code on the Internet?

How to learn on your own and at your own pace

  • NPE

A fairly common question that comes up is whether or not it's possible to learn how to code on the Internet on your own. And maybe a secondary question if you can do it for free. We'll start with the first question if it's possible to learn how to code on the Internet on your own which is completely possible (but not guaranteed).

I know lots of people who have gone from little to no coding experience to brilliant software developers. In the beginning, what you need is a clear goal - this could be something like build a website, build a mobile app, build a chat bot or get a job. And hopefully, this goal is something that can motivate you throughout the process because as you're learning, you'll get stuck, have bad days, want to give up and other obstacles to reaching your goal. So your goal needs to be something important to you and something that can help you when you hit those rough patches. And while I will always support someone needing to take a break and avoid burning out, taking too many breaks where you begin to forget what you've learned can be as detrimental to reaching your goal.

Then you need to figure out your learning style and figure out a matching curriculum. I think the most common learning styles are either hands-on, theory or a combination of both. For hands-on learners, you enjoy having a clear task and writing code and then figuring out how the code works. This usually happens after you get some code working and then you start making changes and start figuring out how to make the code do what you want. And through this process you start to pick up the how the language works (the syntax) and start seeing pattens of how to structure code. For learners who prefer theory first, they want to read and follow clear documentation/guides on how to do something before they want to jump into writing code. They're interested in the why behind things and want a clear foundation of the dos and don'ts of writing code. And then there are the people who are a combination of both and want some instructional documentation to review before jumping into the code (but not too much documentation that they start to lose interest). Hopefully one of these profiles resonates with you and your learning style. Whatever learning style you prefer, it is completely possible to curate content on the Internet to support your learning needs.

For the hands-on learners, you'll want to find guides/tutorials that walk you through building something. This could be a website, a mobile app, a chat bot, a web scraper, a browser extension, an API, etc. If possible, find a few projects and order them based on skills needed and interest. This will give you a good runway of projects to keep you busy. Another added benefit of working on different things, you'll get exposure to different skills like backend work, frontend work, databases, mobile development, etc. And while learning to code is applicable to all of these, you'll eventually want to focus on a few areas that you find interesting and can help you land a job.

And for those that prefer to start with theory, you need to find a set of courses that are easy for you to understand, interesting enough to keep you attention and have enough content to give you a good foundation. Luckily since you're on own website, you should check out our lessons on learning the basics of coding. We also have some hands-on exercises/quizes to test your knowledge, but we're starting with the fundamentals of programming before diving in to the code. There's also online courses that you can pay for that are more like a class with an instructor and other students if that structure is something you need.

So regardless of your learning style, there is definitely a way to learn on your own (or with some help) on the Internet. There are still alternatives like getting a degree at an University or attending a Coding Bootcamp, but it's completely possible to learn on your own on the Internet if you're motivated enough.