Major side note worth mentioning:
Kotlin's first widespread adoption was for Android, which is great!
However, I think with that, Kotlin's been mentally pigeonholed by the dev community as: Kotlin = just for Android--which couldn't be farther than the truth.
Kotlin is a FANTASTIC successor to Java for backend and has basically complete interoperability so Kotlin is almost a no-brainer at this point for me developing BE apps. It's so powerful, expressive, SAFE, useful, elegant, easy-to-read, that I really wish it became popular for the BE first. Even if Android abandoned Kotlin as its darling, Kotlin still stands on its own as a complete powerhouse for BE dev. I've never worked w/ a language that had such a high ratio of expressiveness,features,power,readability,safety to complexity. It's kind of an open secret medium-term goal of the Kotlin team to reach feature parity w/ Scala with obviously a much higher level of readability/grokability. They're clearly on track to do that which is is astounding considering that Scala is famously uber-powerful but also infamously crazy-stupid difficult.
It is worth mentioning that being the spiritual successor to Java, it does strongly draw on underlying Java idioms (read: e.g. Generics), which probably gives it a medium-steepness learning curve for non-JVM-experienced folks. But for those w/ experience, it was designed such that a dev can become proficient in a weekend. Which I was super skeptical of, but coming from a JVM-heavy background, I was shocked that it actually lived up to the hype in that I was running with it in a few days.
We have some very complex, data heavy applications running exclusively Kotlin in production and its been GODSEND to our project's velocity and defect rate. YMMV but I think this is a prudent time to make clear KOTLIN ISN'T JUST FOR ANDROID, IT'S A POLISHED, FIRST-CLASS BE LANGUAGE.
Peter, I wish I could heart this comment 10 times over. Not only did you make me realize how tunnel-visioned I was with my view of Kotlin (as the only course I am familiar with that contains Kotlin is for Android App Development) you made me see that it is a spiritual successor to Java. How could I have been so blind! Also, you answered a question I just asked my self while I was working on a script in Python. I asked myself "Why hasn't someone created a Python-style language that has all the qualities that Java or C# has by not being dynamically typed?" and as I read your reply it clicked! Thanks!
I think the optics/PR issues on this one run deep. From the get-go, it was designed (and has always been) as a truly general-purpose language but given its first widespread use was for Android, you have to think about the competing mobile languages at the time: Objective-C = for mobile only, Swift = for mobile only so it was only natural for the masses to assume: Kotlin = for mobile only.
To complicate things, Java is clearly showing its age and the dev community is (rightly so) critical of its verbosity. There's still a sizable minority of people holding onto the dated and no-longer-valid sentiment that the JVM is slow because they tried it in 2000 and it was slower than C++ and never checked back in 20 years later now that it's fast, more usable, has gotten onboard with functional programming, made web programming and threaded programming vastly easier, yada yada. And since Kotlin is JVM, they might even think it's slow. Even those that knew Kotlin was general purpose may have had mixed-to-poor past experiences w/ Scala, Groovy, Clojure and had given up on alternative JVM languages entirely--relegating Kotlin to "just another clunky/weird JVM language" before even trying it. (Honestly, who's to blame them.)
Real-world numbers are showing that on average a project converted to Kotlin is 30% as many lines as its Java couterpart. When you really embrace its idioms, it's more like 20%.
Those that are waking up are discovering that "Wait, you mean to tell me I can still call any of the super-useful millions of 3rd party Java libs...in an expressive, compact syntax...that's head-and-shoulders safer than any of the languages that influenced it...is immensely readable/elegant...still gets the benefits of the most sophisticated garbage collector...use Spring Boot or a bunch of other microframworks...iteratively mix it in to my existing Java projects...convert my legacy projects to it...use the gradle build system with my gradle files written in Kotlin...write my own DSLs...be as object-oriented or as functional as I want...execute fast...execute elegantly in parallel or async...execute anywhere...have my build fail unless my entire AST is type-safe and null-safe...have first-class support from IntelliJ because Jet-brains wrote the damn thing...use all the advanced built-in Java data structures.............Hot damn, this is slick AF".
You sold me. When I get to the point I am comfortable with Python and can solve some medium / hard questions on sites like algoexpert or hackerrank and think up an application / develop it then I will pick up Kotlin. Maybe 6 months to a year! Depending on how much I work at learning / retaining.
One gotcha with Kotlin is that because it's developed by JetBrains, which is a Czech company with a lot of developers in Russia, it's a no-go for US Defense or Federal Government software. This is not, on its own, a reason not to learn it. But since I noticed that you currently work with the US Air Force, and that experience might be beneficial to you getting Defense contract or Government jobs, you should know that you're not going to find a posting for a Kotlin developer there.
Interesting. I didn't know that. I thought Kotlin was developed and supported by Google. After I retire from the military in my current trade idk if I'd want to continue in that line of work in a new field you know? I joined the military fairly young and you give up a lot of freedoms working for the DoD and FAA. Though the grass is always greener on the other side and I'm sure you give up a lot of freedoms working for any corporation.
You may be conflating Kotlin with Go, which was developed and supported at Google.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.