Kotlin will displace Java in the Android ecosystem.

Kotlin will displace Java in the Android ecosystem.

Survey report on the adoption of Kotlin for Android.

Make a submission

Accepting submissions till 12 Sep 2021, 06:24 AM

Context of the research and research questions

Fragments conducted an online survey with Android developers and teams about Kotlin adoption between March and April 2021. The survey aimed at answering two questions:

  1. The extent of Kotlin adoption in the Indian startup and enterprise ecosystem.
  2. How organizations are leveraging Kotlin and its features beyond UI development i.e., whether Kotlin is used for backend engineering and building data pipelines.

Key findings

Survey respondents were primarily drawn from Android engineers and Android teams in startups, mid-sized organizations and enterprises.

Survey results show that:

  1. Kotlin’s adoption will increase in 2-3 years, with the likelihood that the next generation of entrants in Android software development will be Kotlin native. This will displace Java’s dominance as a programming language for building Android apps.

  2. The results also reinforce that Kotlin is primarily used for UI development. The language’s features and ability for backend engineering is still under-utilized, at least among developers and teams who mainly build Android apps (since the survey respondents are from this demographic).

  3. More importantly, the survey reveals that engineering managers are concerned about moving large Java codebases to Kotlin because of the concern that they will not be able to hire Kotlin programmers and ramp up their teams.

Scroll down to read about the survey sample and detailed findings, and to see the survey questionnarie.

Conclusions and recommendations

Despite the growing demand for Kotlin and the backing of big tech firms such as Google/Android, there still exist skill gaps in the adoption of Kotlin in India. Kotlin has far-fetched benefits beyond Android as well mainly,

  • On the server side, with their interoperability with the Java ecosystem.
  • A cross platform mobile and web application development platform through their Kotlin multi platform.

Organizations appear to be reticent in moving their codebase to Kotlin, especially when the codebases are large. This slow move is compounded by the apprehension that hiring Kotlin programmers will be difficult and that upskilling entire teams will be difficult. The current skill gaps likely exist because most developers depend on learning the language by themselves, without access to formal training, and without community forums where experiential case studies about Kotlin can be shared freely.

We conclude that for organizations to make better progress towards adoption of Kotlin, they have to invest in training and upskilling their employees because Kotlin will be the future for Android development.

Acknowledgements

Survey design and data analysis:

Madhusudhan Sambojhu is founding partner and engineering lead at able.do.

Anand Venkatnarayanan has worked as a cybersecurity engineer for two decades. He is currently editor at Privacy Mode programme and non-executive director at Hasgeek.

Bhavani Seetharaman is Research Associate at Hasgeek.

Zainab Bawa is co-founder, director and Chief Operating Officer (COO) at Hasgeek.

Authors:

Bhavani Seetharaman and Zainab Bawa have written this report. Madhusudhan Sambojhu actively reviewed the report and helped in nuancing the findings and conclusions.

Support team:

Anish TP illustrated the report.

Review and feedback:

We would like to thank:

  1. Vidya Ramakrishnan, senior front-end developer at Hasgeek, for reviewing the report, and suggesting future areas of research.
  2. Arnav Gupta, entrepreneur in EdTech, for detailed inputs on the survey design.
  3. Ragunath Jawahar, independent consultant at Gojek, for reviewing and commenting on the report.

Hosted by

How do you make a great mobile experience? Explore with Fragments. Follow Fragments on Twitter more
Zainab Bawa

Zainab Bawa

@zainabbawa

Madhusudhan Sambojhu

@madz314

Anand Venkatanarayanan

Anand Venkatanarayanan

@anandvenkatanarayanan

Arnav Gupta

Arnav Gupta

@championswimmer

Appendix I: Survey Questionnaire

Submitted Sep 9, 2021

The following questionnaire that was circulated for this research. The questionnaire consisted of multiple choice and descriptive questions. Average response time was close to four minutes.

  1. Name (optional)

  2. Company name (optional)

  3. Which OS are you comfortable developing apps in?

    • Android
    • iOS
    • Others (please specify)
  4. Which programming languages and frameworks are you comfortable working with?

    • Python
    • Java
    • Scala
    • GO
    • Kotlin
  5. Are you primarily a Java developer?

    • Yes
    • No
  6. Does your organization have an in-house app development team?

    • Yes
    • No
  7. Does your organization have a Native, iOS, Flutter or PWA app?

  8. Which programming language is used for the app that your company has developed?

  9. If Kotlin is used in your organization, why was it chosen as the framework for app development?

  10. Since how long have you been working with Kotlin?

    • Less than one year
    • Between 1 and 3 years
    • Greater than 3 years
  11. If your organization does not use Kotlin, did it evaluate Kotlin as an option for app development?

    • Yes
    • No
  12. What percentage (%) of your codebase is in Kotlin?

    • 0-20%
    • 20-40%
    • 40-60%
    • 60-80%
    • 80-100%
  13. How do you write code in Kotlin?

    • Using Java style of writing code in Kotlin.
    • Using idiomatic Kotlin code.
  14. What is the one key challenge that you or your team has faced in migrating the codebase from Java to Kotlin?

  15. Do you use new tooling for Kotlin such as Jetpack Compose?

    • Yes
    • No
  16. Is Kotlin empowering you to build UI using patterns?

    • Yes
    • No
  17. Do you build data pipelines using Kotlin?

    • Yes
    • No
  18. What are your primary learning resources for Kotlin?

    • Popular weekly newsletters
    • Kotlin language learning resources group
    • Developer forums such as Reddit
    • YouTube channels
    • Training sessions
    • Others (please specify)

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Make a submission

Accepting submissions till 12 Sep 2021, 06:24 AM

Hosted by

How do you make a great mobile experience? Explore with Fragments. Follow Fragments on Twitter more