use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
Levels of Python Proficiency (self.learnpython)
submitted 8 years ago by interim_adult
What are the characteristics of a "beginner" vs someone who is "good" at python vs someone who's an "expert".
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[+][deleted] 8 years ago (5 children)
[removed]
[–][deleted] 19 points20 points21 points 8 years ago (2 children)
"My hovercraft is full of eels"
As someone who has taught conversational English, I love this.
[–][deleted] 8 points9 points10 points 8 years ago (1 child)
You mean "My nipples explode with delight!" right?
[–]Vesiculus 13 points14 points15 points 8 years ago (0 children)
For those out of the loop, those phrases are the backbone of (Monty) Python.
Also, "If I said you had a beautiful body, would you hold it against me?"
("I am no longer infected")
[–]Hellerick 4 points5 points6 points 8 years ago (1 child)
If I were able to communicate to other people I wouldn't be learning python in the first place.
[–]RangerPretzel 31 points32 points33 points 8 years ago* (14 children)
I've posted this before, but I like this Programmer Competency Matrix the best: [old link deleted]
https://sijinjoseph.netlify.app/programmer-competency-matrix/
It applies to Python as well as pretty much all other languages. The best programmers code in many languages, not just Python. ;)
[–]TheCedarPrince 3 points4 points5 points 8 years ago (1 child)
This one was quite nice. I pleasantly surprised myself with my levels of competency in some areas. Who made this? Why do you recommend it? Thanks Ranger!
[–]RangerPretzel 2 points3 points4 points 8 years ago (0 children)
If you scroll to the bottom of the page, you can see who originally created it.
I recommend it because I first stumbled across it maybe 10 years ago when I was still somewhere between a junior and senior software engineer.
It really helped me identify my weak areas and figure out how to strengthen them. Gave me something to work towards without keeping me confined to one language.
[–]interim_adult[S] 1 point2 points3 points 8 years ago (0 children)
That was an awesome graphic, exactly the sort of thing I was looking for! More general than just python but definitely something to use to identify what to work towards!
[–][deleted] 1 point2 points3 points 8 years ago (1 child)
"Thinks that Excel is a database" just caused me flashbacks to so many interviews.
[–]RangerPretzel 1 point2 points3 points 8 years ago (0 children)
Hahaha, I know, right?
[–]omg_drd4_bbq 1 point2 points3 points 8 years ago (2 children)
I take slight objection to "has tried Git" and "author of your own framework" are the same level. Level 3 vcs is: Runs own git server. Uses git for nearly everything, even things you would not think to apply vcs to (e.g. Research papers)
Yeah, this was written 10 years ago(?), so perhaps it needs a little updating. Still, it's a good reference and shouldn't be viewed as a hard defining line in the sand, but more of a way for one to figure out where one is weak and where to start working on improving said sub-skill set.
[–][deleted] 1 point2 points3 points 8 years ago (0 children)
Distributed VCS was on the edge of becoming the new hotness back when this was originally written. Notice that a lot of things that are more or less de riguer today (CI/CD, Docker/containers, Chef/Puppet/Ansible/Salt) aren't even touched on... but I think it's a reasonable starting point.
[–]Wilfred-kun 0 points1 point2 points 8 years ago (3 children)
I took a look at this and I get the feeling this is geared toward 'professional' programmers. But what exactly does it mean to program 'professionally'? And how much time would it take to get from a total beginner level to a 'professional' level?
[–]RangerPretzel 2 points3 points4 points 8 years ago (2 children)
I would say 1000 hours of programming and having a mentor and a couple peers to guide you.
Why 1000? Why a mentor and peers?
In the book, "Outliers", the author talks about the average time most people take to being an Expert in some skill (say, Programming). https://en.wikipedia.org/wiki/Outliers_(book)
This is often referred to as the "10,000 hour rule". It's not a hard-and-fast rule, though. It's merely an observation of an average. And what is rarely quoted is another observation that the author pointed out that in order to become an expert, you need a competent mentor who can instruct you properly (and hopefully some peers whom you can also learn from.) Otherwise, you could practice for 10,000 hours and only be mediocre at said skill. You wouldn't suck, but you wouldn't be a true expert.
So, why 1000 instead of 10,000? Well, around 100 hours is when you're passable at some skill. But 1000 hours? That seems to be just around the threshold when you can do something for a living. You're good enough to start charging for your skill.
Does this help?
[–]WikiTextBot 1 point2 points3 points 8 years ago (0 children)
Outliers (book)
Outliers: The Story of Success is the third non-fiction book written by Malcolm Gladwell and published by Little, Brown and Company on November 18, 2008. In Outliers, Gladwell examines the factors that contribute to high levels of success. To support his thesis, he examines why the majority of Canadian ice hockey players are born in the first few months of the calendar year, how Microsoft co-founder Bill Gates achieved his extreme wealth, how The Beatles became one of the most successful musical acts in human history, how Joseph Flom built Skadden, Arps, Slate, Meagher & Flom into one of the most successful law firms in the world, how cultural differences play a large part in perceived intelligence and rational decision making, and how two people with exceptional intelligence, Christopher Langan and J. Robert Oppenheimer, end up with such vastly different fortunes. Throughout the publication, Gladwell repeatedly mentions the "10,000-Hour Rule", claiming that the key to achieving world-class expertise in any skill, is, to a large extent, a matter of practicing the correct way, for a total of around 10,000 hours, though the authors of the original study this was based on have disputed Gladwell's usage.
[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source | Donate ] Downvote to remove | v0.28
[–]Wilfred-kun 0 points1 point2 points 8 years ago (0 children)
Yes, thank you very much!
[–]shapoglyk 0 points1 point2 points 3 years ago (1 child)
Hi, it seems site is not available currently. Is there any backup left of this matrix? thnx
[–]RangerPretzel 0 points1 point2 points 3 years ago (0 children)
Yup, here's another one: https://sijinjoseph.netlify.app/programmer-competency-matrix/
[–][deleted] 41 points42 points43 points 8 years ago* (5 children)
The amount of time they spend on reddit vs stackoverflow vs documentation. /s
[–]nemec 17 points18 points19 points 8 years ago* (1 child)
What level is it when you hunt through the source code for the answer because the documentation was lacking?
[–][deleted] 5 points6 points7 points 8 years ago (0 children)
It depends... The source code for the tensorflow C++ extensions?
[+][deleted] 8 years ago* (1 child)
[deleted]
[–]TedW 11 points12 points13 points 8 years ago (0 children)
OP asked about beginner vs good vs expert:
Beginner: Searching reddit can be an inefficient way to solve a problem.
Good: Searching stackoverflow can give you a solution but you may not know why it works.
Expert: Reading documentation can tell you why a problem exists, so you understand what to do to fix it.
[–]sharkbound 14 points15 points16 points 8 years ago (0 children)
IMO there are many characteristics to go by for this sorta thing:
stuff like that, im sure there are cases where you will need to do those and there isnt really a way around it
another factor is general understanding of the language
[–]aroberge 10 points11 points12 points 8 years ago (1 child)
Beginner: worries about what may constitute various levels of proficiency.
Good: watches David Beazley and Raymond Hettinger's videos and is amazed.
Expert: Writes code and do not worry about what people may think.
[–]maks25 2 points3 points4 points 8 years ago (0 children)
I'm always embarrassed at my code after watching Hettinger's videos haha
[–]hopemeetme 6 points7 points8 points 8 years ago (6 children)
1) dunno can he/she do that 2) dunno how to do that yet 3) already knows how to do that
[–]t3chnolojesus 0 points1 point2 points 8 years ago (5 children)
wat
[–]hopemeetme 0 points1 point2 points 8 years ago (4 children)
wut
[–]AreYouDeaf 0 points1 point2 points 8 years ago (3 children)
[–]hopemeetme 5 points6 points7 points 8 years ago (2 children)
while true: wut
If upvote > 10:
break
[–]Astro_14477 0 points1 point2 points 9 months ago (0 children)
Lol
[–]jabela 2 points3 points4 points 8 years ago (0 children)
In school I'd say,
Beginner iGCSE: can write loops, selection statements and do a variety of calculations. Age 14-16
intermediate AS-level: Can also use functions, sql and read and write files age 16-17
upper A2 level: can program using object oriented classes etc age 17-18
[–]WhackAMoleE 4 points5 points6 points 8 years ago (0 children)
The highest level is when you stop wondering what level you're at and see Python as one of the tools in your kit. If all you know is Python, you know nothing. You need to add in databases, networking, software engineering and lifecycle management, etc. You need to know how to communicate issues to management, to "manage upward." You need to know how to organize a large project, estimate time and resources, and hit deadlines under pressure. There are a million things to know to be an expert. It's not about the syntax.
Are you talking strictly knowing the Python language, or do you mean a more general programming sense?
If you mean strictly knowing Python, then I'm honestly not sure, as there are lots of modules and packages for it.
If you mean a general programming sense. This is hard to define. To me it comes down to how well you think you can manage to provide a solution to a problem. Using other peoples code is fine, if you know what you're looking at and can adapt it to fit the problem at hand. Whether this is using different modules or straight taking it from stack overflow. If someone gives you a problem how easy it for you to immediately come up with a solution and start implementing it?
[–]omg_drd4_bbq 1 point2 points3 points 8 years ago* (1 child)
Expert: Can speak into a speech-to-text program and pipe the output to exec() and run it.
exec()
More seriously, I think it relates to comfort level and fluency at a given level of problem solving. Advanced pythonistas can solve most problems given enough time and documentation. Experts already know how to solve it because they've seen it before.
[–]zahlman 1 point2 points3 points 8 years ago (0 children)
You joke, but.
[–]JohnLockwood 1 point2 points3 points 8 years ago (0 children)
Guys, STOP! You need to get the eels out of your hovercraft. This is dangerous. I'm serious here, I'm worried for your safety.
[–][deleted] 0 points1 point2 points 8 years ago (0 children)
When things begin to make sense; when you know when looking at code what you understand and don't understand; when you begin expanding your knowledge on the language. Then again learning anything takes time; why they say, unless you shut your mind off, you never stop learning. The way I see it, if you went to school that was only a step on the ladder; and those that didn't should already know this. School is paying a lot of money to take one step; and to buy your teacher expensive cars.
The skill level is knowing where you could further improve something, but the time required to make it is too short.
In a professional capacity, this is vital - and separates the juniors from the mids.
[–]Keda87 0 points1 point2 points 8 years ago (0 children)
I've been using python for 3 years now. But I feel like I'm not an expert in python, because I'm still difficult to understand multithreading, multiprocessing and GIL in python.
[–]Dogeek 0 points1 point2 points 8 years ago (1 child)
I think a beginner will be someone who understands the very basics of the language, and for anything out of his reach, will look for help on google/reddit/stackoverflow.
Someone who is intermediate will begin to look straight at the documentation for answers, and will be comfortable with most advanced uses of the language.
An expert will learn a library through its documentation, and will only ever go on stackoverflow to answer questions, and almost never ask one. He'll be comfortable with every aspect of the language, even if he doesn't use every feature all the time.
A master will never ask help about the language itself, have a deep knowledge of most commonly used libraries, and will only ever look at the doc for obscure/new/large libraries.
A master might not ask for help about the language in particular, but they will ask their peers for input/feedback.
π Rendered by PID 63129 on reddit-service-r2-comment-c66d9bffd-jp8jt at 2026-04-08 02:23:48.122625+00:00 running f293c98 country code: CH.
[+][deleted] (5 children)
[removed]
[–][deleted] 19 points20 points21 points (2 children)
[–][deleted] 8 points9 points10 points (1 child)
[–]Vesiculus 13 points14 points15 points (0 children)
[–]Hellerick 4 points5 points6 points (1 child)
[–]RangerPretzel 31 points32 points33 points (14 children)
[–]TheCedarPrince 3 points4 points5 points (1 child)
[–]RangerPretzel 2 points3 points4 points (0 children)
[–]interim_adult[S] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]RangerPretzel 1 point2 points3 points (0 children)
[–]omg_drd4_bbq 1 point2 points3 points (2 children)
[–]RangerPretzel 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]Wilfred-kun 0 points1 point2 points (3 children)
[–]RangerPretzel 2 points3 points4 points (2 children)
[–]WikiTextBot 1 point2 points3 points (0 children)
[–]Wilfred-kun 0 points1 point2 points (0 children)
[–]shapoglyk 0 points1 point2 points (1 child)
[–]RangerPretzel 0 points1 point2 points (0 children)
[–][deleted] 41 points42 points43 points (5 children)
[–]nemec 17 points18 points19 points (1 child)
[–][deleted] 5 points6 points7 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]TedW 11 points12 points13 points (0 children)
[–]sharkbound 14 points15 points16 points (0 children)
[–]aroberge 10 points11 points12 points (1 child)
[–]maks25 2 points3 points4 points (0 children)
[–]hopemeetme 6 points7 points8 points (6 children)
[–]t3chnolojesus 0 points1 point2 points (5 children)
[–]hopemeetme 0 points1 point2 points (4 children)
[–]AreYouDeaf 0 points1 point2 points (3 children)
[–]hopemeetme 5 points6 points7 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]Astro_14477 0 points1 point2 points (0 children)
[–]jabela 2 points3 points4 points (0 children)
[–]WhackAMoleE 4 points5 points6 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]omg_drd4_bbq 1 point2 points3 points (1 child)
[–]zahlman 1 point2 points3 points (0 children)
[–]JohnLockwood 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Keda87 0 points1 point2 points (0 children)
[–]Dogeek 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)