Hello fellow developers! Kotlin has been around for a while, and maybe not every part of our journey was a piece of cake. 🍰
Was there a project where Kotlin left you in the dark? I want to know about it! What failures (epic or not) did you experience - and how did you move forward? Often, failure stories tell us what things need to be improved. At the very least they make us feel less alone.
Maybe you tried to introduce Kotlin in a company or a project, but for some reason you were rejected? I totally feel you!
Please share your Kotlin fail stories! I'll share mine in the comments as well! 👇
Top comments (2)
The automatic Java-to-Kotlin converter added a few bugs in my app
The worst was that it converted
(Something) thing
to(thing as Something)
rather than(thing as Something?)
I think
as
was a mistake in Kotlin. It should be calledas!!
oras Something!!
.My story: I tried to introduce Kotlin in the backend for a customer once (the backend was written in pure Java), but ultimately was rejected. That lead to an interesting twist on my part.
It began when a colleague and I started to write a new standalone migration tool. I already used Kotlin for Android and for a different backend project before, so I knew that it could really help us in writing this tool. My colleague didn't knew Kotlin then, but agreed to give it a try for this new project. I knew that the customer's backend was written in Java, but since we were writing a new standalone tool I thought this would be a good chance to prove Kotlin was up to the task. There was no official statement that we had to use Java, and the Android app was written in Kotlin anyway - so we went ahead and used it.
I tried to get in contact with the chief IT strategist of the customer for weeks - in an attempt to get an official blessing to use Kotlin in production for the backend. Meanwhile, my colleague and me finished the migration tool in Kotlin - which worked great, and had beautiful code as well. Finally, the chief IT strategist agreed to meet. The meeting went over quickly. After only a few minutes, I was told that they wouldn't allow using Kotlin in the backend. Not even in tests. Kotlin was labeled as 'just another JVM language' like Scala, Groovy, or Clojure. I couldn't even discuss the advantages of using Kotlin. But the main argument was that I was the only one using and understanding it, and they would need to have more people (of other companies) that use the language before they agree in using it. So we were explicitly told to use Java.
To me, this was quite a setback. How couldn't they see that there would be many advantages in using Kotlin on the backend? Being able to get rid of possible bugs before they even make it to production? But deep down, I knew he had a point: At that time, Kotlin was still very much the underdog. That was it! Kotlin had to become as or even more widespread than Java in order to attract even the laggards.
So that's what I kept doing since then. I've found many coworkers at my company iteratec who were interested in Kotlin like me, and we created an internal chat for it - with more than 80 people in it today. Since around a year, we have an internal Kotlin community as well, and dozens of customer projects written in or using Kotlin in some way. And: Just a few days after the community was launched, a coworker asked me if we could offer a Kotlin training - for a client who wants to kickstart some Kotlin projects, as well as for our coworkers. I was so proud to accept! And I'm happy to report that we already gave this training 4 times, with a second advanced training on the horizon.
At the end of 2019, Kotlin had more than 4 million Kotlin users, up from 2.2 million Kotlin users the year before (compared to 7.6 million Java devs). So Kotlin is catching up quickly - making it more likely for more companies to adopt it. And numbers like these prove that you'll find people who know it when you adopt it for existing or new projects.
In the end, I think I wouldn't have fought as hard for Kotlin as I had until today if I hadn't been rejected. And I will continue to fight for innovative tools in the spririt of making developers more productive and happier, leading to more stable software that is easier to maintain. Which, in the end, is exactly what customers want. 🙂