По этой профессии сейчас мало активных вакансий, поэтому рыночные цифры на странице ориентировочны. Путь входа, навыки и типовые ошибки от объёма выборки не зависят.
Как стать Kotlin-разработчиком: путь от нуля до первого оффера
Не «стань разработчиком за 3 месяца» — реальный путь входа на основе данных по 12 вакансий.
Можно ли стать Kotlin-разработчиком с нуля
Да. По данным SkillStat, 8% вакансий Kotlin-разработчика — уровня junior или стажёр. Это 1 вакансия прямо сейчас.
Главная развилка тут не в опыте, а в понимании названия. «Kotlin-разработчик» — роль вокруг языка, а не вокруг телефона. Kotlin стоит в 100% вакансий, и следом идут Spring (66.7%), Apache Kafka (75%), PostgreSQL (75%) и Kubernetes (91.7%) — то есть серверная сторона, а не экран приложения. Тот же язык работает и в Android, и во внутренних инструментах, но вакансия обычно уже выбрала направление за тебя.
«С нуля» здесь значит: умеешь писать Kotlin-код, который команда сможет читать через год. Не синтаксис, а решения — почему data class, а не набор полей; где sealed class честнее строки; как отменяется корутина. Плюс Java: она в 91.7% вакансий, потому что Kotlin почти всегда приходит в проект, где уже есть JVM-код. Junior-вакансий 1 из 12, на одного junior — 3 senior.
Как стать Kotlin-разработчиком: короткий план
Пять шагов: язык → JVM-окружение → направление → данные → читаемый код.
Что учить Kotlin-разработчику первым
Не всё сразу. Вот очерёдность по частотности в вакансиях — от самого нужного к менее срочному.
| Навык | Все вакансии |
|---|---|
| Kotlin | 100% |
| Kubernetes | 91.7% |
| Java | 91.7% |
| Apache Kafka | 75% |
| PostgreSQL | 75% |
| Microservices | 66.7% |
| Spring | 66.7% |
| Docker | 66.7% |
| Spring Boot | 50% |
| Apache | 41.7% |
«Все вакансии» — доля из 12 вакансий. Обновлено 12 августа 2026.
Полный список навыков с частотностью, связками и зарплатной премией — навыки Kotlin-разработчика →
Roadmap Kotlin-разработчика: от нуля до junior
Порядок опирается на частотность навыков по данным вакансий. Первые 4–5 этапов — минимум для первого оффера.
- 01Платформа и язык 100% вакансий
Kotlin (Android) / Swift (iOS) / Dart (Flutter) — синтаксис, ООП, идиомы платформы.
Подробнее → - 02UI-компоненты и навигация
Jetpack Compose / SwiftUI / Flutter Widgets, жизненный цикл экранов, навигация.
Подробнее → - 03Сеть и REST API
HTTP-клиенты (Retrofit/Alamofire), авторизация, WebSocket, обработка ошибок.
Подробнее → - 04Архитектура и паттерны
Clean Architecture, MVVM/MVI, SOLID, DI-фреймворки (Hilt, Dagger, DI).
Подробнее → - 05CI/CD и публикация 41.7% вакансий
GitLab CI / GitHub Actions, сборка релизов, App Store / Google Play, тестирование.
Подробнее →
Junior-вакансии Kotlin-разработчика: что реально требуют работодатели
Срез построен на 12 активных вакансий.
Какие проекты сделать для портфолио
От Kotlin-разработчика ждут не количества проектов, а качества кода. Один сервис, который читается без объяснений автора, убеждает сильнее трёх наспех написанных.
Как оформить GitHub и резюме
- Осмысленная история коммитов важнее числа репозиториев: роль вокруг языка оценивают по коду
- В README объясняй решения, а не пересказывай стек: почему sealed class, где корутина отменяется
- Тесты на JUnit в каждом проекте — иначе слово «поддерживаемый» ничем не подтверждено
- docker-compose для запуска: рецензент должен поднять проект одной командой
- Покажи Gradle-конфиг: модули и зависимости говорят о зрелости проекта
- Укажи направление в первой строке: серверный Kotlin и Android — это разные вакансии
- Java выноси отдельным навыком, а не в скобках: 91.7% вакансий её требуют
- Вместо «знаю корутины» — «обработка событий Kafka на корутинах с отменой и повтором»
- Называй базу: PostgreSQL в 75% вакансий, SQL — в 41.7%
- Не пиши в навыках всё, что видел: на ревью попросят объяснить любой пункт
«Знаю Kotlin, изучал корутины, писал учебные проекты»
«Написал сервис на Kotlin и Spring Boot: REST API, PostgreSQL с миграциями, обработка событий Apache Kafka на корутинах с отменой и повтором. Покрыл JUnit ключевые сценарии, поднял окружение в Docker, собрал в GitLab CI. GitHub: [ссылка]»
Самостоятельно, курсы или вуз — какой путь выбрать
Когда начинать искать первую работу
Готов, когда можешь защитить каждое решение в своём коде: почему здесь data class, где отменяется корутина, зачем этот интерфейс. И когда выбрал направление — серверное или Android — и проект это подтверждает.
- → hh.ru: ищи и по «Kotlin», и по названию направления — язык часто спрятан в требованиях Java-вакансий
- → Habr Career: разделы backend и мобильной разработки — язык живёт в обоих
- → Компании с JVM-историей: там Kotlin приходит в существующий Java-проект и новичок нужен для новых модулей
- → Стажировки крупных компаний: JVM-направление обычно отдельное и с ревьюерами
- → Сообщества вокруг JVM: вакансии на язык часто ходят там раньше агрегаторов
- → «Kotlin/Java» через слэш — почти всегда JVM-команда с legacy: новый код на Kotlin, старый на Java
- → Kafka, Kubernetes и Microservices в требованиях — вакансия серверная, экранов не будет
- → Spring и Spring Boot (50%) — про монолит или сервисы; Android там не появится
- → Jetpack Compose, lifecycle или Android SDK в списке — наоборот, вакансия мобильная, читай её как Android-роль
- → JUnit в требованиях — попросят показать тесты, а не рассказать про них
Что спрашивают на собеседовании
Ядро языка
- ·Чем data class отличается от обычного и когда он вреден
- ·Sealed class против enum: что выбираешь и почему
- ·Как работает null safety и что делает оператор двойного восклицания
- ·Зачем extension functions и где они мешают
Место в коде, где sealed class убрал ветвление по строкам
Корутины и Flow
- ·Что такое структурированная конкурентность
- ·Как отменяется корутина и что происходит с дочерними
- ·Чем Flow отличается от обычной последовательности
- ·Как тестируешь асинхронный код
Корутина с отменой и тест на неё
Java-совместимость
- ·Как Kotlin-код вызывается из Java
- ·Что происходит с nullable-типами на границе с Java
- ·Зачем JvmStatic и JvmOverloads
- ·Во что компилируется data class
Модуль, который используется из Java-кода
Данные и SQL
- ·Зачем индекс и когда он не помогает
- ·JOIN: какие бывают и что вернут
- ·Что такое транзакция и уровни изоляции
- ·Как делаешь миграцию схемы
Схема данных твоего сервиса и миграции в репозитории
Сервис и события
- ·Что делаешь при дубле сообщения из Kafka
- ·Как сервис ведёт себя при недоступной базе
- ·Чем REST отличается от событийной интеграции
- ·Зачем Docker в разработке, если в проде Kubernetes
Консьюмер Kafka: обработка падения и повтора
Сколько времени нужно, чтобы стать Kotlin-разработчиком
Kotlin — самый быстрый язык для того, у кого уже есть база. Если писал на Java, первые месяцы уходят не на синтаксис, а на привычки: перестать писать Java словами Kotlin.
Основное время съедает не язык, а направление. Spring, SQL, Kafka и Kubernetes — отдельный контур со своими месяцами. Android-направление — тоже.
Умение читать чужой код здесь ускоряет карьеру сильнее, чем ещё один учебный проект: Kotlin почти всегда приходит туда, где уже что-то написано.
Ошибки новичков
Считают Kotlin языком только для Android
Почему мешает: В срезе рядом с ним стоят Spring (66.7%), Kafka (75%) и Kubernetes (91.7%) — заметная часть вакансий серверная
Как исправить: Прочитай десяток вакансий целиком и выбери направление осознанно
Пропускают Java
Почему мешает: Java в 91.7% вакансий: Kotlin приходит в проекты, где уже есть JVM-код
Как исправить: Научись читать Java и понимать границу interop — писать с нуля не обязательно
Злоупотребляют scope functions
Почему мешает: let, apply и run внутри друг друга превращают простой код в ребус — на ревью это заметят
Как исправить: Пиши так, чтобы читалось с первого раза; краткость не цель
Запускают корутины без отмены
Почему мешает: Незакрытая корутина продолжает работать, когда результат уже никому не нужен
Как исправить: Разберись со структурированной конкурентностью и напиши тест на отмену
Делают data class из всего подряд
Почему мешает: Класс с equals и copy там, где нужна идентичность, ломает поведение неочевидно
Как исправить: Спроси себя: это значение или сущность? На собеседовании спросят то же самое
Учат язык без базы данных
Почему мешает: SQL в 41.7% вакансий, PostgreSQL — в 75%; серверная работа без них не существует
Как исправить: Минимум на своём проекте: схема, индексы, JOIN, транзакции, миграции
Не пишут тесты
Почему мешает: Роль вокруг языка оценивается по поддерживаемости кода, а без тестов это слово пустое. JUnit — части вакансий
Как исправить: JUnit на бизнес-логику и на асинхронные сценарии
Оправдывают сложный код тем, что «так короче»
Почему мешает: Через полгода этот код читает другой человек, и стоимость правки растёт
Как исправить: Правило простое: если объяснение длиннее самого кода — переписывай
Как SkillStat считает данные
Источник: 12 вакансий в московском сегменте. Навыки и грейды извлекаются автоматически из текста каждой вакансии.
Грейды: определяются по требованиям вакансии — уровню опыта, упоминанию «junior», «intern», «стажёр». Это рыночная оценка объявления.
Сложность входа: рассчитывается по доле junior-вакансий и медиане навыков на junior-уровне. Это индикатор, а не гарантия.
Обновление: данные пересчитываются регулярно. Текущий срез — 12 августа 2026.