How to actually stay motivated to learn how to code
Learning to code is a bitch.
It’s never been easier to learn to code, with so many resources available to learn from. But getting your ass to actually do it is as hard as it’s always been.
I’m not going to pretend like I’m any different. Back in the day I decided this would be the year I would get serious about learning to code. And the year after that, and the year after that . . . you know how it goes.
If you’ve ever committed to learning something big, you know how hard it is to keep yourself motivated through the long slog. How do you do it?
Make something
Don’t take so many tutorials. They’re good for getting an overview of something new, but after that you have to get off your ass and make something.
You could make another to-do list app, but who wants to do that? You don’t have to make any of the simple beginner projects that everyone says you have to make. (Making tic-tac-toe in JavaScript is pretty badass, though.)
Build something you want to make. I’m sure you’re a creative person. Think of a small project or app that would help you out, or at least look cool. Put it online. Get some feedback from people. Fix some bugs. Just do something.
You can show it off as a cool project to potential future employers. Nobody cares if you made another to-do app. They will care if you make a website that shows your ability to turn a fuzzy idea into something tangible.
Or better yet, don’t get a job. Make an app or website that you can charge people for and make some money off that. Be creative. Or maybe you’ll make something cool, it’ll go viral on Reddit, and you can position yourself as an expert in the space and get some new freelancing clients. Think outside of the box.
I recently launched Unbokeh, which is a bunch of blurry backgrounds you can use for designs and wallpaper. I made it because I like blurry wallpapers, they look cool, and I wanted to make a cool resource others could use. It’s not a million-dollar-idea, but I’m proud of it. I learned a lot about Gatsby and GraphQL I didn’t before. I put it on Twitter and a lot of people liked it.
Plus, putting something online that you worked hard it feels good, doesn’t it?
Get a job
One of the my favorite ways I learned to code was by having people pay me to learn. If you put some effort into it, you can get some small jobs on a platform like UpWork and make some money while you’re at it.
You don’t have to be an expert—you just need to know enough to get the job done. If you know how to sell yourself a little, they’re not going to care if you’re a beginner. You just have to prove that you can get the job done. If you made a cool side project like I told you to, you have experience already.
I learned how to develop WordPress themes by cold emailing local businesses and redesigning their sites. I learned JavaScript from building a splash page for another small business. I got better at React by making some pages for a startup.
You don’t want to do anything completely outside your skillset. But by pushing the boundaries a little and taking on a real project, you’ll make big progress.
You’re not trying to get rich here, but the extra experience from real-world projects is worth it.
Get connected on Twitter
One thing that helped me was to join Twitter. It’s where all the developers hang out. You can follow a bunch of developers making cool things and get inspired. Follow some industry leaders and learn about new tools and tech. Once you fill your feed with interesting articles and people talking about JavaScript, you’ll be a lot more motivated to keep learning. Post some articles you learned from or a new code snippet you thought was cool. You’re part of the community now.
Of course don’t waste too much time on it. You’re here to learn more and be part of the community, not get distracted.
One big motivator for me was to join the #100DaysOfCode challenge. The premise is simple: You code for at least an hour 100 days straight and tweet about your progress every day. You won’t want to break your streak. #CodeNewbie is another nice hashtag to get connected with people on Twitter.
It’s great because you get access to a community of other people learning to code, same as you. Tweet interesting things you’re working on. Get some people to follow you and follow them back. DM them and ask what they’re working on. Make some friends. If you’re part of a community, it’s much easier to build the habit of coding. Soon, it’ll be part of your identity—you’re a developer now. It’s just what you do.
Just fucking do it
In the end, it’s all up to you. You just have to commit to it and get it done.
Understand you’re in it for the long haul. It’s cool to see success stories on Twitter about how this dude landed a six-figure job after learning to code for 3 months. And he’s 18. They’re always 18, aren’t they? But they’re the exception, not the rule, and if you want to fix your life fast by learning to code, you’re not going to.
If you want to get a job or build a killer product, you’re going to have to work hard at it. All the success stories you see are just the results, not the long, boring hours before that. It’s going to help you get through the rough spots when you feel dumb as shit and that you’ll never get the hang of this. Trust me, there’s going to be a lot of spots like that.
Don’t do it halfway—if you’re not really into it or passionate about it, it’s probably not going to work out. But if you want to put in the time and effort, and a little bit of blood, sweat and tears, you can do it. Now get back to learning.