Like many others, I consider myself a self-taught programmer. This can definitely be a challenging path to go down, but there are also a lot of benefits to learning on your own. One reason that I've loved learning to code on my own versus going back to school for it is that I am able to create my own curriculum and steer my learning based on what I find interesting.
The availability of free and affordable online resources for learning to code is a huge part of why this is possible. There is no way I would have made it as far as I have without some of these resources. I thought they could be useful to some of you getting your start as well so I am listing the resources that I've found most useful on my journey learning to code. This is by no means a list of everything I've used (there have been a lot!), but these are definitely the ones I've used the most.
Treehouse and Codeschool I'm sure many of you have already heard of these two websites, but I can't emphasize enough how useful they've been to me. Watching a video (or reading the transcript of the video if reading is better for you) and then doing quizzes and challenges related to that material immediately after helped to solidify concepts so much quicker than if I had just been reading or watching videos.
When I was completely new to programming I found Treehouse to be easier to understand and then if I wanted a more intermediate understanding of a topic, I'd go to CodeSchool. Now I use them both interchangeably when I want to learn more about a new technology or review something that I've already learned but need more practice with.
Podcasts I have a 30 minute commute to work every day and decided to make the 30 minutes on my way home a time for learning. I listen to various podcasts but my two favorites have been Code Newbie and Reactive.
Code Newbie is really helpful for motivation because each week you hear the story of a different programmer. They walk you through how they got their start and what helped them along the way. It's great to get so many different perspectives and hear about all of the different jobs you can do as programmer. The Code Newbie community is also very welcoming on Twitter and they do Twitter chats every Wednesday at 9 pm EST.
Reactive is a wonderful podcast to listen to if you want to stay informed about current events in tech and programming. As a newbie, the things they talk about occasionally go over my head but for the most part they relay the information in way that is very easy to understand even without a lot of experience. And if I don't know what they're talking about then I can go look it up and learn something new!
CodePen Once I got my feet wet with HTML, CSS, and JavaScript and had a basic understanding of it, CodePen became a great place for me to go and try new things or practice what I'd learned. As you type your code, the results are updated in real-time so you can see exactly what each line of code does. This is a great way to make connections about how to get sites and apps to look the way you'd like them to. Most recently I've been using CodePen to demo code for a personal portfolio site I'd like to create. You'll also find a ton of people using CodePen to create art with code so if you're creative or artistic, that might appeal to you.
Viking Code School Prep Work Even if code school isn't something that you're preparing for, the Viking Code School prep work is fantastic for getting yourself up to speed on some basic to intermediate level concepts. It takes you through what you need to know about HTML, CSS, Git, Ruby, and more. This prep work gives more than just an overview and if you go through it from start to finish, you'll come out of it with a few projects to show for it as well.