If you have significant experience with Java you can quickly pick up C#, Go, Python, PHP, Javascript. With just a little more effort you can learn C++ or Rust. Those languages already have big footprints in back-end work, we’re past calling any of them “the future.”
To really learn a language you have to use it in practice, learn the idioms and the ecosystem. You have to know databases in some depth since those make up a big part of web back-end programming.
Domain expertise and experience with any common language (such as Java) should get you in the door, especially if you move top companies in the same or similar business domain. Right now the job market has tightened up and more programmers than usual chase fewer jobs.
I don't understand that. Java has great professional opportunities, I think you really need to look better.
But if you want to broaden your experience and get even more opportunities, I suggest:
1. Rust, if you are willing to go into low-level and embedded programming (best language for this right now) 2. Scala, if you are willing to tackle highly difficult concurrent programming and complex domains (best language for this right now in the JVM world so you can use your existing knowledge and get started easily) 3. Typescript, if you are willing to do frontend stuff and deal with the framework mess (best language on frontend by far)
Stay away from Go. This is a language for beginners. As an experienced Java dev you might like some of the parts, but the language does not "grow with you". Rust, Scala and Typescript do so.
I think they may improve as well. With GraalVM and fibers Java becomes a far better backend language.
If I had to pick I'd say Go, although I'm holding out on really committing to it myself due to a couple hang-ups I have, particularly with error handling. Rust is a great advancement in language design, and I've done some real work in it, but I've found it costly in terms of development time. Until some of the ecosystem issues Rust has get fixed it will not be a go-to language for work-a-day backend programmers.
Get serious about Python. Python matters.
Full stack: Typescript
Backend: Go, Python, Typescript
Systems: Rust, Cpp
I just want to make as much money as possible: COBOL
That's only possible if you have significant experience and work as a consultant. COBOL itself is simple. The tricky part is understanding the rest of the system, such as the JCL.
It runs on the JVM, but it is a lot more fun than Java.
Personally, I'm a mobile app dev, switched from Java to Kotlin a few years ago.
If you want to escape the JVM club, yep I think Go is a very popular route these days.
What do you mean? Go's being used more than ever.