r/Backend • u/Nikrenc • 1d ago
Python for backend
Is python a good choice if I want to get a job as backend dev?
I already learn how to create some api projects with Django and FastAPI, Celery, Redis and SQL, but I always keep hearing that python is only good for DS/ML stuff and it would be better to pick other languages or stacks for backend.
So I would appreciate any answer how the situation really looks in the real world.
13
u/SubstantialSail9302 1d ago
Yes, Python is definitely a valid choice for backend development. Django and FastAPI are both solid, and knowing SQL, Redis, Celery, APIs, authentication, and deployment is more important than just the language itself. Java/Spring Boot may give you access to more backend roles in some markets, but I wouldn’t switch just because people say Python is only for AI/ML. If you’re already comfortable with your Python stack, build a couple of production-style projects and apply with that.
20
5
u/American_Streamer 1d ago
Java Spring Boot is still where the well-paying enterprise backend jobs are (if you live in the right region).
[r/SpringBoot](r/SpringBoot)
2
u/dayeye2006 1d ago
It gets work done wrt constraints. Why not?
And you need to understand what are the constraints for your work - budget , resources, deadline, ...
Without talking about them, no where to make conclusions
2
u/SmokyMetal060 1d ago
Python's fine for backend. If you're focused on getting hired as a backend dev, you should look at the job listings in your local market and see what the preferred stacks are. If lots of your local employers are running Node, for example, you should learn Node.
2
u/talhashah20 1d ago
many languages.. many frameworks.. everyone has its own pros and cons. The main things is to grip the backend principles first like network protocols, routings, middlewares, serialization and deserialization, queue and scheduling etc.. the concepts thats always stays same in all types of backends no matter which language is.
just grip the backend principles and basic system designs in your langauge then you can go to learn any of the other lang
backend is all about your skills, if your skills are not good you cant even make optimized servers in compiled languages like rust and go
2
u/Forsaken-Internal-33 1d ago
For sure. I’d add Docker to the stack you mentioned, and you’ll end up with a strong, reliable product. From my experience, it’s great
2
u/StartDependent1652 1d ago edited 1d ago
No. It’s nice for learning, but it’s too slow for high traffic applications. It might be okay for now, but eventually it might bite you. Faster languages are a bit harder to learn, think about C#, Java, Go and Rust. Something in between (both speed and complexity) is JavaScript.
1
u/ShoulderIllustrious 1d ago
How much traffic you plan on serving? Django is good to get started. I mean at one point Instagram had that as a part of their stack (maybe they still do?). Just make sure you have a webserver in front of the process to handle the less important stuff. We use it, some of our stuff doesn't require high throughput or very low latency.
1
u/Inevitable_Captain45 1d ago
Yes offcourse
Django and still being preferred for backend development
1
u/BrianJabir 1d ago
I used to say, “Python sucks for backend development,” but I changed my mind after finding hundreds of Django job postings.
1
1
u/Captain_Forge 1d ago
Not the most popular choice and not my preferred choice but if you like the language, jobs exist.
1
u/console_log_goblin54 1d ago
Python is awesome and its my first option. But the real Q is what are you building, the stack is not imprtant especialy now when you have ai. dont learn a language. just build things and the learning is on the way
1
1
u/Rich-Newspaper-2347 8h ago
From Job prospective, it is better to learn Java or Go, maybe both, most of enterprise use those.
And I don’t think Python is widely used for backend mainly because it is interpreted language it might consume more CPU and memory per request.
It might be used for internal services or jobs, rarely for user facing services.
1
u/PalpitationBorn 34m ago
Python is definitely good for backend and will give you lots of opportunities but if your main goal is getting a job as a backend dev, I’d recommend also learning Spring Boot. Regardless of the language you specialise in, learn the backend principles, it will make a way bigger difference than language choice.
-8
u/AnimatorExciting7941 1d ago
Python is kinda new to the backend world. It is used but not as much as java springboot
2
1
u/MrDilbert 1d ago
LOL, Django is probably older than you.
1
u/AnimatorExciting7941 1d ago
Maybe yeah, sorry for that. But still, a good choice for backend is still Java Springboot, cuz of its market share
2
u/MrDilbert 1d ago edited 1d ago
I'm not disputing that, Java and C# are required in most enterprise backend jobs out there.
10
u/djslakor 1d ago
If you're building your own products or freelancing and feel most comfortable with python, absolutely.
If you're looking for the most jobs available, Java or C#.
Golang if you're also talented with distributed systems and devops.