I will start out (new grad) as a full stack developer in a banking firm.
I have been given the choice to either become a python dev(flask framework) or java dev(spring framework).
Furthermore, I am proficient in Python and flask (my previous internship was with flask) while almost a newbie in java, but I feel being a java developer would help me in the long run.
Would it be beneficial to start my career as a python developer or java developer?
Any advice is really appreciated as my family doesn't have tech background.
Edit: I opted for java but as it is with any big org, they put me in a python team 😂.
Got to work on a data science project and use flask on day to day basis. Since the senior devs in my team are originally java devs, the code base is almost like java with the typing, oop based etc.
I learn new stuff every quarter and I like python. So happy with how fate turned out
Videos
hello guys, i am fresher and really confused what should i learn Python or Java for backend , what will be more beneficial , what will be my career path looking like when i choose either of them , please guide me as your help is needed very much , really confused as placement season is going to come soon in my college. please guide
I’m a 3rd-year engineering student. I have already completed data science basics and started machine learning, but now I want to add backend development as a serious, job-oriented skill.
I already know Java and am currently doing DSA in Java, so continuing with Java for backend would not be starting from scratch. Learning Python backend would mean picking up a new stack.
I am not learning backend just for exploration or fun. My clear goal is to land a backend-related job, so employability, industry demand, and long-term career growth matter to me.
is there a good reason to have java as your first language over languages like python or js?
Hi everyone,
I'm currently in my final year and looking to specialize in a tech stack. I've completed DSA in Java but haven't done any development projects yet.
While many of my peers are learning Python, I'm already familiar with Java and am considering learning Spring/Spring Boot for backend development.
However, I've come across several Reddit discussions suggesting that there are limited opportunities for junior Java developers. Is that true in your experience?
Should I stick with Java and Spring Boot, or would it be better to switch to Python for better job prospects?
Any guidance or personal experiences would be greatly appreciated!
Thank you 🙏
Hi! I'm a junior DevOps engineer and I would like to start developing backend too. I already know intermediate python and worked a little bit with django and I would like to dive deep into python and learn it well.
I asked my supervisor for his advice and he thinks that it's better for me to learn Java first. From his point of view Java is more technical and I can become a better developer by learning the fundamentals with it (like polymorphism, interfaces, data types). He considers python as an uneffective shortcut to learn bad software development practices.
At first he convinced me with his argument but then I documented myself better and I saw that even python has all of those concepts, so I feel like if I'm not lazy and l study python well I can achieve the same expertise I would get with Java.
Since I want python to be my main language I'm essentially very skeptical in using my energies in learning java from zero while I could dive deep in python and get solid with it. It's not like I only want to know python overall, but reading a book of 1600 pages like "learning python" takes time and effort and I feel like I want to make that effort on python, not java.
What do you think about it? I could really use your advice, thanks a lot in advance.
Hey everyone,
I've been diving into the world of backend development and I'm curious about the prevalence of Java and ASP.NET in enterprise applications despite the rise and capabilities of Python.
Java, in particular, seems to be on a decline in recent years, yet it's still in demand in enterprise world.
I'm torn between the decision of delving into Java Spring, ASP.NET, or exploring Python with Django for backend development. All these frameworks seem robust and capable of handling large-scale applications, but the differences between them are somewhat blurry to me.
For instance, Java, ASP.NET, and GO have been the stalwarts in the enterprise world, but Python's versatility and ease of use have gained considerable traction. Is it worth investing time in Java Spring despite their decline? Or should I pivot towards Python and explore its potential in the backend, especially with frameworks like Django and a plenty of packages available?
I'd love to hear your experiences and insights on:
Why do you think Java and ASP.NET are still prevalent in enterprise applications despite their decline?
Is Java Spring still a viable choice for backend development compared to Python and Django or GO?
What are the key differences between these frameworks in terms of performance, scalability, and ease of development?
I believe all these frameworks have their strengths and weaknesses, and the decision might vary based on the project requirements and industry demands.
Your perspectives, experiences, and suggestions would be immensely helpful in guiding my decision on which path to pursue in backend development.
Looking forward to a lively discussion and learning from your valuable experiences!
I’m a first year uni cs student trying to learn more about what to do next. We’ve only learned these two languages so far and honestly the progress I’ve made isn’t what I’d call noticeable. We stuck nearly entirely to the console, programs which aren’t something anyone really enjoys making or uses.
I know about little about backend and frontend. From my understanding, Java and Python are mainly used for the former.
My question is this: what can Python and Java be used for other than this? I’m sure backend knowledge will be very useful later, but is there anything fun that can be made with them now, or should I start broadening my languages?
I read somewhere that a language that doesn’t change your viewpoint on programming isn’t worth learning. I’ve also heard that it is more useful to be really good at one language than to be good at many. These pieces of advice would indicate I should stay with improving these languages slowly, but it seems this would clash with the desire to make something fun and/or meaningful.
Does anyone have any opinions / answers to this? I’d like to hear what you have to say, be it from professionals or other students.
Hi, I learned basics of Java and Python and got comfortable somewhat.
Now I would like to choose one language and dig in deeper and work on projects with (and hopefully start my web dev career with it)
Any recommendations and reasons?
Thanks!
I would like to know why most of the e-commerce platforms prefer Java for their backend. I like developing in python, but I am interested in developing public facing lifestyle applications such as e-commerce apps. Should I switch to Java or should I stick to python because these applications can be developed in python as well/ there are applications like these written in python.
What does Java do better than Python?
I might understand a stupid question, but bear with me. I always thought about Python as this sluggish single-threaded language that barely has any uses, and backend is more of Java's thing. However, Node is killing JavaScript and it promotes this language into backend. And it's actually quite popular and there is demand for backend JS developers.
JavaScript is also single-threaded, but one thing that makes me think how JS can conceivably be used on backend is its event loop model. If written carefully and asynchronously, JavaScript might retrieve different data and send it over, which would make it a great option if backend is all about I/O. This way, a single thread can serve quite a lot of people requesting HTML/CSS/JS/images/etc. and handing it back as soon as it's ready.
On the other hand, Python has asynchronous programming too and it was introduced with the asyncio package that allows developers to write a similar asynchronous code and leverage an event loop. Furthermore, it was specifically built for input/output operations and Python in general as a language has a large number of libraries for all sorts of task, not just front-end. On top of that, thanks to the multiprocessing module, it's also possible to generate a a thread or process pool and pass it some large work to do and they will be coordinated and magically work, unlike Java or C++ where concurrency must be managed.
With these points said, does it mean that Python is objectively a better language to use on backend than JavaScript? I think it should because it scales better for extending backend functionality, it is more productive (try to troubleshoot weak typing errors) to use (thanks to the large number of libraries some of which are written in C/C++ for performance and large standard library). Is the multiprocessing.Pool class also efficient enough to use in production to use it as another concurrency trick in your sleeve?
It's 2025, and I'm at a decision point in my programming journey. I want to dive deep into one language and can't decide between Python and Java.
Here's my context: i am a developer with 10 year experience in java and 5 years in python
-
Python: It's dominating fields like AI/ML, data science, web development, and automation. With its growing libraries and frameworks, it feels like a must-know for cutting-edge tech.
-
Java: Despite being older, it's still a powerhouse for enterprise systems, Android development (with Kotlin in the mix), and large-scale backend solutions. Its stability and performance are undeniable.
I'm currently a CS student, and most of our program focuses on Java based technologies. That said, when I look at resources online like Udemy or even YouTube tutorials, the newer courses seem to lean heavily towards python and it's related frameworks. On the other hand, a lot of the java resources seem 3, 5 or even 10 years old.
As stated in title, I'm wondering if the outlook for these other technologies is just better than Java, and if I should be focusing my spare time on learning them, or mastering the Java technologies I've already been introduced to.
Any insight or recommendations would be greatly appreciated!
Hi everyone, so as long as I know, Python is an easier language to start learning programming, however, I might have a greater oportunity of getting a kind of internship or even (long term goal, crossing fingers) a job at a company that works with Java because of connections.
What is your experience?
Hi Everyone,
I have one doubt and so I need one quick suggestion from you guys. I have 4+ years of experience with java backend and now Im planning to shift to Machine learning.So I need your suggestion should I continue with Java or should I learn python ?
Thanks in adavnce and really looking forward to your answer.
I’m going to use the time over Christmas to get deeper into a new language and I’m trying to figure what’s better for jobs next year? I’m from a php/JavaScript background and looking to move away from that. I have some experience with both and I’m leaning in on Python as I enjoy that more.
Hey OP personally I'd go python. Then maybe once you get the hang of that take up java.
You can then sneak python in your day to day to write little scripts etc whereas you wouldn't really do that with java.
Python is a great skill to have!
Senior python dev here
Id go Java first because after that learning every other language is much easier. I picked up Python in 2 weeks after learning Java
I have the impression that only a small fraction of Python jobs are for general programming and backend (my area)... Data science (not my area) seems to be the majority of Python positions. Am I correct in my analysis? Java+Kotlin, on the other hand, rules the backend.
What I love about Python:
-
Programmers culture of simplicity, simple solutions are always preferred (contrast that to Java, below)
-
Fast development and iteration
-
Easy debugging
-
No need to deal with Maven or Gradle
What I hate about Python:
-
The language is huge, a lot larger than Java, takes a lot more time and effort to master it. It's easy to get started programming in it, but I'm talking about mastering it, not intermediate-level knowledge of Python. And it keeps growing. It's going the way of C++.
-
The GIL and lack of multithreading. There are several workarounds but they are still workarounds.
-
Deployment (pip, venv, etc)
What I love about Java:
-
The JVM
-
The performance
-
Easy deployments with JARs
-
Language small enough to master, unlike Python which is huge (although it seems that Kotlin is also huge)
What I hate about Java:
-
Cold start time
-
Maven (which is its own beast)
-
Gradle (which is its own beast)
-
XML obsession
-
forced OOP where it doesn't fit well
-
Programmers culture of complexity, love for "design patterns", overengineering, "enterprise" stuff, getters and setters (public fields frowned upon), etc
(I know modern Java has gotten better and less enterprise-y but some points above still stand)
I have a feeling I'd be happier writing backends in Python instead of Java (or Kotlin), but the availability of jobs is a huge factor for me.
Background: software developer with >10 year experience, haven't touched Java since 2012 (so I'd need a big refresh and relearn it), have worked on simple Python scripts for automation (so I'd need to dive deeper and learn it more) and most of my work has been with Golang. Plus if I decide to go with Java I feel compelled to also learn Kotlin since it seems the future in the JVM world.
Hi everyone, I'm trying to decide between java and python based on future job demand and long term career growth. I also want to start learning databases and would like advice on which one to focus on such as PostgreSQL, MySQL, or a NoSQL option like MongoDB. My goal is to build strong job relevant fundamentals.