No statistics (I checked the 2021 Python developer survey results, and they don’t seem to include any questions along these lines), just a core developer’s perspective (which has its own set of biases):
the number of folks we interact with in the community aren’t even close to what would be required to hit the astronomical user numbers reported for the Python ecosystem as a whole (the intepreter downloads from python.org are also nowhere near high enough to account for the number of distinct clients that pypi.org sees). So while there are absolutely a lot of folks that only have access to community resources and are having to figure things out on their own, the bulk of the user base has to be operating in a different way (but the very nature of those differences mean they’ll never show up as part of community interactions)
at a core development and PyPA level, quite a few of the folks actively involved are employed as Python infrastructure experts for large organisations, often enabling thousands of Python devs with resources that mean those devs aren’t building environments from scratch for themselves from community guidelines, they’re using the ones provided by their employers (I think it’s interesting that one of the best examples of conda-is-not-just-for-data-science comes from that kind of context, as PayPal Engineering published an article about how they went from trying to do it all themselves to realising that conda solved most of the problems they needed to solve and just started deploying that instead of continuing to do their own thing)
as the founder of the Education Seminar at PyCon Australia, I spent quite a bit of time talking to folks involved in various education initiatives (from Australia and the UK’s digital curriculum, through Software Carpentry, and more). Those discussions often revolved around getting the educators the information they needed to build tailored courses that specifically met the needs of their audiences, rather than expecting the Python community resources to be sufficient on their own (Software Carpentry is particular interesting on that front, as they found that once you get beyond folks that are interested in programming for its own sake, the specific examples used in introductory material have to be domain-relevant: a librarian or nuclear physicist is going to tune out of a course tailored for biologists, and vice-versa. SC is also fascinating in other ways, in that part of what they do is help institutions better support their members when the available time and research budgets don’t stretch to full-fledged formal training courses in software development, but software skills are becoming increasingly essential to perform effective science in many fields)
while working for a commercial redistributor myself, a recurring industry-wide theme revolved around getting to a point of organisations being able to provide pre-built environments to staff via their web browsers rather than folks having to build and maintain their own environments. Jupyter Notebooks are absolute gold for that purpose (hence services like Google Colab and Azure Notebooks being a big deal), but things like GitHub Workspaces are pushing that potential even for more traditional “text editor & command line” and IDE-based development.
Thus my assumption is that a lot of the recent growth is arising from either folks getting handed Python environments at work as cloud services, or school-age users getting introduced to things via formal classes and online learning tools.
None of which directly helps the folks that are feeling like they’re getting things done despite their employer and past education experiences rather than because of them, it just highlights that any sense we might have of there being such a thing as the “typical Python developer” or even “the typical Python developer experience” is an illusion - the scope of the different use cases and backgrounds out there is as astonishing as the sheer size of the community in the first place
Please open a new topic about a specific actionable idea, taking into account existing discussions and work, rather than resurrecting a topic that concluded months ago.