0

Background: Around next year I will finish university and wanna learn some skills that help me in the industry. For that, I choose to learn Spring Boot, cause I currently like the JVM environment and already have "ok´ish" knowledge in Java and Servelt/Tomcat. In addition, I got some basics in kotlin through app development, so I know that I like both Java and Kotlin.

Question: If I got it right, Kotlin is the first class citizen in Spring Boot now, but the industry is really slow in adapting new technologies.

So if I learn Spring in Kotlin,

  • can I easily switch to Java Spring?
  • do companies care?
  • do I miss out on other, more important skills that I can learn instead?

Thanks in advance for every input :)

Gretings Pascal

1 Answers1

1

So if I learn Spring in Kotlin,

You will learn Spring, using Kotlin. Spring is a JVM framework, the API you will interact with is the same in Java or Kotlin.

can I easily switch to Java Spring?

You can even mix Kotlin and Java in the same project and it will work, however I do not advise doing so. It's also possible to translate from Java -> Kotlin (IntelliJ does this if you paste java code in a .kt file!) or Kotlin -> Java, however the output code is not very nice :)

do companies care?

You should ask this to your superiors, it depends a lot on the company policies. In general, Java has a much bigger market specially for big companies which move slow and are afraid of changes. Kotlin is mostly sought for Android development, on which Spring is not recommended.

Nevertheless, if you already know Java and just are interesting only in learning Spring I suggest you use Java for this.

do I miss out on other, more important skills that I can learn instead?

I'm also a Java and Kotlin programmer for the backend and I can say that the Kotlin opportunities are mostly for Android development, it's odd to find roles for Kotlin backend development.

If you're looking to prepare for your first job I'd say don't worry on learning a new language, Java has a lot of opportunities. I suggest you focus instead on learning the other important aspects of development (databases, cloud services, containers, testing, software engineering, networking, etc.) those will be far more valuable than knowing two very similar programming languages.

Yayotrón
  • 1,759
  • 16
  • 27
  • Your experience may not be representative; lots of people are using Kotlin for back-end apps, for web apps, and other non-Android uses.  (Job postings may not _require_ Kotlin, because it's so easy to learn once you know Java.) – gidds Jul 07 '21 at 15:38
  • I know it's used broadly, we're using it on my current project, but for backend development Java is used in order of magnitudes more, and that's not my opinion, any statistic you can search will tell you that. Kotlin is better in my opinion, but he's looking for something that gives him better chances at a first job. – Yayotrón Jul 07 '21 at 16:29