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

Anish TP

Anish TP

@anishtp

Research methodology and sampling

Submitted Sep 9, 2021

The survey was conducted online using Survey Monkey. Respondents answered descriptive and multiple choice questions.

We targeted individual developers and app development teams from startups and enterprises to respond to the survey. Respondents from SaaS, Fintech, gaming, mobility, e-governance and IT services domains participated in the survey.

As mentioned in the executive summary, respondents were primarily drawn from among Android engineers and teams. 63 respondents were Android developers. Only two respondents mentioned comfort working with iOS Operating System (OS). Future research needs to examine Kotlin’s adoption and use in the iOS ecosystem.

The survey refrained from asking for personal information to preserve the privacy of respondents. The survey questionnaire instead focussed on the challenges respondents’ faced in using Kotlin, and their organization’s experience with Kotlin adoption. (See Appendix I for the survey questionnaire.)

90 percent of respondents said their companies had an app. Majority of these apps were developed using Java and Kotlin, or with a combination of Kotlin and Swift. JavaScript, React Native, Flutter and Typescript were also used in various combinations to build native, iOS, PWA and Android apps.

Programming language preferences

A total of 65 respondents participated in this survey. Respondents’ organizations either use Kotlin or had considered Kotlin as a choice of language in developing the company’s app.

Visualization
{
"title": {
"text": ["Which programming languages are",  "you comfortable working with?"],
"orient": "bottom",
"fontSize": 16,
"dy": 20
},
"width": "container",
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {
"values": [
{"category": "Python", "value": 10.8, "label": "10.8%"},
{"category": "Kotlin", "value": 30.8, "label": "30.8%"},
{"category": "Java", "value": 55.4, "label": "55.4%"},
{"category": "Go", "value": 3.1, "label": "3.1%"}
]
},
"encoding": {
"theta": {"field": "value", "type": "quantitative", "stack": true},
"color": {"field": "category", "type": "nominal", "legend": null}
},
"layer": [
{"mark": {"type": "arc", "outerRadius": 120}},
{
"mark": {"type": "text", "radius": 150},
"encoding": {
  "text": {"field": "label", "type": "nominal"},
  "size": {"value": 18}
  }
},
{
"mark": {"type": "text", "radius": 100},
"encoding": {
  "text": {"field": "category", "type": "nominal"},
  "fill": {"value": "#fff"},
  "size": {"value": 14}
  }
}
]
}

This sample is a good starting point for further research on Kotlin’s growth and adoption in India for Android and in other domains.

Future research can include more demographic variables such as gender, geographical diversity and respondents from Tier II and Tier III Indian cities so that a larger, diverse sample size can help us understand trends better. The current research is an exploration of the upskilling requirements that the industry faces with the growth of Kotlin for Android.

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