Duolingo conclui a migração para o Kotlin e reduz a contagem de linhas em uma média de 30%

O Duolingo é uma das plataformas de aprendizado de idiomas mais famosas do mundo e um dos apps educativos gratuitos com mais downloads no Google Play (mais de 200 milhões).

A maioria das pessoas aprende uma nova língua para ter acesso a melhores oportunidades, e a missão do Duolingo é oferecer ensino de idiomas gratuito e acessível para os mais de 300 milhões de alunos cadastrados.

O que eles fizeram

Depois de ver que a contagem de linhas da base do código deles aumentava 46% a cada ano, uma decisão única foi tomada pelos desenvolvedores Android do Duolingo: migrar do Java para o Kotlin.

Incorporando o estilo do Duolingo, a equipe gamificou o processo de migração realizando um concurso com um placar diário e incentivando o aprendizado. Os experientes desenvolvedores de Kotlin da equipe se tornaram "verificadores de Kotlin" e compartilharam práticas recomendadas em revisões de código, até que todos os desenvolvedores Android se tornassem especialistas nessa linguagem.

Após dois anos, a migração foi concluída, melhorando drasticamente a capacidade de manutenção do código (link em inglês). Eles descobriram que a conversão de um arquivo Java em Kotlin reduziu a contagem de linhas em uma média de 30% e, em alguns casos, até 90%.

"De forma geral, estamos muito felizes por ter migrado para o Kotlin nesse momento, e estamos animados em ver que o uso dele continua crescendo tanto na nossa empresa quanto em todo o setor de software.", Art Chaidarun, engenheiro sênior de software

Resultados

Apesar de ter novos recursos de produto e mais que o dobro de colaboradores ativos, a base do código tem praticamente o mesmo tamanho de antes da migração, dois anos atrás, o que prova que essa decisão foi um bom investimento. Além disso, as pesquisas internas mostram que a satisfação do desenvolvedor disparou em 129 pontos do NPS, e o Kotlin é um fator importante citado nas respostas.

O Duolingo está sempre crescendo e evoluindo, assim como os idiomas. Os testes A/B rigorosos e o feedback no app garantem que a equipe continuará lapidando a metodologia e oferecendo o melhor ensino de idiomas do mundo. Agora que o app para Android tem uma base do código 100% em Kotlin, eles podem fazer isso com ainda mais confiança e eficácia.

Primeiros passos

Saiba mais sobre o desenvolvimento de um app para Android com o Kotlin.