How to stay motivated while learning to code: it’s a struggle that even the most passionate programmers have faced at some point.
If you’ve noticed a lack of motivation in your own journey, you are far from alone. Coding motivation waxes and wanes for many people, and it’s fine to take a day off now and then. But if you’re noticing you have no motivation to code for weeks or even months, that means it’s time to get intentional about figuring out why…and start fighting back.
This is such a common issue that I’m so grateful for Claudia Virlanuta coming on the podcast for a dedicated episode! Claudia is a former data scientist and the CEO of Edlitera, a platform featuring live, instructor-led courses for programming, analytics, and data science. After coaching and mentoring dozens of aspiring techies, she is well acquainted with how to handle programmer motivation and focus.
In this episode, Claudia shares how to get and stay motivated, how to stay focused while studying, and how to actively nurture your intrinsic motivation.
Read more below about the common obstacles that cause a lack of motivation and the ways to stay motivated through them!
Disclosure: I’m a proud affiliate for some of the resources mentioned in this article. If you buy a product through my links on this page, I may get a small commission for referring you. Thanks!
5 Common Reasons to Lose Programming Motivation
Here are some of the most common obstacles Claudia sees causing a lack of motivation in your programming journey.
“Time’s a big one,” says Claudia. “Not finding the time to practice to learn a new skill consistently, not building a routine around it, you know, like, same time, same place to do your practice.”
While you can’t create more hours in a day, you can usually maximize the hours you have. For instance, hear how Michael Tombor finds time to learn to code alongside a full-time job and family.
2. Assuming learning to code will be easy
“Another thing, especially when it comes to learning tech skills and learning to code in particular, is assuming that it's easy,” says Claudia. “Though it does get easier with time. I understand that it's hard not to believe the marketing. There are so many companies that tell us that learning to code is easy and it should be a walk in the park, which may be true in the very beginning when you first start learning. But it doesn't continue that way. Especially when you're already an adult and you're trying to learn it for the first time, you quickly realize that it's not really that easy.”
However, if you understand and embrace the challenge, you’ll be a lot harder to discourage. “I think just coming into it with a mindset that it's going to be a challenge and that it's going to be a struggle will help a lot.”
3. The way it’s taught sometimes
Claudia notes that sometimes teaching materials pull a bait and switch in accessibility too. “The other thing that I think is feeding into this problem is the fact that programming is taught in schools and online courses in a way that really discourages people from keeping with it. So if you go to a local college or take a programming course, you'll think in the first lecture or two that you'll have a fairly easy time keeping up with the material. And then by lecture three or so there's a huge drop in how approachable the material is. And that's really a problem, because people don't have the tools to get ready for that kind of progression.”
The best way to get past this is to find resources that take it gradually instead of dropping complicated concepts on you too soon. There are lots of free resources you can start with.
4. It becomes difficult to find resources after you first start
While those resources above are a great starting point, where do you look when you’re beyond a beginner level?
“You get a lot of resources in the very beginning, when you first start programming,” Claudia says. “There's a lot of stuff online that's free or a very low cost for learning the syntax and things like that. But then when you're moving from beginner to intermediate then beyond, the amount of resources that you find, and how easy it is to find them goes down significantly.”
Often, it’s the case that people with more advanced knowledge are less able to dedicate the time into giving information away for free or very cheap. When you start reaching those upper levels, expect to transition to paid resources (check out these platforms).
Another factor, Claudia says, is that sometimes people simply don’t know what specific kinds of resources to look for. “When people are moving from beginner stage to intermediate stage, they just don't know what to search for when they're tackling a problem. If you know what your Google query should be when related to the problem that you're trying to solve, you should be able to find something. But if you don't know what to search for, that's a big problem.”
David Clinton talked about the importance of just knowing the right questions to ask and how to phrase those questions. In Google, just being able to put your question into the right words is an accomplishment.
5. Imposter syndrome
Imposter syndrome is a term for feeling like you don’t belong or are “faking it.”
“You assume there are only a chosen few out there who can learn programming,” says Claudia (and you don’t believe you’re one of them).
In reality, everyone is faking it to some degree, until they realize one day that they’re not. It’s normal to feel that way, but “fake it til you make it” is actually pretty good advice.
5 Ways to Stay Motivated While Learning to Code
Beyond addressing those obstacles, Claudia has plenty of advice for how to stay motivated. Developing and maintaining coding motivation takes some work at first, but these steps will save you a lot of trouble later.
1. Have a goal (but start small)
Focusing on your goals gives you the push to get through, but don’t just rely on your big, long-term goal, which is far away. “I don't think that a goal like ‘I'm gonna learn to program and I'm going to be great and I'm going to be a software engineer’ is very productive, because it's one of those things that can take years,” says Claudia. “I think what matters more is to set up very small and attainable goals. Start small, build constantly.”
For instance, Claudia continues, your goal could be “Finishing a course, working your way through a book, preparing a presentation or a tech tech talk on your project, going to a meetup. Or maybe you take on a new project at work and you're thinking, ‘Okay, can I automate this work stream, or this particular task that I do all the time?’ and basically work towards finishing that goal.”
2. Have a routine
Don’t underestimate the power of habit! Sometimes it’s just about being so consistent that it becomes automatic. “Build a routine and stick to it,” Claudia says. “Routines are your friends, because if you do something at the same time, and the same place, whether it's every day or twice a week, you're a lot more likely to stick with it, even if you don't feel like coding.”
Finding the motivation to study can be as simple as sitting down and letting the muscle memory take over. “If your time for coding practice and study is Wednesday at 6pm, and you sit at your desk or your kitchen table and you have a small word problem, or a small exercise to work on, you're much more likely to do it. Because even if you don't feel like it, you just go there, you sit down and you get started. Even if you don't finish what you were going to do that day, the fact that you got started and continued that habit is going to help tremendously.”
3. Get accountability
While intrinsic motivation and habit-building is great, sometimes how to get and stay motivated is to bring other people into the mix to provide an outside source. “I would suggest building an accountability framework,” Claudia says. “So a mentor, a coach, or someone that you can meet with consistently to report on your progress. For me personally, that's helped a lot.”
This can be a friend or a peer instead of an official mentor, too. “Whenever I would prepare for interviews, or work on a big project, I would always basically keep up with someone—a buddy, or a coworker, or my manager. Being able to text or call someone and tell them, Hey, I did my coding practice for this week, and I solved this, and tomorrow I’m going to do another hour…it works to keep you grounded.”
4. Eliminate opportunities for distractions
“If we're being honest with ourselves, it's really easy to get out of doing the things that are hard and uncomfortable,” Claudia says. “The best way to avoid these distractions and excuses is just to eliminate any opportunity for a distraction from your environment as much as possible. If you can’t focus at home because the dog is barking, or the cat’s meowing, or the kids or the TV or whatever it is, go to the public library or a coffee shop, or the office after hours and do your coding practice there.”
Brian Jenney is one great example of this. When he decided to buckle down to coding, he stopped watching sports, drinking alcohol, and indulging in other “time-wasters.” You have the power to decide that focusing on your goals is more important than TV!
5. Look both forwards and back
Remind yourself of where you’ve been and where you’re going. “For people who are learning to code for the first time, no matter where you are, try to look back and see where you are compared to where you started to show you how far you've come. Also look forward, at people who inspire you or who are mentoring you or who are where you want to be.”
Read more tips on how to get motivated and push through a coding rut here.
When You’re Ready to Give Up, Pause and Evaluate
With anything in life, you’ll probably have moments where you want to throw in the towel. But if you’re on the verge of quitting, Claudia cautions not to do it for the wrong reasons. “If along the way you just find something else that interests you more than coding, that's fine. But be honest with yourself and don’t give up on a goal that you’ve set for yourself just because it’s hard.”
She illustrates with a story: “My husband bought me a pair of roller skates a couple of years ago for my birthday. And he said ‘you need to learn, you need to get out more and learn to do something active’. I'm so horrible at picking up physical skills and things that require coordination. And I had those skates in my closet for a couple of years, until the summer I decided, you know what, every Saturday, I'm going to go to this park nearby and I'm going to learn this no matter what happens.
“And so what ended up happening is that I would show up every Saturday to this park with my skates and my protective gear, and I looked ridiculous. The first time I couldn't even move. I was holding on to this fence. I finally started moving and making some progress, and I would just fall all the time. But by the third weekend, there was a very noticeable improvement. I didn't fall as often. I could actually get on my skates and go right away, I could go without holding on to a fence. I think that kind of showcases the willingness to look silly and to make fun of yourself. I knew I probably looked really funny, but then I laughed at myself, too.”
How you react to setbacks is ultimately a matter of mindset. “Having that kind of mentality when learning to code, I think, is super important. Because in the beginning, you'll suck, you'll think you’re a lot worse than anyone who has ever picked up a programming book before and that's fine. That's how it should be. You'll get better with time. But you have to understand that.”
Links and mentions from the episode:
- General Assembly
- S5E3: How to Decide What Programming Languages to Learn With David Clinton
- Brian Jenney
- Data Talks Podcast
- Claudia on LinkedIn
Where to listen to the podcast
You can listen to the Learn to Code With Me podcast on the following platforms:
If you have a few extra minutes, please rate and review the show in iTunes. Ratings and reviews are extremely helpful when it comes to the ranking of the show. I would really, really appreciate it!
Special thanks to this episode’s sponsors
Xojo: Want to create native apps for desktop, mobile, web, and Raspberry Pi–all at the same time!? Xojo is a cross-platform development tool that makes building apps easier and faster than ever. Check out xojo.com/learntocode and get 20% off with the coupon code ICANCODE.