Десятки миллионов людей открывают Кинопоиск ради одного — нажать на Play. Мы ищем Android-разработчика, который сделает этот процесс безупречным и поможет масштабировать технологии приложения на другие продукты. Вы будете работать над самым чувствительным пользовательским сценарием и развивать концепцию Player-as-a-Service — платформенный SDK, который позволит другим сервисам Яндекса бесшовно использовать наш плеер. Почему мы? * Масштаб и влияние. Ваш код ежедневно будет работать на миллионах смартфонов и Android TV. * Инженерный прагматизм. Мы не изобретаем «велосипеды», а опираемся на индустриальные стандарты: Kotlin, Coroutines, Flow, Jetpack Compose, GraphQL, Dagger 2 и активно развиваем KMP. * Культура качества. Мы инвестируем в Tech Quality: у нас еженедельные релизы, мониторинг метрик и фокус на DevEx. Используем собственные инструменты и AI, чтобы разработка была в удовольствие, а код — масштабируемым. * Амбициозный вектор. Вам предстоит не просто поддерживать фичи, а строить фундамент для всей медиаэкосистемы.

Обязанности:

Развитие 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) для автоматизации рутины