Обязанности:
Развитие Player-as-a-Service (создание универсального Player SDK)Вы будете отвечать за проектирование API и изоляцию: отвязку ядра плеера от бизнес-логики Кинопоиска для создания независимого SDK, легко встраиваемого в другие приложения Яндекса. Нужно будет реализовать динамический Playback: интеллектуальную State Machine, которая на лету оркестрирует опыт просмотра. Предстоит обеспечить бесшовную склейку потоков (реклама, контент) и точную синхронизацию видео с интерактивными фичами и телеметрией. Также вы будете работать над масштабируемым UI: создавать компоненты плеера на Jetpack Compose с гибкой кастомизацией под дизайн-системы других сервисов. Развитие платформы и эволюция архитектуры
Вам предстоит работать с архитектурой и KMP: развивать многомодульность и выносить общую бизнес-логику плеера (телеметрия, правила воспроизведения) в Kotlin Multiplatform для iOS и Android. Вы будете повышать производительность: оптимизировать старт видео (time to first frame) и live-трансляций, устранять утечки памяти и потери кадров, в том числе на слабых Android TV. Нужно будет обеспечивать Tech Quality: внедрять snapshot-тестирование UI и автоматизацию рутинных процессов (Bash или Python) для ускорения работы всей команды. Больше о мобильной разработке в Яндексе — в канале Yandex for Mobile
Ключевые навыки:
- Уверенно владеете Android SDK и Kotlin
- Работали с ExoPlayer (Media3) и понимаете специфику видеостриминга
- Работали с многомодульными проектами и понимаете современные архитектурные паттерны (включая MVI)
- Свободно используете реактивный подход (Kotlin Flow) и инструменты Dependency Injection
- Умеете проектировать UI-компоненты и обязательно покрываете код unit-тестами
Дополнительные требования:
- Работали со snapshot-тестированием
- Обладаете навыками профилирования производительности приложения
- Владеете скриптовыми языками (Bash, Python) для автоматизации рутины