5 Goal-oriented Ways to Learn to Code
So you want to learn to code?
Well, you’re in luck – there’s never been a better time to start than now. There’s a whole host of resources and ways to learn. So many in fact, that just picking the best way to get started can be a real challenge – all of the options can be overwhelming!
So, I’ll walk you through 5 ways you can learn to code, pointing out the merits of each as we go, so that you can find the way that’s best suited to you and your goals.
Online Code Classes
There’s a range of both free and paid online coding classes that guide you through your first experiences with learning to code. They have a curriculum so you can learn in a structured way. They’re a great option for those wanting to learn the basics of programming.
Take a look at the courses offered by Treehouse, Khan Academy, Coursera, Codecademy and Code School. Harvard’s online Computer Science course CS50x is a good option too for those also wanting to learn more about computing in general.
If you’re more suited to hacking things together and learning as you go, then you might prefer a less-structured, self-directed approach. That way you only have to learn the bits you’re interested in, and you can cater your learning to a specific purpose.
Your local library will likely stock a number of programming books but they can often be a bit dated. They’re more suited to traditional software development languages, like C and C++ than the latest in web development technologies. But there are of course a ton of free online books that you can get access to as well.
Also take a look at online tutorial sites, like W3Schools, Udacity, LaunchSchool, Thinkful, or SitePoint. Or for the more visual learner, there are videos too – check out TheNewBoston, SlideNerd, and Learn Code Academy.
For more resources, Bento has a great collection for virtually every language or utility you may need or want to learn.
For those looking to take things a little more seriously, and possibly snag a job at the end of it, then there are a range of intensive-learning code courses. They’re often quite pricey, but some come with some type of job guarantee or help to find a job at the end of it.
They won’t teach you everything, but after a couple of months eating, sleeping, and living code, you’ll be well on your way. Your choice of coding course will likely be limited to where you’re living, but take a look at options available with providers like the Flat Iron School, Dev Bootcamp, General Assembly, AppAcademy and the Recurse Center to get an idea of the types of courses available.
Of course, your local University will likely have a range of course options too for a more traditional Computer Science education.
Join a Community
Joining a programming community, either online or one that holds in-person meetups can be a good option. A community can help with specific coding problems, learn new ways of solving problems, as well as get suggestions of useful resources and meet potential new coding buddies.
Thankfully, there are lots of well-run options, from Hackathons (keep up with upcoming Hackathons with sites like Hackathon.io, HackEvents and Devpost), to Q&A sites like Stack Overflow, which are great for getting answers to specific coding problems.
There are language-specific fora, like those offered by devshed and Dream in Code. As well as those dedicated to Web Design and Development, like SitePoint and Daniweb or more Software Development focused sites like Code Project and Bytes.
There are also those that cater specifically to folks just starting to learn to code too – /r/learnprogramming, Free Code Camp and CodeNewbie are 3 of the best.
Whilst there is overlap between these communities, I recommend submitting questions and getting involved in a few and seeing where you feel most comfortable. Be sure to follow good forum etiquette and search for your question before posting though, or expect to get a snarky response back!
As your skills progress, you can also look into continuing to learn through coding challenges, and there are many community sites that promote them, such as HackerRank, SPOJ, CodeWars, Project Euler and /r/dailyprogrammer. You can even earn a little extra money too whilst solving them, through a site like Topcoder. Or, if your goal is to build your own startup, then why not learn to code by re-creating real products? Check out CodeUpstart and Code4Startup who do just that.
If in-person events are more your thing, then search Meetup for local events. In major cities there are lots of options, so be sure to look for language or problem-specific events. And for relevant conferences, check out Lanyrd.
Get a Mentor
Finally, for those looking to hone their skills or get advice on different ways of tackling programming problems, or things like coding-related career advice, then you might consider seeking a mentor to guide you. They aren’t going to be barking orders to keep coding, like a fitness coach, but they can help talk through issues in a more personal way and give you the detail you can only get in a 1-on-1.
Sites like Hack Pledge, Code Mentor and /r/ProgrammingBuddies are all good places to find willing mentors. At the very least, you can get input on your code with a code review community site such as codereview.stackexchange.com.
Regardless of the way you decide is best for you to learn to code, you’ll need to use a few tools to actually get started with writing code. HyperDev combines an online code editor, with automated code hosting and deployment to get you straight to coding without any confusing setup. So that’s a good starting point. As you get more experienced you might prefer a local development setup.
Learning to code isn’t easy, but if you find a way to learn that matches your goals, then you’ll be coding your way to success in no time!