I ‘member when I was way over there. I tried to start alone, learned  my way around the Internet’s resources and many of its tentacles that  suck you into procrastination, and one of the biggest challenges with  self-guided learning is telling whether a resource is reliable, if it’s  teaching you good patterns, and if it’s worth your time and money.

This  is the first post in my tourists guide to the amazingly large area that  is “software development”. I’m going to detail tools and platforms  where I think you should invest your time. Sometimes it might seem like  taking a detour, and you’ll have to learn about things you really don’t  think make sense, but I’m convinced that learning how the big guys do it  at a very early stage is a good way to avoid bad habits that settle in  when you begin to feel comfortable writing code.

First stop: resources

How  much commitment are you going to put in this anyway? Is this going to  be like that one time when you said you didn’t need to go to the gym and  you were going to exercise without spending a dime?

This  part is sort of a reality check. Depending on your personality, you  might want to commit in a different way: finantially. I think the gym  comparison is pretty valid — when people sign up for a gym and they  don’t really feel like going, sometimes they keep attending because  they’re paying for it. There are lots of free resources out there, but  paid ones are ultimately what will allow you to progress faster. You  need an extra dose of motivation to be able to succeed with the free  resources, but I don’t want to scare you off. Developers treasure free  resources the most. Stack Overflow is a good example of this, as it is a  community driven Q&A website, and everybody knows and uses it!

CodeSchool

This  was the first paid online school I ever enrolled in, and I don’t  believe I could have chosen much better than this. Those guys are  absolutely incredible and produce top notch courses, with a significant  part of them targeted for beginners. Their interface is usually what  locks people in, since you watch classes and then practice what you  learned at the end of each lesson, which is a treat for actually  remembering things some time later after you’ve learned.

Here’s a summary of what they teach divided by difficulty and platform, as of January 2017:

  • Beginner, front-end: HTML, CSS, JavaScript.
  • Beginner, back-end: PHP, Python, Ruby on Rails, .NET, NodeJS
  • Intermediate, front-end: SASS, Bootstrap, Web design, JS Frameworks
  • Intermediate, back-end: Ruby on Rails, Python, NodeJS
  • Advanced, front-end: HTML emails, Web animations, JS Frameworks

CodeSchool  goes a step further and divides their courses into paths, which is  perfect for self-paced learners who don’t really know what they should  be doing next. If you want to learn how to build websites and web  applications you should start with their HTML/CSS path, and then move on  to the JavaScript path.

You can get a special price for college students of 19$/month if you request it via email to their support team.

Pluralsight

Pluralsight  has been around for a while and they also have lots of students. At  some point, they looked at CodeSchool and thought they had a really good  idea and they probably wanted to use some of their ideas and talent, so  they bought CodeSchool. This should give you an idea not only of its  success, but also of how things ended up given that CodeSchool still  exists independently of PluralSight.

While CodeSchool specializes  in software development, Pluralsight has courses on design, 3D  modelling, management and other areas non related to programming. Their  course authors are also very good, and you can find pretty famous people  among them (e.g. Troy Hunt, the creator of haveibeenpwnd). They lack the interactive interface offered at CodeSchool, but they’ve  rolled out a feature which lets you take tests to measure your knowledge  for some language paths.

I can’t really list what PluralSight  teaches because they have tons of courses, but you must also take into  account that they are slightly more expensive at 29$/month. Take into  account that PluralSight is a place where you can also go past the  beginner and initiate levels in most areas that they teach. CodeSchool  has courses on some languages for which they offer only introductory  courses, which don’t allow really teach you much if you want to dive  deeper.

Good news: not only do they offer temporary trials so you  can see if you like it, you can get a 90-day free period thanks to the  Microsoft Imagine program, which requires (again) an account registered  for college students.

TL;DR

If you want the  best learning experience, be prepared to drop some dollars and invest in  yourself. Try CodeSchool or PluralSight. I can personally vouch for  both these resources, and that’s why I’m not listing any more. You’ll  have to look around for the best options if you can’t afford it or if  you don’t want to spend money, but if you are an extremely motivated  individual I’m sure you’ll push through it.