« All Episodes

Answering Listener Questions: Ajay asks about learning project ideas

Published 6/3/2016

In today's episode, I answer listener Ajay's question about how to determine what type of project he should choose to learn JavaScript.

Mentioned or Relevant:


Today's episode is sponsored by Linode! Head over to Linode.com/developertea or use the code DeveloperTea20 at checkout for a $20 credit towards your cloud hosting account! Thanks again to Linode for your support of Developer Tea.

And lastly...

Please take a moment and subscribe and review the show! Click here to review Developer Tea in iTunes.

Transcript (Generated by OpenAI Whisper)

Hey, everyone, and welcome to Developer Team. My name is Jonathan Cottrell. And in today's episode, I answer a question from listener Ajay. Today's episode is sponsored by Linode. And I couldn't ask for a better sponsor for today's episode because we're talking about building projects and learning while we build things. Linode is a perfect place to host those projects. We'll talk more about what Linode has to offer for Developer Team listeners later on in today's episode. I want to talk about a few things before we jump into Ajay's question. The first thing is subscribing to Developer Team. You can open your podcast app while you're listening to this episode. Go and click subscribe. It's a very simple button on pretty much every podcast player. This will make sure that you don't miss out on any future episodes of... Of course, we have three episodes per week, so it's very easy to get behind. I know a lot of you, including Ajay, for example, you end up feeling like you have to binge listen to Developer Team to catch up. If you are actually subscribed, then you don't have to keep that mentally in the back of your mind to go and visit spec. You can just subscribe directly in whatever podcasting app you use, and it will automatically come to your phone. So that is a feature that hopefully all of you, you know about at this point. I mention it on most episodes, but that's because it's very helpful to you. And transparently, it's also very helpful to Developer Team. The more of you who subscribe, the higher in the rankings we climb. And if you believe that Developer Team deserves to climb in the rankings on iTunes and on the other podcast providers, then that is one definite way to help us do that. So thank you so much for everyone who subscribes. Uh, now I want to jump straight into this episode. But. First, I want to remind you, and this is how Ajay got in touch with me. I want to remind you about the, the spec slack community. You can get there by going to spec.fm slash slack. It is free and it always will be. And you can directly message me or any of the other hosts of the spec network shows, which by the way are fantastic. You can go and find tons of content that is useful to you as a developer or as a designer at spec.fm. So go and check that out. Spec.fm. And if you want to join the slack community, that's spec.fm slash slack. You're probably already going there to check out the show notes anyway, but go ahead and join the slack community. You'll be glad you did. All right. So let's get into Ajay's question. Ajay writes, I've been a listener of Developer Team for a little over three months now, and I've binged through every episode from the beginning during my daily commutes. That is a lot of episodes to go through Ajay. Ajay says, I love the show. I've been a listener for a long time. I've been a listener for a long time. I've been a listener for a long time. I've been a listener for a long time. I've been a listener for a long time. I'm currently working as a senior UI engineer for a web agency and have been working in front end development and design for the past 10 years or so. I also take on a little freelance work as when I can, but generally my day job keeps me busy enough. My question, which I'd love for you to share your thoughts on on the show, is do you have any tips for side projects, which will help me improve on my development skills? In particular, I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. I'd love to hear from you. for what you use. So if you only have your friends and your parents visiting your personal site, well, you don't really need to scale that site up. But let's say you decide to release something and all of a sudden you need to scale for one day. You can do that and you only pay for that one day of the extra service. There's a monthly cap on all of the plans and the add-on services. You can have a VM for full control. You can run Docker containers. You can do pretty much anything you want to. You can have your own private Git server, encrypted disks, pretty much anything, right? Native SSD storage on the Linode network. Native SSD storage, 40 gigabit internal network. So it's super, super fast. All of these run on Intel E5 processors, and there's a seven day money back guarantee. Now, if that wasn't enough to convince you to go and check out Linode, then Linode is going to give you $20 of credit by going to linode.com. slash developer T. You can use the code developer T20 to get that credit as well. The short way of applying that credit is just linode.com slash developer T. Of course, all of this will be in the show notes at spec.fm. Thank you again to Linode for sponsoring today's episode of developer T. So we're talking about projects that we can learn from, learning projects, specifically learning projects. And this is based on a question from Ajay. The first tip that I gave Ajay, and this is based on a question from Ajay, is that we can learn from projects that we can learn from. And this is based on a question from Ajay. The first tip that I gave Ajay, and, for all of you who are in the same position that Ajay is in, do a bunch of small things. Do small projects, very small. Strip away all of the extra stuff, right? You're not trying to monetize this. You're not trying to launch it to the world as a software service. That's not the point. You're trying to learn something. So do something very small. Number two, do something you'll actually finish. In other words, if you find yourself bored, if you find yourself uninspired, if you're not excited about a particular side project, don't do it. Nobody's paying you to do this project. You're not forced to go into this issue, right? You're not forced to go into this project that you've come up with as the best possible thing, apparently. That's not the idea. If you're not excited to do it, then you're much less likely to do it. And especially if you're not excited and you're not getting paid, well, what's the point of doing it? If you're not excited, then you're much less likely to do it. And especially if you're not doing it to learn, then why not do it in a way that is exciting to you? Pick out something that you're excited about. An easy way to do this, for example, is to pick one of your hobbies outside of coding and build some idea around that hobby. Maybe you like food trucks. Well, build something that goes and grabs all of the local food truck position data and gives you a map of the closest food truck. I don't know. Whatever you come up with, make sure you enjoy it. I particularly like food trucks. I like food trucks. I like food trucks. I like food trucks. I wouldn't enjoy building a food truck map, but maybe that's what you want to do. Make sure you're going to enjoy whatever it is that you do. And in fact, I'll even go so far as to say that it doesn't have to be unique. If you're going to enjoy rebuilding what somebody else has built, if you find a particular visualization really interesting, or you want to build a tic-tac-toe game that's been built a hundred times, if you're doing it for the purpose of learning, then who cares if it's been done before? Do something you will actually finish. Do something that you're going to follow through on, that you're going to stay active on. So again, a quick recap. Number one, do small things, a bunch of small projects. Number two, do something that you'll actually finish. And number three, worry less about the outcome and more about the journey. Worry less about the outcome and more about the journey. Specifically, don't stress so much about the thing that you're building. If you're building something small, then it's not a lot of time and energy you're going to be throwing away anyway, right? If the purpose of your endeavor is indeed to learn and not to parlay this project into a service that you're going to sell and not to create something that is monetizable, if your purpose is indeed to learn, then don't worry so much about what the final product is. That's not the point. It's easy to get hung up on this because we think that we're supposed to be a right? We think that everything that we do is supposed to gain some kind of value in the world. But the value of the projects that we're talking about here is completely devoid of what that project is. And instead, it's all about what you do along the way. In other words, it's about that journey. It's about learning how to code in that language. Instead of trying to focus on, you know, making a unique product, or, you know, making a unique product, or, you know, making a unique making something that everyone's going to love. Instead, make a commitment to actually doing something consistently. When I say consistently, I mean that you can probably finish one project per day. A lot of people, especially with JavaScript, a lot of people do daily projects, and they're successful with this. Okay, make a commitment to actually doing something consistently. Commit to the schedule and worry less about the quality of the product. This is one of the few times where you'll get the license to make a terrible thing that no one would ever use. And if you learn from it, that's the lesson. That's the value. This is a very commonly known psychology trick, the idea of not breaking the chain. You've probably heard of this powerful concept, but the idea is to do something on a regular interval. Jerry Seinfeld is known for writing a joke every day and then marking an X on his calendar. There's even a site called the don'tbreakthechain.com, which you can find in the show notes, of course. Don't break the chain. It provides you with a very simple interface to actually track whether or not you're following your chain every single day. The big idea here, it matters less about what you build and more about whether you're actually building, right? It matters less about the final product and more about whether you are actually building or just thinking about it. So you have to become familiar with the throwaway project. Can you imagine how many throwaway jokes Jerry Seinfeld has as a result of this habit? Create a ton of pins on CodePen that are going to go nowhere, that you'll never tweet out, that you're never going to email to anyone. You're never going to put them on a portfolio. Build a bunch of stuff that just doesn't matter. That's totally okay. You're going to learn so much from those tiny projects that no one is going to be able to do. So you have to become familiar with the throwaway project. That no one really ever needs to use, that you actually go through the project and you actually finish it, right? You take the time to finish it because you're actually interested in it and you're not worried about the outcome. That's how you learn. You don't worry about that outcome, but instead you do something that's interesting, that keeps you energized, and you do something small enough where the ratio of interesting to mundane is very high. Most of what you're doing is very high. You're not going to be able to do it. You're not going to be able to do it. You're not going to be able to do it. You're not going to be able to do it. is interesting and there's very little mundane and you worry less about your outcome and more about your journey. You continuously do this. You do it on a regular schedule. That's going to take you a long way, Ajay. And I hope to hear back from you. I hope to hear that you've learned a lot in a month or two months from now. I'd love to hear from you. Please reach back out on Slack. Thank you so much for sending in the question, Ajay. Thank you to everyone else who is listening. Thank you for listening to me. Thank you for listening to me. Thank you for listening to me. Thank you for listening to me. Thank you for listening. And until next time, enjoy your tea.