Credit: Elle Aon/Shutterstock.com
If you’re learning python, chances are you started with tutorials–and honestly, there’s nothing wrong with that. They give you a solid foundation and help you get familiar with the basics. But at some point, you can get stuck in an endless loop of tutorial hell, this cycle limits real progress without you noticing. I’m now two years in, I’ve made enough mistakes to know which habits actually make you better. Here are the ones worth your time.
Level up with code games: Learn by playing
Stop reading about python and start playing with it
If traditional exercises feel a little difficult for you, coding games are a better substitute. I like this method because it takes learning from a passive activity, like watching lessons, into an active, goal-oriented challenge. You aren’t just writing code to complete an exercise anymore, you are now solving puzzles, defeating opponents to rank higher on the leaderboard.
If you are just starting out, these three platforms are all you need– Codecombat, CodinGame, and CheckiO. I started with codecombat, and it was exactly what I needed in my early python days. It eases you into python by putting you inside a fantasy game where the only way to move your character, attack enemies, or unlock new levels is by writing real code. CodinGame is great if you enjoy competition, it lets you write python code to battle other players in real time. CheckIO is more puzzle-based, and it becomes harder as you level up. All three are free to get started with, and each one engages you more than tutorials.
Build it again, but make it better
Your old code is your best practice material
Credit: Elle Aon/Shutterstock.com
Sometimes, it’s better to revisit your old projects than to chase new ones. You can go back to something you already built in the past. It doesn’t have to be impressive. A number guessing game, a basic to-do list, a script that renames files–any project counts. Open the file in your PyCharm IDE and read through it like a stranger. You might cringe a little, that’s a good sign, it means you have grown since you wrote it.
Now rebuild it with everything you know now, you can add new features, fix the broken logic or simply clean up the code that works but looks like it was written in a hurry. Engaging in small improvements like these teaches you more than you might expect. As you refactor, you develop an eye for writing quality code, which is a major marker of experience.
Become your own tech support
Automate the tasks you already do everyday
Credit: Lucas Gouveia / Justin Duino / How-To Geek | elenabsl / Shutterstock
One of the best-kept secrets of experienced Python developers is that they learn a lot of what they know by solving their own problems. Think about the small, repetitive tasks that eat into your day. Maybe you manually sort files into folders, copy data between spreadsheets, or rename photos from your camera. These are exactly the kinds of problems Python was built to solve.
When you write a script that automates something you actually use, the motivation to get it working is real – because if it breaks, you feel it. You can write a script that organizes files in your downloads’ folder by file type, or one that sends you a morning reminder. You do not need to build something complex. What matters is that the problem is yours, and the solution has to work. I once wrote a script that automatically cleared all the old screenshots cluttering my recycle bin. It took me about an hour to figure out, but it saved me from doing the tedious cleanup manually every week.
This kind of hands-on practice will build your problem-solving instincts that no tutorial can replicate. I mean, yes, you will make errors you have never seen before, read documentation you would have skipped, and figure out solutions on your own. That little process – searching, failing, fixing, is what will make you a better python developer.
Best way to learn: Start teaching someone else
You don’t truly know it until you can teach it
Credit: Indypendenz/Shutterstock.com
You don’t need to be an expert before sharing your coding knowledge. In fact, teaching before you feel ready is when the real learningf happens. I had a group of friends back in school, three of us who were curious about programming. I usually walk them through something I learned, and almost always, they would have a question I did not anticipate–and that would make me research for an answer. That process of searching, explaining and simplifying stuff is where deep understanding gets built.
If you do not have someone to teach in person, writing counts too. Every time you put something into words, you get a better understanding of the topic. You can start a blog, posting and documenting short explanations on Reddit, or developer communities like dev.to. You will get an audience of programmers like you, who you will also learn from, contribute, and suggest better approach.
Every line of code outside a tutorial counts
To become better at writing python code, you have to move beyond passive learning, and start doing things that challenge you in real ways. Sometimes these alternatives may not feel productive at the moment, but it all adds up to making you better.

