This is the fourth article in our “The 12 Dos and Don’ts of becoming a Web Developer” series.
Can you learn web development for free? Sure, if you’re willing to wade through a whole lot of garbage to find the free hidden gems online. If you are not on an absolutely no money left over at the end of the month eating ramen three times daily creditors holding your firstborn hostage shoestring budget, though, it might be a good idea to invest a little bit of money in some of the many excellent learning resources out there for web developers.
Which resources you would like to use will depend largely on the language you want to learn (and you can read another article I wrote for thoughts on that) However, here are some of the resources I’ve used to kickstart my web development career:
One of the best resources out there, and totally free! This site has you learn by doing, typing commands into a console to solve code challenges. It’s a great way to get an introduction to a language or to get a little bit of extra practice after working through another site, but it’s not as thorough as the other sites on this list.
Tuts Plus by far the most massive site on this list. They have hundreds of courses on everything from web development (in any flavor imaginable) to photography to business, and most of them are excellent (especially anything by Jeffrey Way, if you want to get into PHP.) The biggest downside to Tuts Plus is that, unlike most the other sites on this list, they don’t have code challenges for you to practice what you learned; while you can follow along with the instructors as they build a project, they rarely push you to figure out things on your own, which is the best way to get better. If you use this site, you might have to supplement with Codeacademy for some extra practice.
CodeSchool has the most expensive membership option on the list, but I also found their code challenges the most difficult (in a good way). It combines the best of Tuts Plus and Codeacademy, showing you videos and then following up with code challenges so you can practice what you just learned. If you want to try your hand at Ruby or Ruby on Rails, their “Try Ruby” and “Rails for Zombies” courses are both free, and RFZ will give you a good idea whether their teaching style works for you.
Like CodeSchool, Team Treehouse will show you a video before giving you code challenges to demonstrate your mastery. The difference is that TeamTreehouse encourages you to follow along with the videos to build a project and then demonstrate pieces of knowledge, often with true/false or multiple choice answers, while CodeSchool’s videos and challenges walk you through topics without having you build a project from beginning to end. Which one you like better is totally a personal preference; I have had a membership to both, but CodeSchool tends to be more advanced.
Honorary mentions of other resources:
Ruby / Ruby on Rails
- Laracasts (if you want to learn Laravel, which is basically the PHP-flavored version of Ruby on Rails)
If you feel like you prefer learning by reading versus watching screencasts, there are also hundreds of excellent books about web development that you can find on Amazon or at your local library. Amazon reviews will go a long way toward telling you whether a book is good or not, but I’ve found the Head First series to be the best way, hands-down, to get a foundation in any subject, and the Pragmatic Programmer series to be the best at teaching more advanced subjects like frameworks and test-driven development.
If you subscribe to every resource on this list for a year and buy a small library worth of books, you’ll still be saving money over going to a bootcamp or taking a college course. It’s worth it, trust me. Just don’t rely too heavily on tutorials to teach you how to code; the best way to learn how to code is — *gasp* — to actually code. I’ll talk more about this in my next article.
Articles in this series:
- Don’t: Spend too much time picking what language to learn
- Do: Make sure you have a solid grasp of the basics — AKA how to keep other developers from hating you
- Don’t: Feel like you need a traditional education
- Do: Invest some money in educational resources
- Don’t: Get caught in tutorial paralysis
- Do: Set up a Github account and push some code