Дорожная карта навыков mobile-инженера на 2026 год
Mobile-инжиниринг в 2026 году — это SwiftUI на iOS, Jetpack Compose на Android и либо React Native, либо Flutter, если вы идёте в кросс-платформу. Эта дорожная карта охватывает современный стек, реалии App Store и план на 12 месяцев, чтобы стать mobile-инженером, которого компании захотят нанять.
Найм в mobile разделился на три полосы: нативный iOS (Swift + SwiftUI), нативный Android (Kotlin + Compose) и кросс-платформа (React Native или Flutter). Нативная разработка по-прежнему платит небольшую премию и доминирует в senior-вакансиях; кросс-платформа доминирует в найме стартапов. Эта дорожная карта охватывает одну нативную платформу глубоко плюс достаточную кросс-платформенную грамотность, чтобы позже сменить полосу.
Кто такой mobile-инженер в 2026 году
Mobile-инженер выкатывает приложения, которые работают на iPhone или Android-устройствах и соответствуют политикам App Store / Play Store. Конкретно:
- Превращает дизайны в экраны с реальной навигацией, состоянием и граничными случаями.
- Обрабатывает сеть, локальное хранение, фоновое обновление и офлайн-режимы.
- Соблюдает целевые показатели производительности на трёхлетнем Android-устройстве, а не только на новейшем iPhone.
- Управляет подачей в магазин приложений, подписью кода, TestFlight/Play Console и стратегией обновлений.
- Владеет отчётностью о крашах, аналитикой и стратегией отката.
Junior mobile: строит экраны по спецификации. Middle: владеет функцией, включая сеть и состояние. Senior: принимает архитектурные решения (single- vs multi-module, стратегия навигации, dependency injection) и наставляет джунов в них.
Базовый стек — что действительно учить
Нативный iOS
Swift (современная конкурентность: async/await, actors), SwiftUI (по умолчанию в 2026), UIKit (всё ещё нужен для некоторых паттернов), основы Combine, Swift Package Manager, рабочие процессы Xcode.
Нативный Android
Kotlin (Coroutines, Flow), Jetpack Compose (по умолчанию в 2026), legacy XML-вью для старых кодовых баз, Hilt для DI, Gradle, рабочие процессы Android Studio.
Кросс-платформа (одно из)
React Native (с Expo, доминирующий выбор в 2026) или Flutter. Знание одного — сильный дифференциатор, если ваша цель — стартапы.
Архитектурные паттерны
MVVM, MVI, основы Clean Architecture, single-activity навигация, dependency injection, управление состоянием (Redux-подобные паттерны на RN, ViewModels на Android, ObservableObject на iOS).
Сеть и хранение
URLSession или Alamofire (iOS), OkHttp или Ktor (Android), парсинг JSON (Codable, Moshi/kotlinx.serialization), Core Data, Room или SQLDelight, Keychain/Keystore для секретов.
Реальность App Store
Provisioning profiles, App Store Connect, Play Console, внутриприложенческие покупки (StoreKit 2, Play Billing), гайдлайны App Review, privacy nutrition labels, соответствие EU DMA.
Тестирование
XCTest + ViewInspector или снапшот-тесты на iOS, JUnit + Compose UI testing на Android, инструменты скриншот-регрессии, E2E с Maestro или Detox для RN.
CI/CD и релизы
Fastlane (по-прежнему стандарт), Xcode Cloud или Bitrise, Firebase App Distribution или TestFlight, поэтапные раскатки, feature flags.
Observability
Crashlytics или Sentry, мониторинг производительности, аналитические SDK (PostHog, Amplitude, Mixpanel), инструменты session replay.
Ожидания 2026 года
LLM/ML на устройстве (Core ML, MediaPipe, MLX), WidgetKit / App Widgets, App Clips / Instant Apps, доступность глубоко (VoiceOver, TalkBack), App Tracking Transparency.
Soft skills и системное мышление
- Эмпатия к реальности устройств. У вашего ноутбука 32 ГБ ОЗУ; у бюджетного Android-устройства — 3 ГБ. Тестируйте на реальных устройствах.
- Мышление о цикле обновлений. Mobile-баги живут неделями, пока пользователи не обновятся. Добавляйте feature flags, пути отката и серверные kill switches по умолчанию.
- Мышление об App Store. Отклонение означает неделю задержки. Читайте гайдлайны. Понимайте, почему ревью проваливаются.
- Дисциплина производительности. Время холодного старта, дёрганье при скролле, расход батареи. Измеряйте их.
- Сотрудничество с дизайнером. Нативные дизайн-системы различаются. Material 3 на Android, Apple Human Interface на iOS. Возражать — ваша работа, когда дизайны игнорируют платформу.
Рекомендуемый план на 3 / 6 / 12 месяцев
Месяцы 1–3: выберите одну платформу, выучите язык
- iOS: основы Swift, затем SwiftUI. Apple 100 Days of SwiftUI по-прежнему лучший бесплатный путь.
- Android: основы Kotlin, затем Jetpack Compose. Курс Google Android Basics with Compose.
- Постройте три небольших приложения: список дел, погодное приложение с сетью, экран настроек/профиля.
Месяцы 4–6: реальное приложение
- Постройте одно приложение production-качества: аутентификация, сетевые вызовы, локальное хранение, пуш-уведомления, задеплоено в TestFlight или внутренний трек Play Console.
- Добавьте тесты. Минимум 10 unit-тестов и 2 UI-теста.
- Реализуйте стандартный квартет: состояния загрузки, ошибки, пустоты, успеха для каждого экрана.
- Подайте в App Store или Play Store. Сама подача — это урок.
Месяцы 7–12: глубина и собеседования
- Прочитайте архитектурные рекомендации своей платформы от и до. SwiftUI essentials от Apple, гайд Architecture Components от Google.
- Добавьте нетривиальную функцию: внутриприложенческие покупки, обновления в реальном времени, кастомный Compose-layout или ML на устройстве.
- Практикуйте mobile system design: спроектируйте ленту Instagram, спроектируйте экран карты Uber, спроектируйте чат-приложение.
- Откликайтесь с портфолио, в котором есть одна живая ссылка на магазин приложений плюс GitHub-репозиторий.
Пет-проекты для портфолио
- Одно приложение, выпущенное в магазин. Даже простое — опыт выпуска важнее сложности.
- Offline-first приложение. Движок синхронизации, разрешение конфликтов, очередь мутаций. Демонстрирует senior-мышление рано.
- Виджет или live activity. Демонстрирует глубину платформы за пределами основного приложения.
- LLM-функция на устройстве. Суммаризатор или переписыватель на Core ML или MediaPipe. Найм 2026 года это ценит.
Реалии подачи в App Store и то, что Middle-инженеры узнают на горьком опыте
Технический стек — лёгкая половина mobile-инжиниринга. Неблагодарная половина — подпись, ревью, раскатки — это то, что вызывает больше всего инцидентов.
- Provisioning — отдельная дисциплина. Wildcard- против explicit-bundle-ID, distribution- против development-сертификатов, ключи App Store Connect API для CI. Документируйте выбор, ротируйте до истечения, никогда не давайте одному инженеру держать единственный ключ подписи.
- App Review вас отклонит. Частые причины в 2026 году: отсутствие privacy nutrition labels для стороннего SDK, IAP для цифровых товаров в обход StoreKit, требование логина без способа протестировать для ревьюера, отсутствие тестовых учётных данных. Предупредите все четыре.
- Поэтапные раскатки спасают рабочие места. Выкатывайте на 1% — 5% — 25% — 100% в течение недели. Следите за crash-free users, ANR rate, воронкой, которую затрагивает релиз. Останавливайтесь при первом красном флаге.
- Серверные feature flags. Mobile-баг живёт неделями, пока пользователи не обновятся. Feature flag выключает баг за секунды. Подключайте флаги к каждой рискованной функции по умолчанию.
- Стратегия принудительного обновления. Имейте способ сообщить пользователям на сломанной старой сборке, что они должны обновиться. Делайте это гуманно (одноразовое закрываемое предупреждение), прежде чем оно станет жёстким (хард-блок).
- Соответствие требованиям EU и регионов. DMA в EU изменил правила для браузеров по умолчанию и платежей. App Tracking Transparency по-прежнему актуален. Новые региональные законы о приватности продолжают появляться. Подпишитесь на release notes платформ.
- Crash-free — это путеводная звезда. 99,9% crash-free users — хороший пол в 2026 году. Опуститесь ниже 99,5% на релизе — приостановите раскатку.
На senior-собеседованиях вопрос, который отделяет кандидатов, — «разберите со мной свой худший production-релиз». Кандидат, который отвечает поэтапной раскаткой, всплеском крашей, kill switch и постмортемом, выглядит senior. Кандидат, который отвечает «мы такого особо не делаем», — нет.
Как получить роль mobile-инженера
- Ключевые слова в резюме. Swift, SwiftUI, Combine (iOS) или Kotlin, Jetpack Compose, Coroutines (Android). Плюс ваш тестовый фреймворк, инструмент CI и один аналитический SDK.
- Ссылка на магазин приложений. Единственный самый сильный сигнал того, что вы выпускали продукт. Даже небольшое опубликованное приложение опережает десяток GitHub-only проектов.
- Раунды собеседования: coding (часто whiteboard Swift/Kotlin, иногда с Xcode/Android Studio), глубокое погружение в платформу, system design, behavioral.
- Глубокое погружение в платформу. Ожидайте вопросы об управлении памятью, потоках, жизненном цикле приложения платформы, типичных подводных камнях. Практикуйте ответы на вопросы «что происходит, когда…» о вашей платформе.
- System design. Mobile system design — это отдельный зверь: офлайн-синхронизация, кэширование изображений, пагинация, иерархии навигации. Прорешайте 10 таких.
FAQ
iOS или Android первым в 2026 году?
У iOS чуть выше оплата и больше senior-вакансий в США. У Android больше объём вакансий глобально. Выбирайте по целевому рынку и устройству, которым реально владеете (тестирование на реальном железе имеет значение).
Что учить — нативную или кросс-платформенную разработку?
Нативная — более безопасная карьерная ставка для senior-ролей. Кросс-платформа (React Native или Flutter) доминирует в стартапах и быстрее выкатывается. Если вы в начале пути, выучите одну нативную платформу глубоко, затем добавьте кросс-платформу.
React Native или Flutter?
У React Native (с Expo) больше вакансий в 2026 году, и он переиспользует навыки JavaScript/TypeScript. У Flutter более чистая архитектура и сильные поклонники. Выбирайте RN, если конкретная целевая компания не предпочитает Flutter.
Нужно ли публиковать приложение, чтобы взяли на работу?
Настоятельно рекомендуется. Нанимающие менеджеры кликают по ссылкам магазина приложений чаще, чем по GitHub-ссылкам. Процесс подачи учит реалиям App Store, которым нельзя научиться из туториалов.
Насколько важен system design для mobile-собеседований?
Растёт. Middle- и senior-mobile-петли теперь обычно включают 45–60-минутный раунд mobile system design. Практикуйте дизайны офлайн-синхронизации, кэширования изображений и бесконечного скролла.