Very valid points. I switched from Java to Kotlin for backend work in the last two years and at this point it's very clear that if you are not using Kotlin for doing anything Spring related, you are missing out on a lot of things. They still support developing in Java but it's just that they are increasingly targeting Kotlin.
From personal experience, Kotlin makes using Spring a lot nicer even without all the Kotlin specific stuff. I had a Spring 4.x project where I introduced Kotlin and it worked great. Kotlin is designed from the ground up to be drop in replacement for Java pretty much anywhere. This is why it made so much sense for Android development as well.
However, with all the Kotlin specific stuff that landed in Spring 5 & Spring Boot 2.x it went from "it's really nice to do this stuff in Kotlin" to "if you are not using Kotlin, you are probably doing it wrong". Reactive without co-routines is painful. Doing entities without proper data classes is ugly. And having some immutability and null checks by default is also super helpful.
Also, check out what they are doing with Kofu: github.com/spring-projects-experim.... If you are looking to run Spring applications using Graal, this will be the way to go in the future.
The Android thing with recruiters is annoying. Reminds me of when people associated Java with mobile phone games or applets (way back).
One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
Very valid points. I switched from Java to Kotlin for backend work in the last two years and at this point it's very clear that if you are not using Kotlin for doing anything Spring related, you are missing out on a lot of things. They still support developing in Java but it's just that they are increasingly targeting Kotlin.
From personal experience, Kotlin makes using Spring a lot nicer even without all the Kotlin specific stuff. I had a Spring 4.x project where I introduced Kotlin and it worked great. Kotlin is designed from the ground up to be drop in replacement for Java pretty much anywhere. This is why it made so much sense for Android development as well.
However, with all the Kotlin specific stuff that landed in Spring 5 & Spring Boot 2.x it went from "it's really nice to do this stuff in Kotlin" to "if you are not using Kotlin, you are probably doing it wrong". Reactive without co-routines is painful. Doing entities without proper data classes is ugly. And having some immutability and null checks by default is also super helpful.
Also, check out what they are doing with Kofu: github.com/spring-projects-experim.... If you are looking to run Spring applications using Graal, this will be the way to go in the future.
The Android thing with recruiters is annoying. Reminds me of when people associated Java with mobile phone games or applets (way back).
Feel free to answer every Android offer with this URL, this is exactly why I wrote this article :)