Ask HN: Is Python Used in Production?

3 points by akhdanfadh ↗ HN
I understand that Python is popular in educational settings due to its approachable syntax, and it is obviously ubiquitous in ML/AI development thanks to libraries like PyTorch and the broader scientific computing ecosystem.

But what about beyond these domains? I'm interested in hearing from practitioners about any production usage across the industry.

8 comments

[ 2.5 ms ] story [ 26.7 ms ] thread
(Close to ML/AI) Python is heavily used in DE (Data engineering) -- Many companies are moving away from Scala/Java because the Python binding is efficient enough and they can find a lot more talents who can code in Python than in JVM languages.

Beyond that, I believe Python is also used to program backends but it is not as popular as other BE languages.

Interesting, I hadn't fully considered how hiring constraints influence technology choices.
Yes. I've been at companies serving millions of requests per hour with Python backends.

There are some gotchas to be wary of, and obviously running costs are higher than some other languages/runtimes, but the lower cost of project iteration and development still makes it worthwhile.

OTOH, because of the reputation of being easy to pick up, and thus tons of people murking around with it, you'll get all sorts of crappy code and developers with many years with Python, but no real experience writing production quality code.

I'm interested in what qualifies as good Python production quality code. Do companies typically address this through hiring practices, or specific training on production patterns? Or is it more about how the open-source Python packages are developed?
While there are some Python-specific idioms (like how you do parallelize and especially how do you iterate in large loops), it's mostly the same as with any other language.

All of those are checked in interviews, but can also be learned on the job if there are sufficiently experienced Python developers.

A clear give-away is if someone says they are doing scripting in Python (that usually means no testing, no CI or CD, no code style checkers, no typing...).