Today, we’re going to talk about what might be the biggest challenge of learning programming online and how to overcome it.
After teaching over 600,000 students online, I have noticed most people don’t quit learning Python because it’s too hard. They quit because they don’t feel like they’re making progress.
You start out excited, writing your first “Hello, World!”, maybe even building a small project. But after a few weeks, the excitement fades. You look at your code, and it feels messy. You try to solve a problem, and you get stuck. You see someone online building something impressive, and suddenly, you feel behind.
That’s when most people give up.
But here’s the thing: feeling stuck is not a sign that you’re failing. It’s a sign that you’re learning.
If you want to push through that phase (and actually get good at coding), you need a different approach. Here are some things that have helped me stay motivated, even when I wanted to quit:
1. Make It Impossible to Quit
Motivation is unreliable. If you wait until you feel like coding, you’ll barely make progress. Instead, create an environment where quitting isn’t an option. Here is what works for me:
• Delete distractions. Remove YouTube, Netflix, or any other time-wasters from your most-used devices. This also includes social media apps on your phone. Look for blocking apps that force-blocks apps like instagram, facebook, etc. Such apps allow you to set a blocking schedule so you can adapt that with your study times.
• Attach coding to something you already do. If you drink coffee every morning, write 10 lines of code before you take your first sip. You can consider the coffee as a reward.
• Make it social. Tell someone you’ll send them proof of what you built today. Having even one person keeping you accountable changes everything. You can also put the code in a Pastebin page and post the link in the Daily Python Projects chat.
2. Forget Motivation—Chase Curiosity Instead
Some days, you won’t feel motivated. But curiosity is a better driver than motivation anyway. Instead of thinking, I need to practice Python, ask yourself:
• What happens if I change this piece of code?
• Can I make this project work with half the lines of code?
• What’s something weird I can try today?
When coding feels like an experiment, it stops being a chore.
3. Make It a Game (With a Streak to Protect)
Gamify your learning. Track how many days in a row you’ve written Python code, even if it’s just 5 minutes. Start with a streak of 3 days. Then push it to 7. Then 14. Before you know it, coding will be a normal part of your day. I would suggest using a habit tracker app on your mobile.
4. Steal the “One Hard Thing” Rule
Every day, pick one thing that feels slightly out of reach and do it. Maybe it’s a new Python concept. Maybe it’s debugging your own code instead of Googling a solution right away. The point is to push your limits, but only a little. Do this daily, and in a month, you’ll look back and wonder how you ever struggled with the things that felt impossible before.
5. Only Compare Yourself to Your Past Self
This stands for every domain, and not only programming. Comparison is the biggest killer of motivation. If you compare yourself to people who’ve been coding for years, you’ll feel like you’re behind. But compare yourself to the “you” from a month ago, and you’ll see progress.
So here’s my challenge for you: go back to your first Python project and look at your code. If it looks bad, that’s a good thing—it means you’ve improved.
To wrap it up, you don’t need to feel motivated every day. You just need to keep showing up. The easiest way to do that? Follow a system that makes coding automatic. That’s exactly why I post daily Python projects—so you never have to wonder what to work on.
Try one of the projects posted on Daily Python Projects. Even if it’s just for 5 minutes. Even if you don’t feel like it.
Because the people who win in coding (and in anything) aren’t the ones who are always motivated. They’re the ones who keep going anyway.
Happy coding!
Ardit