Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native. It’s developed by JetBrains. The project started in 2010 and was open source from very early on. The first official 1.0 release was in February 2016. Kotlin is free and is developed under the Apache 2.0 license. The source code is available on GitHub.The choice of a programming language is critical to developers who seek to continually acquire new knowledge and capabilities and increase their employability.
An annual report by SlashData and Data Developer Economics surveying developers to gain an insight into the key trends in languages and other metrics revealed some interesting metrics: It found that the fastest-growing language community in percentage terms is Kotlin. It nearly doubled in size in the past two years, from 1.1M developers in Q4 2017 to 2M in Q4 2019. Kotlin can be used for any kind of development, be it server-side, client-side web and Android. With Kotlin/Native currently in the works, support for other platforms such as embedded systems, macOS and iOS is coming.
Kotlin is the preferred language for Android Development
People are using Kotlin for mobile and server-side applications, client-side with JavaScript or JavaFX, and data science, just to name a few possibilities. The research by SlashData revealed that respondents were most likely to use Kotlin for Mobile and AR development. Given that Google has made Kotlin its preferred language for Android development, we can only expect this growth to continue, and Kotlin becoming a core language in mobile development.
There are over 300 Kotlin User‘s Groups internationally. Kotlin User Groups are a great place to share your experience with the community. There is no set format for a user group; they can exist in whatever way works for the organizers, be it meetups, lectures, hackathons, or informal get-togethers at a bar. Meetups are typically started as an initiative where a few like-minded people and to get together and organize regular meetups for spreading knowledge on software development with Kotlin.
The Berlin Kotlin User’s Group
The Berlin Kotlin User’s Group is a great example of a thriving tech community. It has grown to over 1500 members. We sat down and spoke with Jakub Jabłoński, an entrepreneur and software developer who works as a Senior Java Developer at Outfittery. They’ve recently hosted virtual meetups on topics such as
Migrating Spring Boot apps from annotation-based config to Functional and Fight Complexity With Functional Programming. They recently have initiated a Virtual Kotlin User’s Group in response to the stay at home requirements of COVID-19.
It’s a community that startups small be has grown to be one of the biggest in Berlin. Jakub recalls: “the biggest jump we got in membership was when Google announced their support for Android platform, that was insane. The community grew exponentially overnight, over a few hundred per cent.
Jakub likes Kotlin because “You can do a lot with it. It’s not only for Android, but you can also do back end stuff, you can do JavaScript stuff, you can do native stuff. So it’s very diverse.”
What are the biggest challenges to community management in Berlin?
Jakub notes, that one of his biggest challenges he experiences like many expats, is the Germany language. “Sometimes, I mean, in Berlin, it’s not that difficult, like almost everybody speaks English, but sometimes, you know, there’s a barrier that you have to cross. So this is one of the biggest problems”
Jakub also mentioned that like any Community Manager, the group faced the challenge of finding great speakers and venues for hosting meetups. Fortunately, the growing interest in Kotlin has meant that “companies are applying to host our meetup which is very nice, it’s become much easier.”
Why not host a meetup in your workplace?
Users of Kotlin (or any other software). You have a great opportunity to support the Kotlin Community (once we are again experiencing face to face events). Ask your CEO if you can use your office to host Kotlin User‘s Group. It’s not only a great way to give something back to the developer community but also great marketing for your business – especially if they are looking for new staff. Throw in a couple of crates of beer and some wine and they’ll endear themselves even more to the Berlin tech community.
Have you thought about becoming a speaker?
Getting your toes wet by speaking at a local meetup such as Kotlin Users Group is a great way to gain experience in public speaking, build confidence and increase your knowledge. You might just find yourself speaking at a future Codemotion event.
Codemotion hosted a webinar a while presented by Antonion Cobo, Delivery Manager at BJSS on “How to overcome your fears to be a conference speaker”. Antonia shared: “I am afraid of public speaking, I usually speak fast and I’m asthmatic. None of that stopped me to accomplish my dream of sharing knowledge and give to the community as much as I have gotten from the community.”
Codemotion also provides a space for community and event organisers to connect with people working in similar roles. Jakub shared “As a meetup organiser I would like to network with other organisers and just talk about problems and learn how people approach things in different ways.”
Great Kotlin Resources at Codemotion:
The state of Developer Ecosystem in 2019: the rise of Kotlin and React: JetBrains’ survey on the state of the developer ecosystem has underlined the rising popularity of Kotlin and React, the former being the best technology for native apps and the latter for cross-platform development, but could they co-exist?
Getting started with Kotlin on Android: In this interview, Leonardo Pirro tells us how he became an Android developer, and why he decided to use Kotlin to develop mobile apps.
Async code on Kotlin: coroutines VS RxJava: During Codemotion Milan 2018, Fabio Collini, Google Developer Expert and Senior Android Developer, delivered a speech on how to implement asynchronous code in Kotlin. In particular, he described two different approaches: the first one using coroutines, the second based on a library named ReactiveX Java (or RxJava in short). Both these approaches allow us to implement and support asynchronous operations, and they can be also used together and interchangeably.