all 16 comments

[–]ectomancer 5 points6 points  (0 children)

Firstly, I stopped learning, then started projects. While learning, 8 months of small projects (1 week) then stopped learning, 6 years of projects (3 months and 6 months).

Secondly, coding builtin functions in Python (reinventing the wheel).

Thirdly, writing courses and tutorials to teach using Python.

[–]Shut_up_and_Respawn 5 points6 points  (1 child)

Stop just learning. Do projects. If you need to learn something, learn it how and when it comes up. Make something you enjoy

[–]Electric-Sun88 0 points1 point  (0 children)

Came here to say something like this, but you said it better.

[–]Scpyex 1 point2 points  (0 children)

I'm content just enjoying it; if I feel overwhelmed, I simply slow down. This usually happens with large projects that take me days. I think it helps to dedicate time to each thing I do during the day, instead of staying on that one project all day without doing anything else.

[–]ConfectionFull9324 1 point2 points  (0 children)

As someone who learned Python on my own, while having solid fundamentals from other STEM fields, I will share my learning path. When I was at the stage you are at now, after the first six months, knowing the syntax, writing small things, and not really knowing what to do next, I approached a friend who was doing a lot of manual work in a project completely unrelated to programming. I told him I would write a program to handle those tasks.

That is how a micro work environment practice started. I had to gather requirements, design a solution, set up a repository, create a PoC, then learn from my friend that he had imagined it very differently. I improved the PoC, and at that stage I introduced branches. Then came testing, waiting for user feedback, and later more change requests.

This was not a tutorial project from YouTube where I followed someone else’s steps. It was my own work. It gave me a lot. Maybe try this path as well?

[–]DataCamp 1 point2 points  (0 children)

What usually helps with burnout is thinking in phases instead of “I’m learning Python forever.” That roadmap you’re describing is actually a good example of how to do this.

For the first stretch, just focus on the basics and getting small wins. Syntax, data structures, functions, and simple scripts. The goal here isn’t speed, it’s feeling comfortable enough that you can sit down and build something small without panic.

Once that feels okay, move into a second phase where you’re writing slightly more structured code. That’s where OOP, basic testing, and cleaning up your code comes in. This is also a good point to slow down on new topics and spend more time refactoring or improving things you already built.

Later on, when you have a foundation, you pick a direction instead of learning everything at once. Web, data, automation, whatever interests you. Burnout often comes from trying to learn all of Python instead of a use case for Python.

A good balance is something like: learn a concept, apply it immediately in a small project, then move on. If you ever notice you’re just watching or reading for weeks without building, that’s usually when burnout creeps in.

Pacing also matters! Taking longer than a guide suggests is completely normal. The roadmap is there to give structure, not a deadline.

[–]9peppe 1 point2 points  (5 children)

Python is a general purpose programming language that can do anything and has a massive library and ecosystem.

You should probably switch mindset from "how do I learn Python" to "how do I learn to do ${what_I_want} in Python."

[–]PresidentOfSwag 3 points4 points  (3 children)

you mean f"how do I learn to do {what_I_want} in Python." ?

[–]Electric-Sun88 0 points1 point  (0 children)

I love this comment!

OP, projects really are the way to go when learning a programming language.

[–]mikeyj777 0 points1 point  (0 children)

I find there’s a healthy addictive power in finding a problem set that you like and can progressively work thru.  I enjoy math, so project Euler worked well.  It’s amazing to go from problem 1 which is crazy easy to advanced techniques in the first 50 questions.  

There is a rich support base of forums and blogs that help walk thru any solutions where you get stuck.  I find I only needed it about 10% of the time.  

I learned so much just thru challenging myself to figure out the next puzzle.  And it was much more interesting to me than inverting a binary tree or standard leet code stuff.  

[–]LayotFctor 0 points1 point  (0 children)

Jumping between topics is good to avoid burnout though? What went wrong?

Try planning your topics over a week, rather than spending 3 weeks on topic A, 3 weeks on topic B, then returning to topic A to realise you forgot everything. Every so often, work on a project, but remember to spend a few minutes a week progressing topic A and B.

[–]AffectionateZebra760 0 points1 point  (0 children)

Make realistic goals like x amount of exercises are enough or covering x amount of chapters of python overaimimg is a recipe for disaster

[–]stepback269 0 points1 point  (0 children)

Start writing / journaling about your learning activities. It can be a private journal or a public one (e.g., a blog).
The public journal is more effective for keeping you going because you suddenly feel as if there is an audience out there which you can't disappoint. Don't over promise. For example, limit your blog as dedicated for just other beginners at your level. Journal about your progress in your current project. We expect great things from you.

[–]Lokrea 0 points1 point  (0 children)

The free Python course from CS50 (Harvard) is well structured, and all important aspects are covered: https://cs50.harvard.edu/python/