That depends on, among other things, whether you are working independently or on a team. I work independently, developing research prototype software in support of my own ideas about air traffic control automation (for both conventional aviation and the new urban air mobility concepts).
I have been using Scala for many years now, and when I was forced on rare ocassion to write Java code I hated it. If I were forced to use Java exclusively, I would just quit coding altogether and try to find something else useful to do (my job does not require that I write any code at all).
As a compulsive minimalist, the choice was easy for me. The lack of semicolons required at the end of each line was enough to convince me. In Scala 3, the lack of braces everywhere would be enough by itself to convince me as well.
When I looked at some some of my colleagues Java code a few years ago, I was seriously annoyed by the level of boilerplate that cluttered their code. I’m thinking specifically about “getters” and “setters”. Scala avoids all that useless crap with the simple idea of the uniform access principle. Unless or until Java adopts that concept, I consider that alone another sufficient reason to choose Scala over Java.
I also find Scala to be more expressive, allowing me to go more directly from concept to code. Without all the excessive baggage, it’s more like the “pseudocode” that is used to define and explain an algorithm. It is like a scripting language with the performance and scalability of a compiled language.
As an earlier responder explained, the immutable collections are also very useful once you learn how to use them. And they make the step from single-threaded to basic parallel processing almost trivial, without having to worry about race conditions.
Scala has a reputation for being complicated, but I think that is misleading. Yes, it may be complicated for doing complicated things, but for the kind of work I do, it is about as simple as it can be and still get the job done.