Android-разработчиком в 2026 становятся не после списка библиотек в резюме, а после одного приложения, которое можно поставить, сломать и объяснить. Kotlin — рабочий язык входа. Java на Android ещё жива в легаси, но начинать новый учебный проект на Java в 2026 почти всегда хуже, чем на Kotlin, если вакансия не про поддержку старого контура.
Ниже — какой минимум стека, какое одно приложение считать доказательством, что писать в резюме и какие junior-слоты ещё живые. Зарплатных медиан нет: вилку собирайте по вакансиям Android.
Коротко:
- Одно законченное приложение сильнее пяти брошенных туториалов. Стор не обязателен, но демо-APK или GitHub с инструкцией — да.
- Стек входа: Kotlin, Android SDK, навигация, сеть, локальные данные, Git. Jetpack не как религия, а как то, что в вакансиях.
- Не учите сразу Compose и XML «на всякий случай» в равной мере: выберите то, что повторяется в ваших слотах, второе — потом.
- Кроссплатформа (Flutter/KMP) — другая развилка. Сначала натив, если цель — Android-вакансии. Общий мобильный выбор: как стать мобильным разработчиком.
- Junior+remote узкий. Смотрите intern, гибрид, «Android developer» без слова middle.
Чем Android-разработчик занят в первый месяц
Первый месяц: экран по макету, список, детали, запрос к API, обработка ошибки сети, не забыть жизненный цикл, не уронить приложение поворотом. Редко — своя архитектура «как в FAANG» и свой дизайн-система. Если вам интересны только анимации и неинтересны разрешения, фон, грустная сеть в метро — роль будет тереть.
В продукте часто один приложение на годы. В аутсорсе — чужие кодовые базы и сжатые сроки. На входе покупают человека, который не боится чужого Activity и умеет задать вопрос до рефакторинга всего модуля.
Не путайте с iOS: другая платформа, другой магазин, другой найм. Путь Apple: как стать iOS-разработчиком. Не путайте с frontend: похожая голова про UI-состояния, другой рантайм и магазин.
С нуля, из Java, из другой мобильной роли
С нуля реалистичный горизонт при 10–15 часах в неделю — много месяцев до вменяемого приложения, не баннер «оффер за 90 дней». Если уже пишете Kotlin/Java на backend, вход быстрее: язык знаком, не знаком Android. Если уже верстаете веб — переносите состояния, учите жизненный цикл и систему ресурсов с нуля, не «HTML в WebView как портфолио».
Из iOS переход возможен, но это новая платформа, не «подкрутить синтаксис». Работодатель Android не зачтёт ваш Swift как Kotlin. Нужен Android-артефакт. Из Flutter — покажите, что понимаете нативный контур, если целитесь в нативные вакансии.
Без приложения не спасает письмо. Сначала артефакт: резюме без опыта.
Стек: что обязательно, что можно не класть в skills
Выпишите повторяющееся из junior-вакансий:
- Kotlin, null-safety, корутины хотя бы на уровне «запрос не блокирует UI»;
- экраны, навигация, RecyclerView или лента в Compose;
- Retrofit/Ktor или аналог, обработка 401/500, пустой список;
- Room / DataStore — одно локальное хранение;
- Git, Gradle на уровне «собрал, не сломал»;
- минимальная архитектура: разделение UI и данных, не обязательный «чистый Clean на 20 папок».
Compose vs View: смотрите слоты. Если junior сплошь Compose — не сидите вечно в XML. Если легаси View — уметь прочитать layout полезно. Можно отложить: свой SDK, сложный NDK, Wear, свой DI-фреймворк «для резюме», публикация в пять стран с подписками. Навыки шире по мере роста закладывайте в проект, не в список желаний. Резюме: резюме Android-разработчика.
90 дней: одно приложение, не десять модулей курса
- Дни 1–25. Kotlin + два экрана без сети: список и деталь, сохранение простое. Если Activity путаете — не переходите к архитектуре из блога.
- Дни 26–55. Сеть, ошибки, обновление списка, одно локальное кэширование. README: как собрать, какие разрешения, чего нет.
- Дни 56–75. Полировка: пустые состояния, конфигурация экрана, базовая доступность текста. Тесты хотя бы на ViewModel/репозиторий — плюс. Подпись APK для демо.
- Дни 76–90. Резюме, демо-ссылка, 15 точечных откликов, подготовка к живому коду списка.
Критерий: ставите APK на телефон, проходите сценарий офлайн/ошибка сети, объясняете поток данных без «так в туториале». Стор — бонус, если проходите модерацию. Необязателен для первой работы, если GitHub честный. Не публикуйте чужие ключи и не копируйте дизайн банка один в один.
Пример 1. Учебное приложение списка заказов
Вакансия: junior Android, Kotlin, REST, Git, коммерческий опыт не обязателен.
Приложение «мои заказы». Список с фильтром статуса, деталь, обновление по свайпу, экран ошибки сети с повтором. Стек: Kotlin, Jetpack Compose, Retrofit, Room как кэш, Coroutines. Учебный API. Нет оплаты, нет пушей, нет своего бэкенда. В README: как собрать, minSdk, что не сделано. APK в Releases.
Сделано мной: маппинг DTO, обработка пустого списка, сохранение фильтра. Архитектура простая: UI → ViewModel → repository. Не выдаю это за production-банк.
Это закрывает экран. «Клон Instagram на 40 экранов» без запуска — нет.
Пример 2. Было / стало в резюме
До:
Android-разработчик. Java, Kotlin, Compose, XML, MVVM, MVI, Clean, Dagger, Hilt, Koin, RxJava, Coroutines, Firebase, Google Maps. Ищу Android / Flutter / Kotlin backend.
После:
Junior Android (Kotlin). Учебное приложение заказов: Compose, Retrofit, Room, корутины. APK и код: [ссылки]. XML-View, Flutter, Dagger не использую. Коммерческого стажа нет. Готов к тестовому на 4–8 часов в Kotlin.
Как описывать проект: проекты в резюме. Стек по факту: указание стека.
Какие junior-слоты ещё живые и как откликаться
Ищите junior Android, intern, trainee, Kotlin Android. Читайте стек: Compose-only vs легаси. Если ждут 3 года, Play Console, свой SDK и дежурства — не вход. Каталог: вакансии Android, junior, иногда общий mobile.
Письмо: роль, сценарий приложения, ссылки, готовность к тесту. Письмо без опыта, черновик: генератор. Тестовое: экран + список + сеть. Не клон прода за выходные. Тестовое.
Собеседование: Kotlin, жизненный цикл, чем LiveData/StateFlow, как не блокировать UI, как кэшировали. Готовьте приложение как историю. Рассказ о проекте, вопросы.
Вилка — фильтры каталога. Удалёнка junior Android реже офиса. Ожидания, проверка вакансий: мошенники.