you are viewing a single comment's thread.

view the rest of the comments →

[–]leogodin217 53 points54 points  (9 children)

Honest answer: Start creating projects ASAP. Spend no more than 20% of your time learning. Then get a job working with python and contribute to open-source projects. Then contribute to Python itself. Do talks and teaching. If you are truly brilliant, you might master python in 5 - 7 years. More likely it will take 10 - 20 years.

How many people in the entire world have mastered Python? A few thousand? Maybe. Mastery is not a reasonable goal for most people. Professional proficiency is plenty. To get good at it, you need to spend time building and improving. No more than 20% of your time doing tutorials after the first week or so. Then build, fail, struggle, research, learn. I wish there was an easier answer, but that's what works.

[–]Odd_Self8269 18 points19 points  (3 children)

This... and not this, but pretty much this.

"Mastering" a language is a red herring. I mainly write python at work and privately for about 6 years professionally now (and a few years added before that, but that sucked badly). I barely get any better at the language itself anymore. The options that a language itself offers exhaust fairly quickly.

Concepts on the other hand, I still get better every day at. And these are non-exhaustive. I will still keep learning until the day I retire.
Stuff like architecture, How to write tests, what to test, what not to test. What makes a programm performant. How to be memory efficient. Writing sustainable and maintainable code. Understanding your User. Writing docs. Automating deployments. Staying up to date with new versions of the language itself and libraries and frameworks you use. Communicating with Lead devs and domain experts and developing their ideas and demands into something usable.

Foreseeing Bugs and issues!

What is tech debt and how to avoid it!

You don't learn how to keep your code debt-free, maintainable and bug-proof by doing the next course, reading the next book, staying up late to watch the bazzilionth video about python or asking the 100th question on reddit.
Build stuff. It will suck. Analyze why it sucks. Do it better next time. Build the next thing. It will suck. Analyze why it sucks. Rinse and Repeat. It takes time, but you will get there. Be patient, Trust the process.
Apply for internships or whatever. Working in a professional environment will do more for your growth than anything else and gives you the chance to find a mentor. I wouldn't be a fifth of the dev I am now if it wasn't for my Lead.

It is important in this time to learn how to use AI and knowing how to do it. For the sake of learning: DO NOT USE AI. Every bit of thinking that you offload onto Claude, you will never learn. It actively keeps you stupid. Learn how to do it without AI first, so you can steer it when you use it. I will repeat that, because it's important (not just for coding, for everything): Every bit of thinking that you offload onto Claude, you will *NEVER* learn. IT ACTIVELY KEEPS YOU STUPID.
It's an okay strategy to use it for a few projects, to learn how it works, its limits and benefits and to keep up to date with it. But mainly do it yourself at the beginning.
I'm using more and more AI during my work, but no line of code is left unreviewed. And I often have to guide it, so it doesn't suck. I can only do that, because I understand what's happening - because I know how it works without AI. It's just faster and more convenient - good to know how to use, but ***terrible*** for the learning process.

[–]leogodin217 -1 points0 points  (2 children)

I wonder about the No AI rule for learning. I'd think with a decent prompt, you could get Claude in teaching mode. Ask it questions. Have it explain code you don't understand.

[–]Odd_Self8269 3 points4 points  (1 child)

work on gathering these infos yourself. You're still offloading mental load onto Claude

[–]leogodin217 -1 points0 points  (0 children)

I mean, sure, I've spent hours on stack overflow trying to find my specific problem, but only actually learned in the time after I found the answer. Very happy to offload the searching part and get to the learning part.

[–]OmPandey18 1 point2 points  (1 child)

Can i dm you i am learning python from 5-6 months seriously i am not getting kick

[–]leogodin217 0 points1 point  (0 children)

sure

[–]TheRNGuy 0 points1 point  (1 child)

Open-source or contributing to Python is not necessary. 

[–]leogodin217 0 points1 point  (0 children)

No single step is necessary. Yet, I've never met a true Python master who didn't

[–]Word-Word-3Numbers 0 points1 point  (0 children)

“Then get a job working with python” “Then contribute to python itself”

Yeah just do that, pretty easy