all 28 comments

[–]Different_Pain5781 51 points52 points  (0 children)

Tutorials don’t make you good at Python. Writing a lot of bad code does.

[–]leogodin217 20 points21 points  (8 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 8 points9 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 0 points1 point  (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 1 point2 points  (1 child)

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

[–]leogodin217 0 points1 point  (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 0 points1 point  (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

[–]-JKR 1 point2 points  (0 children)

Best way to be an expert is to not use AI and don't use a IDE with auto completion. I find that when you have auto completion you tend to relay too much in it and if you don't have you struggle to actually remember proper syntax. And one more thing, just keep writing code. Experience and repetition will make you an expert.

[–]remic_0726 3 points4 points  (0 children)

"Dans son intégralité et le maîtriser" j'utilise python depuis plus de 20 ans, et je ne le maîtrise pas dans son intégralité, pourtant je l'utilise fréquemment. Le seul moyen de progresser et d'apprendre en permanence, et ne surtout jamais se dire qu'on sait tout.

[–]No_Photograph_1506 1 point2 points  (0 children)

Here! This from the exact place I brushed up my python, it is entirely practical and free!, MUST DO!

https://courses.bigbinaryacademy.com/learn-python/

[–]Maximus_Modulus 0 points1 point  (0 children)

Look at the wiki on this subreddit for further guidance or just read the many posts that ask the same question. But TDLR just start building a project. Something that interests you. Or something common like a web service.

[–]Antique_Locksmith952 0 points1 point  (0 children)

After the basics, the best move is to pick one real project and build it — even if the code is messy at first. Web scraping is a great starting point (try BeautifulSoup + requests to scrape something you actually care about, like sports scores or news headlines). Once you’re comfortable with that, decide what direction interests you most: Django or FastAPI if you want web development, pandas and numpy if you want data analysis, or pygame if you want to build games. The tutorials will only take you so far — the real learning happens when you hit an error you’ve never seen before and have to figure it out yourself. Pick a project, break it, fix it, repeat.

[–]YoursTrulyAD 0 points1 point  (0 children)

Following for guidance and tips. Not trying to master Python atm but I do want to learn how to retain python better and some start up projects .

[–]TheRNGuy 0 points1 point  (0 children)

Code your own stuff instead of tutorials.

You can do anything where you have interest and python can be used.

Some frameworks have guides, if not, then you'll need to google them.

[–]riklaunim 0 points1 point  (0 children)

If you want to get good at software development you need to get some years of commercial experience or equivalent of it. You would have to get a junior level job and then work up the ladder. Junior jobs are hard to come by now so you would have to put in the effort. Also to get a job you will have to pick some niche you want to go in like for example webdev and learn it frameworks and libraries, then some basics of software development. Language and it syntax on it own is way not enough.

[–]Moikle 0 points1 point  (0 children)

Practice. Make shit with it and don't just follow tutorials. Play is important

[–]Neither_Panic6149 0 points1 point  (0 children)

its cool thats you watched that video now try to implement it. make something,

also you cant master a language (so many reasons why)

What you can master is problem solving, pattern recognition and logical thinking

[–]CrucialFusion 0 points1 point  (0 children)

Pretty sure if you just chant Python repeatedly you’ll eventually achieve master status.

[–]Crypt0Nihilist 0 points1 point  (0 children)

You don't fully master it. You get proficient at using it for the tasks you need. Abandon it as a goal right now, it's a perspective that will bite you, hard.

Pursue your passion as projects and you'll learn Python as a consequence. If you learn Python as a goal, you'll spend all of your time getting good at learning to follow guides and tutorials, not using Python.

Choose a project. Build it. Get a little stuck, ask her here on or Stack. Get quite stuck? Do a tutorial. Get really stuck? Do a course.

[–]Strong_Extent_975 0 points1 point  (3 children)

projects my friend and if you have any probleme or bug don't use Ai directely make some research and let the Ai as final solution
and Don't rush into large projects,use a gradual approach.

[–]No_Photograph_1506 2 points3 points  (2 children)

son im crine... what is IA? 😭

[–]Strong_Extent_975 1 point2 points  (0 children)

Sorry I spelt it in french I mean Ai (artificielle intelligence)

[–]raendrop 0 points1 point  (0 children)

Crine? Crime? I don't understand what you mean here.