Что такое Kotlin
и зачем нужен?
Kotlin — это лаконичный язык программирования, который создали в 2011 на замену «многословного» Java. Разработчики Kotlin сделали ставку на компактность кода, и он получился компактнее своего прототипа на 1/3. При этом Kotlin полностью совместим с Java, и запускается на его виртуальной машине: JVM. Это означает, что фреймворки и библиотеки Java можно использовать в Kotlin-приложениях.
Его разработчик — компания JetBrains, основанная российскими программистами. Поэтому язык носит имя острова Котлин, на котором расположен Кронштадт, по аналогии с Java (остров Ява). JetBrains является ведущим мировым производителем инструментов для разработки — IDE, таких как IntelliJ IDEA (Java, Kotlin) и PyCharm для Python. В 2019 Google официально признал Kotlin приоритетным языком в разработке приложений под Android.

Если дать краткую характеристику, то Kotlin — это объектно-ориентированный язык со статической типизацией, как и Java. Это позволяет выявить много ошибок ещё на стадии компиляции, что даёт преимущество при разработке сложных и больших проектов.
Также IntelliJ IDEA и Android Studio поддерживают автоматическую конвертацию кода Java в Kotlin, правда, для небольших приложений.
Зачем нужен Kotlin
Разработчики задумывали его, как универсальный язык. В принципе Kotlin можно использовать везде, где работает Java. Но основные области применения — это мобильная разработка и бэкенд. Большинство вакансий от работодателей приходится на эти две сферы. Но Kotlin подходит и для написания десктопных программ, для Data Science, и даже для фронтенда, где господствует JavaScript. Kotlin может компилироваться в JavaScript.
В отличие от Java, на Kotlin можно создавать приложения не только для Android, но и для iOS, используя Kotlin Multiplatform Mobile (KMM).
4 отличия Kotlin от Java
1. Kotlin защищен от NullPointerException
Такие ошибки — причина частых сбоев приложений из Google Play. В отличие от Java, в Kotlin все переменные по умолчанию не нулевые, а присвоение или возврат null выявляется ещё на стадии компиляции. Для присвоения переменной значения null, в Kotlin помечают эту переменную как nullable.
2. Корутины
Наряду с механизмами многопоточности и асинхронности, существующими в Java, в Kotlin используют корутины (coroutines). С помощью них определяются приоритеты в работе приложения. Данные загружаются не последовательно: вначале приоритетные, а затем менее значимые, что сводит к минимуму время запуска приложения. При этом тратится мало ресурсов, а это как раз то, что требуется в мобильной разработке.
3. Функции-расширения
В Kotlin можно легко расширить класс для добавления в него новых параметров. Делается это при помощи специальных функций-расширений.
4. Скорость
Приложения на Java компилируются несколько быстрее, чем на Kotlin. Однако, если использовать инкрементальную компиляцию, когда собирается не весь проект, а только изменённые участки, то сборка произойдёт даже чуть быстрее.
Но на деле существует гораздо больше всяких фич, которые делают разработку на Kotlin проще, быстрее и безопаснее. Kotlin-код получается гораздо более читабельными и короткими, чем Java-код.

Что касается данных Google по соотношению количества приложений, написанных на Java и Kotlin, то к ним нужно относиться осторожно. Это имеет отношение к многолетней тяжбе по поводу авторских прав между Oracle (правообладатель Java) и Google. Понятно, что Google заинтересован в переходе на Kotlin, а будущее Андроид-разработки полностью зависит от него. Но кто его знает, чем дело закончится? Может в дальнейшем Java будет «реабилитирован» и в глазах Google снова станет хорошим.
И теперь главный вопрос, надо ли переходить с Java на Kotlin? Однозначного ответа нет, Java сегодня развивается так же быстро, как и Kotlin. Видимо, эти языки будут сосуществовать ещё продолжительное время.
Зарплаты Kotlin-программистов
Программистов, которые выучили Kotlin, пока не так много, поэтому и зарплаты у них высокие, включая новичков. Это график зарплат по уровню квалификации:

По данным Хабр Карьеры зарплаты Kotlin-программистов за последние четыре квартала демонстрировали рост даже выше, чем по другим языкам:

Три четверти работодателей ищут разработчиков под Android, оставшаяся четверть вакансий — это в основном бэкенд-разработка.