Обязанности:
Проект: Android (Kotlin), многомодульный SDK, Dagger 2, Compose + legacy, Retrofit/Room/Coroutines + немного RxJava, корпоративный Artifactory и дизайн-система; плюс WebRTC и ExoPlayer. Обязательно понимание: Kotlin - уверенный уровень (в проекте Kotlin 2.1), знание идиом и корутин (kotlinx-coroutines). Android SDK - жизненный цикл Activity/Fragment, фоновая работа (WorkManager). Многомодульность, управление зависимостями Gradle, Version Catalog (libs.versions.toml). Архитектура - Clean (presentation → domain → data), use cases, репозитории, маппинг DTO ↔️ доменные модели; умение не смешивать слои. DI - Dagger 2: модули, компоненты, скоупы. Асинхронность - корутины + Flow; готовность работать с RxJava 2 там, где код ещё не мигрирован. UI - Jetpack Compose (Material3) и legacy UI (Fragment, ViewBinding, XML); поддержка новых и существующих экранов в одном продукте. Сеть - Retrofit, OkHttp, REST. Локальные данные - Room (в т.ч. миграции, запросы, Flow). Сборка - Gradle Kotlin DSL, варианты сборки debug/release, базовое понимание R8/ProGuard для библиотек. Работа в корпоративной среде - зависимости из внутренних Maven/Artifactory, закрытая дизайн-система "", соблюдение командных процессов. Знакомство с StateFlow / MVI-подобными паттернами (в т.ч. side effects из ViewModel), UiText-подобными абстракциями для строк без Context в домене. Плюсом будет опыт в: WebRTC / real-time медиа (звонки, состояния соединения). Media3 / ExoPlayer. Опыт SDK / встраиваемых библиотек (не только монолитное приложение): обратная совместимость, ProGuard. Интеграция SDK в host-приложение. Базовая ориентация в composite build / convention-плагинах (build-logic). WebSocket и Centrifuge.Похожие вакансии