NBCUniversal
Software Engineer, Roku
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер для развития Roku-канала стримингового сервиса: от UI-слоя на SceneGraph до пайплайна воспроизведения и API. Работа с оптимизацией производительности на ограниченных устройствах и качеством воспроизведения видео.
Задачи
- Разрабатывать и выпускать фичи на BrightScript и SceneGraph с акцентом на поддерживаемую компонентную архитектуру
- Отвечать за качество видеовоспроизведения: время запуска, ABR, отзывчивость перемотки, trick play, DRM-хендшейки, обработка ошибок и восстановление
- Профилировать и оптимизировать производительность канала под ограничения реальных устройств: память, конкуренция render thread, task nodes, бюджеты изображений и текстур, холодный старт
- Собирать и анализировать QoE-телеметрию (время запуска, доля ребуферов, выход до старта видео, распределение битрейта) и улучшать метрики
- Совместно с backend-командами определять и дорабатывать microservice и BFF API: каталог, авторизация воспроизведения, entitlement, continue-watching, рекомендации, поиск
- Реализовывать и поддерживать интеграции платформы Roku: deep linking, Roku Search и content feeds, Continue Watching, Roku Pay / Instant Signup, Roku Advertising Framework
- Разрабатывать внутренние инструменты и скрипты автоматизации на JavaScript/TypeScript: сборка и упаковка, валидаторы фидов и манифестов, релизные утилиты, device-farm и smoke-тесты
- Владеть CI/CD пайплайном канала: автоматические сборки, тесты, статический анализ, упаковка артефактов, sideloading на тестовые устройства, продвижение по окружениям
- Проводить релизы через сертификацию Roku-каналов, включая требования по производительности и памяти, управлять продвижением из beta в production
- Устанавливать и поддерживать инженерные стандарты: code review, автотесты, статический анализ, документация
- Отлаживать production-проблемы с помощью Roku debug console, profiler, ECP и network capture, устранять первопричины
Требования
- 3+ года опыта software engineering, включая выпуск production Roku-каналов на BrightScript и SceneGraph
- Подтверждённый опыт оптимизации производительности на ограниченных устройствах: снижение потребления памяти, времени запуска, устранение дропов кадров
- Сильное владение практиками software engineering: разделение ответственности, тестируемость, осмысленные абстракции, code review, рефакторинг
- Практический опыт с видеовоспроизведением и стриминговыми форматами: HLS и/или DASH, adaptive bitrate, структура манифестов, стратегии буферизации, DRM (Widevine и PlayReady на Roku)
- Опыт интеграции с RESTful API в микросервисной архитектуре: пагинация, кэширование, retry и backoff, контракты ошибок, версионирование
- Рабочее владение JavaScript и TypeScript (Node.js) для внутренних инструментов и автоматизации сборки
- Опыт построения и поддержки CI/CD пайплайнов (GitHub Actions, GitLab CI, Jenkins, CircleCI или аналоги)
- Уверенность в работе с инструментами отладки и телеметрией: debug console, profiler, дашборды
- Чёткая письменная и устная коммуникация, умение объяснять компромиссы
Условия
- Гибридный формат: минимум 4 дня в неделю в офисе
- Компания оставляет за собой право менять требования к присутствию в офисе
- Медицинская, стоматологическая и офтальмологическая страховка, 401(k), оплачиваемый отпуск, компенсация обучения и другие льготы
- Зарплата: $105,000 - $145,000
Навыки
- BrightScript
- SceneGraph
- HLS
- DASH
- DRM
- Widevine
- PlayReady
- REST
- JavaScript
- TypeScript
- Node.js
- CI/CD
- GitHub Actions
- GitLab CI
- Jenkins
- CircleCI
- Roku
- BrighterScript
- Rooibos
- roku-deploy
- ropm
- GraphQL
- Conviva
- Mux
- Datadog RUM