Ask HN: Switching from Python to Java Dev.

2 points by amrx431 ↗ HN
Background: For 3 and half years out of school I joined a startup that uses Python. Now I am kind of bored and also the future of the startup doesn't seem so bright. I researched the market and most Python openings are either for Django or AI|ML. Now at the startup I didn't work on either of these. Considering purely job opportunities and pay should I learn Java along with Spring Boot? Investing in AI, ML seems to be exhaustive and I dont know the prejudice that may exist while hiring AI, ML software developer(preference for masters and PhD candidates). What would you guys recommend solely on the basis of opportunities and renumeration. Side note: I started React couple of months back. I am open to suggestions other than Java.

3 comments

[ 2.6 ms ] story [ 20.0 ms ] thread
Somebody please correct me if I'm wrong. but, Java has been the main language for years now so it might seem a safe bet. Everybody coming out of IT education is forced to learn Java for that reason. Which means there are 13 in a dozen people for the job. Java is also dying a bit. To my opinion it will go into the direction of cobol. It will loose popularity with a surplus of personnel. In about 15 years you will become valuable again for the same reason cobol did. Someone needs to support the stacks of banks etc. that said, python is 'just' a scripting language. So it is usually deemed 'less cool' or less 'hardcore' than Java. I disagree with this sentiment, but can you blame people who went into IT because of the money and now can only code on 1 language (to my opinion you need to learn as much as possible and don't stick to one trick)? I'd say;look for what you really like to do and find a job in that and keep learning. Because that's what successful IT people do. Keep learning.
Job opportunities are heavily dependent on where you live (unless you're willing to move), so I would research that. You might find that e.g. C# will yield more opportunities/pay in your area.

Personally I would take Python/Django over Java/Spring any day. Python is a much more succinct language and I find the overall developer experience to be much more pleasant in the Python world.

Picking up enough Django skills shouldn't take long. Java/Spring will be much more effort and you might hate it.