« All Episodes

Listener Question: Matt Hirsch asks, "Does it make more sense to spend a lot of money on extensive resources or spend less on short courses to learn code?"

Published 12/9/2015

In today's episode, I answer a question from listener Matt Hirsch.

Mentioned on today's episode

Today's episode is sponsored by Digital Ocean!

Go to https://digitalocean.com to get started on cloud hosting. Use the promo code DEVELOPER TEA at the checkout after you create your account to get a $10 credit!

Follow @DeveloperTea on Twitter | Leave a rating and review for Developer Tea on iTunes | Join Spec's Slack community for free

Transcript (Generated by OpenAI Whisper)
Hey everyone and welcome to Developer Tea. My name is Jonathan Cutrell and today I'm going to be answering a question from Matt Hirsch. Today's episode is sponsored by Digital Ocean. If you are looking for a cloud hosting solution that is built on super fast SSDs, Digital Ocean may be the perfect answer to your problems. You'll talk more about what Digital Ocean has to offer later on in today's episode, but first I want to jump straight into Matt's question. I think a lot of you are probably in Matt's position. Matt says, hey Jonathan, just got to say I love your show. Thank you Matt, I appreciate that. Quick question for you. I'm a young junior developer and I'm trying to improve my skills. Does it make more sense for me to spend a lot of money and join a program like Hackre Actor, Learn.co, Viking Code School or spend less on short courses like one month code school or a tree house or just learn from free resources that I can find online? I'd love to know your thoughts since I'm at a fork in the road right now in my career and need to proceed in some direction. I'm just having difficulty choosing the right one. Thanks so much. Keep up the great work. Matthew. Matt, thank you so much for taking the time to write in. I have a few tips for you as you try to make a decision on what to choose. First off, I think you are headed in the right direction. I visited your site, which I will include in the show notes for others to see. You've already started down the path of building things and that's really the most important piece of the puzzle of learning how to do this thing. We'll talk a little bit more about that in a few minutes. But to get to your point, I want to discuss a few things that are important to understand about these different learning resources as you are trying to make your decision. I've got a couple of things here and some notes that I've jotted down regarding these different learning resources, not specifically, but in general, the things that you need to keep in mind. We'll talk about our sponsor digital ocean in between some of these points. But first of all, there's very little of the actual content that the courses are teaching that you can't find in some form or another online for free. You are correct about this. There are a lot of free resources. Maybe not necessarily the exact same content that you would get in these different code schools. Maybe not the actual videos or the slide decks, but software development ideas, practices, patterns, best practices specifically are all over the place in different formats and blog posts on YouTube. There are so many free things out there. The value that the courses and these different online schools offer is that they have created a collection of relevant content so that you do not have to go and filter through all of that free stuff, right? Because there's a lot of good stuff, but there's also a lot of either outdated or poorly crafted content that isn't really going to teach you what you need to know. They've created a collection of relevant content. Number one, number two, they're providing feedback to your performance. Directly. In other words, the value of the courses is primarily centered around which content you engage with and how you engage with it, how well you understand that content. For this reason, it is important that as you evaluate your options, you are certain to look at the track record of feedback and the actual content of those options. If the content is outdated or if you have heard many reports of the feedback being poor or maybe taking forever to get feedback, that's a sign that the program is probably less valuable to you than another option may be. Now I'm not going to comment on any of the specific options because quite honestly, I don't have the specific knowledge of each of these individually to be able to compare them in some way. Also everybody learns differently. These could be one of them maybe more applicable to you and another one maybe less applicable and that may be different for another person. Of course, if you are a regular listener of the show, then you know that one month is a sponsor of the show. I do like the format that one month provides. They gave me access to be able to vet the content that they have and because you have the opportunity to deal with someone directly when you have an issue, this is the biggest value I think that one month provides is that they are not only just a bunch of content that you get access to but they also have people that can help you if you get stuck. I say that whenever they are sponsoring the episode, they are not sponsoring this episode at all. That is an important piece of the value of one month. Any other program that does something similar, that is a good thing. This is key to the learning experience. Getting actionable feedback directly on the work that you, specifically you have completed in response to the content is the ultimate value of the program. That feedback doesn't even necessarily have to be a human that is giving it to you. If you are quizzed on something like Treehouse, that feedback that you get through the automated testing for example, that feedback loop is important. You can get feedback in open source space as well. It is possible to get this feedback for free. You do not have to pay to get feedback necessarily. There are a lot of places you can learn online for free as you mentioned. In a space that invites comments and criticism, that is the best kind of place to learn online. CodePen is a good example of this. You can publish front end development pieces, just little pieces of code on CodePen. People can come and comment on it and it's possible for you to learn a lot from people's comments. You can even fork your pen and do something different with it. Creating open source projects for others to contribute to, to fork on GitHub is another way to receive feedback. The main difference is from the approach of going open source and the approach of going with a paid resource like a hacking school or something like that. Is that number one, the programs are likely to have a reputation that you can count on? Number two, if you're part of a teaching program, you get regular, timely feedback as a part of that program, as what that's what you're paying for. If you aren't paying for it, then you may not necessarily get feedback ever online. It's getting free feedback from trusted anonymous online sources is not guaranteed. If you go the route of teaching yourself, of leaning on open source feedback and open source comments on your code or whatever, maybe you are trying to learn by simply posting about your stuff to stack overflow and then taking the feedback from there and applying it to whatever it is that you're doing. If you do that, then remember that nobody owes you anything. Nobody actually owes you that feedback. If you choose to go with a paid resource, they actually owe you the feedback if it is a part of their program. Now I'll go ahead and tell you, if you choose to pay for a resource, feedback should be a part of that program. Whether that feedback comes from a computer or from a human is not necessarily relevant. Obviously, it coming from a human is going to probably cost a little bit more than it coming from an automated system. But if you are paying for something, it should give you some kind of feedback. Of course, this isn't true for static content. This isn't true for books. And books still have a high amount of value. You can learn a lot from a book, but feedback is important. If you do not have a system for feedback, then it's unlikely you are going to learn anything that's going to stick. This is supported by a lot of research that I'm not going to cite on this episode because we talked about it in length on other episodes of the show, but make sure you get feedback. Ultimately, official learning resources, like what you are engaging with, provide value that is difficult to manufacture with free learning resources. They are valuable. However, there is a caveat. So number one, let's go back and just kind of review for a second. There is a lot of free content online, right? You have the option of going online and getting the same content. It's important for you to seek feedback. That's point number one. Number two, the best way, the ultimate number one top best way to become a good developer is to start working with code on a project. Start with a small idea and build it to completion and then do that over and over and over. Again, it is far more effective for you to write code than it is for you to memorize syntax. Most often, when you engage with a code school, a large part of their learning curriculum will actually be project-based learning. There's a reason for this. It's a proven method for learning with a project you have real problems that interact with each other. This is the definition of practical learning. You are learning something through practice. Ultimately, the most well-respected educational institutions have strong relationships with professional, practicing communities in whatever field that that particular educational institution is involved with because they know that the feedback loop of the real life environment and those interacting problems is fundamentally important to the learning process, specifically to a valuable learning process that is useful once that learning is complete. In other words, once the person has completed the program and they've moved on into actually practicing the things that they have learned in the real life environment. This should be obvious to us, right? The best way that we can get better is through practice. We're going to take a quick sponsor break and then I'm going to come back and talk to you about how to make a purchasing decision around these different tools. I've given you my spiel at this point about what the values are of a giving learning resource. You have to have good feedback and even better than good feedback is for you to actually work on a real project, a real life project with different problem sets that interact with each other. Start with small ideas, build them to completion, do that over and over. This is how you learn how to become a developer regardless of what tools you are using to assist that learning process. None of these tools are going to make you a good developer by the way. You have to make yourself a good developer. Of course, the different tools that you interact with can help assist you along the way. You need to be able to expose yourself to the right people and to the right content. That's the value of these different tools. Ultimately, it comes down to you being able to practice the tool that you want to learn. Let's take a quick sponsor break and talk about digital ocean today's sponsor. If you are looking for a cloud hosting option, digital ocean is a fantastic solution to that problem. Digital ocean isn't just for people who are looking for a host for their huge website. You don't necessarily have to be scaling your website for digital ocean to be useful to you. Maybe you are a hobbyist developer and you just want to get a project up online but you don't want to spend a ton of money to get that project online. Digital ocean has a $5 a month hosting tier for you. You can spend up a server in 55 seconds and for $5 a month, you can host your project on digital ocean. Fantastic service. If you use the code Developer Teaat checkout, if you use the code Developer Teaat checkout, you will get a $10 credit to your account. That is two months of free hosting directly applied to your account at checkout. If you use the code Developer Tea, that is a special incentive that digital ocean has provided to Developer Tealisteners just like you to get up and running. This is incredibly useful for the developers who are learning on this episode. We're talking about learning and this is an easy way to validate your ideas. You get a SSD server in the cloud for $5 a month. Go and check it out digital ocean.com. Use the code Developer Teaat checkout. Of course, the links will be in the show notes for this episode at spec.fm. Let's get right back into Matt's question about how to choose which learning method, which learning resource he wants to use, whether he goes with a free resource or pays a bunch of money to jump straight into a coding school or perhaps something in between. Spend less on short courses like code school or one month. Code school, of course, is also another sponsor. I mentioned one month before. Code school is a fantastic sponsor of the show. They have a lot of great content. Really both one month and code school are great options. Treehouse is a great option too. They are not a sponsor of the show. We've talked about the difference between code school and treehouse in a past episode. If you want to look for that, of course, in the show notes, I will include the link to that. But I want to talk to you about how to make this decision, Matt. Anyone else who is at the same crossroads, how to make this purchasing decision. But honestly, I think you should treat this purchasing decision the way you would treat any other purchasing decision related to a potential career resource. Let's say you're interested in buying a musical instrument. You think you may want to learn guitar. If your friend offers to let you borrow their guitar for a few months to try it out, would you choose to do that or would you go and buy a rare vintage instrument worth a few thousand dollars? It'd be kind of silly for you to go and spend a few thousand dollars on your very first guitar because you don't even know if you're going to be good at it. Hopefully, you would choose to borrow your friends. Now let's say your friend's guitar is maybe not the greatest guitar. Perhaps you would have another guitar player take a look at that guitar and let you know what parts are important so that you don't borrow the guitar and then have a bad experience and turn away from guitar forever. You may want to reasonably use the guitar as an entry level guitarist. You may need a different guitar than what your friend has. Once you find out his guitar isn't suitable, maybe you can start looking at other entry level options, maybe asking other friends if they have a guitar you can borrow. I actually lived this specific example out my own life. My parents bought my first guitar for $15 and I had the guitar for many years before we collectively decided that I had learned enough about guitars and that it was worth our time and money to invest in a better guitar. Now let's use this metaphor to understand the situation with choosing learning tools. If you are new to development, you shouldn't come out of the gate and throw thousands of dollars at really anything at all, especially with the wealth of free content available online. However, if you have decided that you want to pursue this as a career, if you have decided that you want to pursue this at a professional level, you spend some time going through some of the free resources or perhaps the very cheap resources online, it may be worthwhile to consider investing in a product or service that means your needs at that professional level. If you go out of the gate and you throw a bunch of money at something, especially in something that you ultimately end up not wanting to work in. There are so many different technologies that you could work in as a developer. It's not just one thing that you're trying to learn, right? At least with something like guitar, there's not really a lot of variance between five different guitars. Sure, there may be different styles, but ultimately they all do basically the same thing. They all have basically the same rules. But if you are getting into development, there is a significant difference in iOS development and web development, for example. Sure, there's some fundamental similarities, but there is a lot of difference in your day-to-day work and how you view that work, the different things that you're actually building with the code that you're writing. You need to know enough to know what you want. You need to know enough to know if you want to treat this as a career or perhaps you don't want to treat it as a career. A lot of these code schools are language-specific. You need to know what language you want to learn before you put any money into a code school. Ultimately, you have to determine what you want to learn and how you want to use that knowledge. If you can't tell, I would recommend that you start out conservatively, start with a conservative approach, evaluate yourself and learn and progress along the way, learn about how you react to different types of languages. Just look for a developer that can mentor you along the way or provide personal advice to you, to your personality, and provide that advice to you and engage in your own self-guided learning process first. Don't rush into anything. Instead of jumping at every resource that comes across your desk or comes across your screen, start with a problem looking for a solution rather than the other way around. Don't buy something out of the feeling of needing it, but buy something because you absolutely know that you need it. Don't buy something out of the feeling of needing it. Buy into something because you absolutely without a doubt know that you want to spend money on that thing and that it's going to provide the value that you are looking for. You can't blindly spend money on these code schools. You have to spend some time preparing yourself and dealing with some of the content that you can find for free or something a little bit lower price first. Thank you so much, Matt, for writing in and thank you, everyone else, for listening to today's episode of Developer Tea. Thank you, of course, to Digital Ocean for continuing to sponsor the show. Make sure you go and check out digitalocean.com if you are looking for a cloud posting solution. Of course, also, Digital Ocean posts a ton of content for free online about various technologies. It's all written by developers. So it's really good content. You may have already read a digital ocean article without even knowing it. So go and check it out digitalocean.com, use the code Developer Tea. That will be in the show notes. Make sure you read the show notes at spec.fm. If you are enjoying Developer Tea, you need to do two things. First of all, make sure you subscribe in whatever podcasting app you use. That ensures that you aren't going to miss an episode in the future. It'll get delivered directly to your device. And number two, leave a review for the show in iTunes. This is the best way to help other developers find the show and subsequently, of course, that helps the show out. Thank you so much for listening and until next time, enjoy your tea.