I’m a backend developper, working on medium to big Spring Boot apps. Two years ago, we introduced Kotlin in our code base with really good results on code quality.<p>With Java 17, the gap is narrowing between Kotlin and Java. Kotlin has still unique features that I love (extension methods for instance), but the big one is nullability. You can use @Nullable/@NotNull annotations in Java but I largely prefer having nullability backed in types with Kotlin. Some people say nullability is not a problem: with 30 developers of various quality, I can ensure it is a problem. I don’t see Java addressing nullability in a better way in the near future, so I’m going to stick with Kotlin.