When I first taught myself to code a website, it involved a lot of back and forth to my local bookstore. The computer section was literally a few small shelves with just a handful of books, only enough to get my feet wet. Today, learning to code has become increasingly easier, thanks to a plethora of in-depth online resources.

The following is, by no means, a complete list but should be more than enough to get any beginner started.

Interactive Lessons

Codeacademy

Codecademy offers a really easy way to interactively learn coding basics. The lessons are hands-on and allow you to code directly in the browser. While the examples are fairly limited, they’re also free and cover many important building blocks.

Cost: Free.
Lessons: Websites and web apps.
Difficulty: Beginner to Intermediate.

Treehouse

Treehouse is unique in that it has an authentic classroom feel. You’ll learn by watching videos that guide you through each lesson and taking quizzes at certain stages. Similar to Codeacademy, there are also challenges for you to solve by coding in the browser. Treehouse does require you to sign up for a paid plan to access all lessons but, if you’re serious about learning to code, they have an extensive amount of information available. This service is great for beginners and even experts who want to expand their skill set.

Cost: Some lessons are free, then a monthly subscription is required.
Lessons: Websites and web apps, iOS and Android development, general business lessons.
Difficulty: Everything from Beginner to Expert.

Code School

Code School is nearly identical to Treehouse, also using video walkthroughs and interactive lessons. However, there are a couple key differences. First off, Code School appears to be a little more aimed at programmers with existing experience. Secondly, Code School has uniquely designed courses that some users may find more engaging (i.e. “Rails for Zombies”).

Cost: Some lessons are free, then a monthly subscription is required.
Lessons: Websites and web apps, iOS and Android development.
Difficulty: Some Beginner lessons but mostly Intermediate to Expert.

View Source

Another very effective way to learn how to code is to reverse engineer an existing website. Simply find a website you like, view source, and study the code. Just about every modern browser now includes a web inspector, which makes it even easier to poke around a website’s source.

There are also many websites that showcase interesting code examples, such as CodePen. A lot of the examples are fairly complex but it is still a valuable tool for learning what’s possible, regardless of your coding level.

Reference Sites

Remembering proper syntax for any web language can take time, especially when first starting out. Thankfully, there is a wide array of reference sites that are great for quickly looking up tags, browser support, and more. Find a reference site that appeals to you and bookmark it; you’re going to need it at some point. A few of my favorites are:

Keeping Up to Date

The internet changes incredibly fast, as do web development standards. The philosophies and techniques for building a website are vastly different from one year to the next. More often than not, I rely on Twitter to keep informed on the latest web news but there are many useful blogs and online magazines as well.

Books

Last but not least, you can still buy books. I would, however, recommend purchasing them as electronic copies if you can. The main benefit is access across multiple devices and you may receive book updates if the author makes revisions.