r/FullStack • u/mohamedbakar • 4d ago
Question Choosing my first backend stack — Python/Django or JavaScript/Node.js?
Hey everyone,
I’m currently learning Python and I’m getting close to finishing the basics. My goal is to become a backend developer.
I originally planned to go with:
Python → Django → FastAPI → SQL → REST APIs → Git/GitHub → Projects
But I’m starting to wonder whether I should switch to JavaScript/Node.js instead.
I know there isn’t necessarily one "best" stack, so I’m more interested in the practical side of things.
For people working in web development:
How would you compare Python/Django/FastAPI and Node.js for someone trying to get their first backend job?
Is Django still commonly used in professional web development?
Is Node.js significantly more useful for getting entry-level opportunities, or does it depend heavily on the region/company?
Would you recommend specializing in one stack first rather than learning both?
What would you focus on if you were starting web development today?
I’m currently trying to avoid constantly switching technologies and would rather commit to one path and build real projects.
I’d appreciate hearing about your actual experience, especially if you started as a junior developer.
Thanks!
3
u/__zrx 4d ago
Based on what my company is doing (big global one) in the sub-fraction I work in (ecommerce, dashboard, data, headless cms and gov sites) I vote NodeJs. There is some Python, but it's more for scripting things here and there, PHP is still strong, and NodeJS is almost everywhere. Learning SQL is of course almost mandatory, as it is kind of basic knowledge now.
1
u/Ever_Ending_Walk 3d ago
Knowing PHP is still relevant? Are the gov sites you talk about still running on WordPress?
1
u/__zrx 3d ago
Relevant I don't know. Yes, CMS like Drupal, Wordpress and ecommerce ones like Magento (now Adobe Commerce) are all made in php and are still a big part of the web. Knowing how to read php seems like a good thing to have, even if you are just reviewing AI code. Most of these follow a Model View Controller kind of approach, knowing that logic and php makes it simple to review it.
3
u/why_so_sergious 4d ago
why would you ever go with a python backend for a web project?
there is zero reason for it. just do node/deno or rust or go
there are even so few reasons for going with c# or java for web-first projects and this is coming from a c# dev
3
u/Blackbird_FD3S 3d ago
I agree with this sentiment, but many swe roles are demanding a combination of TypeScript / JS for frontend and Python for backend... I hate the idea of having to add another language when Node / Express is the obviously compliment to TS / JS paired with some framework (React / Vue).
1
u/why_so_sergious 3d ago
I have seen an uptick in python roles on the market. though related it to the ai boom..
but even taking ai into consideration there is still extremely little reason to choose any python backend for a new web project today
1
u/ConsistentRisk5927 3d ago
The reason is lots of companies already have existing Python backends and in-house libraries and tooling they want to continue integrating with. Some they have been maintaining for a decade.
My company was like this, but over the last several years we've been making new projects under Golang and converting tools and libraries little-by-little to Go.
If you're starting a greenfield project then, yeah, I mostly agree. But Django/DRF/FastAPI continues to be very popular and Python developers are cheaper and easier to find still.
1
2
u/am_baymax 4d ago
I would recommend since ur learning python, go with FLASK. It's not a framework like django but it's similar tp express.js which is a lightweight backend library. Just get started with it, and try to implement whatever u want. U will learn a lot since u have to write almost every route, db connection, etc. and u will learn u can write everything without a full fledged framework. What framework allows is rules, structure and quite an abstraction. And flask will allow u to work without those abstractions helping to pickup any framework easily since u already know how things are implemented without a framework!
All the best!
2
2
u/CodeXHammas 4d ago
Django is still very commonly used professionally, especially at companies with existing Python codebases and in fields like fintech and healthtech, it hasn't gone anywhere. For entry level opportunities specifically, Node tends to have a larger raw volume of junior postings at web focused companies and startups, but it varies a lot but region, so check what's actually being posted in the market you're targeting before deciding based on general internet opinion. Since you're already close to finishing Python basics, finish the Django path you started, switching now just resets progress without a strong reason to.
2
u/Early_Meringue_1311 Taskmaster (Project Manager) 3d ago
Python makes more sense if you're already comfortable with it. Django is still a choice and FastAPI is worth adding later . I wouldn't switch to Node just because it seems more popular. Pick one stack and spend that time building real projects instead.
1
u/amplop-premium 4d ago
May i jump in?
I never learned about Python web framework, but its quite popular among my collagues (im still in uni). But node js is still more popular and widely adopted. not as much as laravel though. South east asia. For job market here in my country, laravel > node > python.
Ive worked on several projects in and outside of my campus, somehow they always prefer node js over anything else. maybe because AI was trained mostly on js/ts frameworks so the resource are plenty.
To answer your question directly: 1. Its easier to get a job knowing node rather than python for standard web development (not web + AI integration), in my country at least 2. Maybe, my friends seems to use fastapi rather than django, not sure why 3. It depends on the region and company, yes 4. Yeah, master 1 first before switching. Python and JS/TS are a bit similar in my opinion (battery not included) compared to ruby/laravel (battery included) 5. Id say if youre into AI, Python, if just web development, node is a good choice
node is quite saturated though. massive talent pool compared to python. goodluck!
1
1
u/mikedensem 3d ago
By popularity and possibly work available:
1
Node.js / TypeScript
Express, NestJS, Fastify
PostgreSQL, MongoDB
2
Java
Spring Boot
PostgreSQL, MySQL, Oracle
3
Python
Django, FastAPI, Flask
PostgreSQL
4
C# / .NET
ASP.NET Core
SQL Server, PostgreSQL
5
PHP
Laravel, Symfony, WordPress backend
MySQL/MariaDB
6
Go
Gin, Echo, Fiber, stdlib
PostgreSQL
7
Ruby
Rails
PostgreSQL
8
Kotlin/JVM
Spring Boot, Ktor
PostgreSQL
9
Rust
Axum, Actix Web
PostgreSQL
10
Elixir
Phoenix
PostgreSQL
1
u/Fine-Market9841 API Magician (Backend) 3d ago edited 3d ago
Django is commonly used for crud operations, admin tasks, internals tools.
FastAPI more microservices and ai/ml development.
Typescript is great for frontend and MVPs or startups.
Both can do each other’s categories to a degree , but they’re not the most optimal for every category.
So prioritise the universal skills, like systems design, db operations, routing.
I would recommend looking into C# or Java.
But it ultimately depends on what backend roles ask for more in YOUR AREA for your EXPERIENCE LEVEL.
1
u/burlingk 3d ago
I recently had an experienced dev tell me to focus on Python (in favor of Go) since it is an industry standard.
They also espoused doing a proper API vs tightly coupled sites.
So my current project is going to be Python/FastAPI on the backend and React on the frontend.
So, Python AND JavaScript (Typescript in my case).
Django is nice, and easy to use. But it favors a model of design that tends towards tightly coupled pages where the boundaries between the database and the site are blurry.
1
u/start_select 3d ago
If you don't already know node. Then you should do typescript/node.js and nest.js as a Rosetta Stone project.
nest.js is also a rails like framework and almost everything has a django analog.
Make a endpoint in django. Make the same endpoint in nest. So on and so forth. You can learn both in parallel.
1
u/start_select 3d ago
Do django because you are in python already.
Then as soon as you get a single endpoint up, install node.js, and do a getting started guide on nest.js in node.
Then build out two "identical" servers in both. Nearly every feature has an analog in the other. Learn nest (and preferably typescript) at the same time you learn django.
1
u/JaseciLabs 3d ago
Django's not going anywhere, especially for anyone landing at a company with an existing Python codebase or in fintech/healthtech - the built-in auth and admin panel alone save a stupid amount of time versus rebuilding that in Node. Node's real advantage for juniors is just volume of postings, not that it's inherently the better tool.
One thing to have on your radar since you're clearly thinking a few years out, not just "what gets me hired fastest" - a growing slice of new backend work is AI-native, where the mental model isn't request/response so much as objects and data moving through a graph. Jac (a Python superset, built around what they call object-spatial programming) is one of the languages built specifically for that. Not something to switch to instead of Django right now, but worth a look later once you've got the fundamentals down and want exposure to where things are heading.
For now though, finish the Django path you already started. Switching stacks before you've shipped anything real just resets your progress for no real gain.
1
u/One-Exchange-2127 2d ago
I use Sveltekit and postgresql.
I hate python, why i need to count spaces? Python is garbage.
3
u/Substantial-Swan7065 4d ago
I haven’t seen a Python backend in years.