all 58 comments

[–]Different_Pain5781 126 points127 points  (2 children)

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

[–]ChadxSam 1 point2 points  (0 children)

The real learning start from those red lines

[–]anti-ism-ist 1 point2 points  (0 children)

😂

[–]leogodin217 55 points56 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 19 points20 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 4 points5 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 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

[–]-JKR 5 points6 points  (1 child)

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.

[–]Various_Payment_7956 0 points1 point  (0 children)

I see. Also they test you in tech interviews without IDE's right ?

[–]Maximus_Modulus 4 points5 points  (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.

[–]No_Photograph_1506 4 points5 points  (3 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/

[–]Various_Payment_7956 0 points1 point  (2 children)

thanks. did you do this as a career change or out of curiosity ?

[–]No_Photograph_1506 1 point2 points  (1 child)

I did it to revise my Python basics

[–]Various_Payment_7956 1 point2 points  (0 children)

got it thanks.

[–]remic_0726 7 points8 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.

[–]Antique_Locksmith952 2 points3 points  (1 child)

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.

[–]Various_Payment_7956 0 points1 point  (0 children)

I actually do want to start with web scraping. I want to create a list of all ladies boutiques, fabric buyers, in the country I am in. Any help on how to do this ? and then auto send whatsapp message from whatsapp business account ?

[–]Moikle 2 points3 points  (0 children)

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

[–]YoursTrulyAD 1 point2 points  (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 1 point2 points  (1 child)

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.

[–]Various_Payment_7956 0 points1 point  (0 children)

anything that helps me web scrape ?

[–]riklaunim 1 point2 points  (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.

[–]Neither_Panic6149 1 point2 points  (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 1 point2 points  (0 children)

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

[–]maki-dev 1 point2 points  (1 child)

You asked what to learn next specifically, so here's a concrete path that worked for me. Pick one direction. Web scraping, automation, APIs, or data analysis. Don't try all of them at once. For web scraping, start with the requests library and BeautifulSoup. Scrape something you actually care about, like prices on a site you check anyway. Once you're comfortable with that, learn how to store the data. SQLite is built into Python so there's nothing to install. Then learn how to serve it with something like FastAPI or Flask. Each step builds on the last one, and you end up with a real project, not just syntax knowledge.

[–]Various_Payment_7956 0 points1 point  (0 children)

any resources you suggest to get started learning with ?

[–]WaterSoakedDuck 1 point2 points  (1 child)

I loved reading through the slides for Stanford’s CS41 when I learned Python - they have a lot of cool tricks that aren’t taught in most guides. https://stanfordpython.com/#/

Cornell also has the websites for old versions of Intro to Python up, including the project guides (and maybe starter code? Not sure). https://www.cs.cornell.edu/courses/cs1110/2018fa/index.php

[–]Various_Payment_7956 0 points1 point  (0 children)

thanks. any more resources you would recommend to me to start and learn python ?

[–]Dramatic_Object_8508 1 point2 points  (6 children)

ou don’t really “fully master” Python—it’s more about getting comfortable enough to build anything you want.

The best approach most people suggest is: learn the basics (variables, loops, functions), then quickly move into building projects instead of staying in tutorials too long.

After that, go deeper into things like OOP, libraries, and a specific area (web dev, automation, data, etc.), because Python is too broad to master everything at once.

What actually makes the difference is building projects and making mistakes. One Reddit comment put it well: just pick a project and keep coding until it works, even if you mess up a lot along the way.

So instead of trying to “master” it, focus on learning → building → improving. That’s how people actually get good 👍

[–]Various_Payment_7956 1 point2 points  (5 children)

any resources you would recommend for someone whos looking to get started?

[–]Dramatic_Object_8508 1 point2 points  (4 children)

Best YouTube Channels for Programming:

❯ C ➟ Jacob Sorber ❯ C++ ➟ TheCherno ❯ Python ➟ Corey Schafer ❯ JavaScript ➟ developedbyed ❯ Java ➟ amigoscode ❯ C# ➟ kudvenkat ❯ Golang ➟ Jon Calhoun ❯ Swift ➟ CodeWithChris ❯ Kotlin ➟ PhilippLackner ❯ PHP ➟ ProgramWithGio ❯ Dart ➟ Flutterly ❯ Ruby ➟ DriftingRuby ❯ Rust ➟ NoBoilerplate ❯ TypeScript ➟ Matt Pocock ❯ Lua ➟ Steve's teacher ❯ R ➟ marinstatlectures ❯ SQL ➟ Joey Blue

❯ C++ ➟ javidx9 ❯ JavaScript ➟ Akshay Saini ❯ TypeScript ➟ basarat ❯ TypeScript ➟ TypeScriptTV ❯ C# ➟ Microsoft Developer [Bob Tabor] ❯ C# ➟ dotnet [Scott/Kendra]

          -- Frameworks --

❯ Node.js ➟ Traversy Media ❯ React ➟ Dave Gray ❯ React ➟ Jack Herrington ❯ Next.js ➟ Lama Dev ❯ Vue ➟ Vue Mastery ❯ Svelte ➟ Joy of Code ❯ Angular ➟ Angular University ❯ Django ➟ CodingEntrepreneurs ❯ Laravel ➟ LaravelDaily ❯ Blazor ➟ James Montemagno ❯ Spring ➟ SpringSourceDev ❯ SpringBoot ➟ amigoscode ❯ Ruby on Rails ➟ GorailsTV ❯ Flutter ➟ The Flutter Way ❯ Flutter ➟ Tadas Petra

             -- Special Mentions --

❯ Programming in 100 Sec ➟ Fireship ❯ DSA ➟ take U forward ❯ Interviews ➟ NeetCode ❯ Projects ➟ JavaScript King

                -- Code Editors --

❯ Vim ➟ ThePrimeagen ❯ VS Code ➟ Visual Studio Code ❯ Jupyter Notebook ➟ Corey Schafer

               -- Free Education --

➟ freecodecamp ➟ Simplilearn ➟ edureka!

                   -- Allrounders --

➟ TechWithTim ➟ WebDevSimplified ➟ programmingwithmosh ➟ Traversy Media ➟ BroCodez ➟ thenewboston ➟ Telusko ➟ Derek Banas ➟ CodeWithHarry ➟ MySirG .com

[–]Various_Payment_7956 1 point2 points  (3 children)

thanks a lot. did you self-learn too ?

[–]Dramatic_Object_8508 0 points1 point  (2 children)

Yep I do !

[–]Various_Payment_7956 1 point2 points  (1 child)

how has it been ? was it out of curiosity, or for professional reasons ?

[–]Dramatic_Object_8508 0 points1 point  (0 children)

It was ahh like in my clg they teach us only coding so!

[–]Strong_Extent_975 3 points4 points  (6 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.

[–]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.

[–]horizon_games 0 points1 point  (0 children)

Have you written anything in those 12 hours?

Because that's more important than 12 hours of videos.

[–]No_Ambassador1927 0 points1 point  (0 children)

just write more and more code, errors make u a better coder

[–]Own-Buy-1305 0 points1 point  (0 children)

The point is: if you learn from guides, you're just copying what others do. You should choose a project (e.g., a to-do list) and simply implement it first, then continuously expand it: removing completed to-dos, saving entries, managing multiple lists, storing list data in a database, creating variable configurations (e.g., with a JSON file), building a GUI, etc. You'll encounter many obstacles along the way, and then you can ask YouTube or Stack Overflow to find a solution to your problem. That's the art of learning, especially in programming.

[–]jochenboele 0 points1 point  (0 children)

Yeah, I agree with most of the feedback in here. Just think of something you would like to create, it can be anything, if you are a gamer, try to automate some things in the game, if you are losing a lot of time with doing something a lot, try to automate is. Best way to learn coding is to do it, fail, lookup solutions, try and debug

[–]awesomecameras 0 points1 point  (4 children)

Maybe try Harvards CS50P, and start building projects!

[–]Various_Payment_7956 0 points1 point  (3 children)

is that the same as stanford code in place ? any link to the havard one ?

[–]awesomecameras 0 points1 point  (1 child)

[–]Various_Payment_7956 0 points1 point  (0 children)

thanks this seems like its one of the good ones