Работа

Яндекс.Музыка

Руководитель разработки  — Александр Булаев

Группа разработки мобильных приложений

Чем занимается подразделение

Мы делаем так, чтобы пользователи мобильной Яндекс.Музыки получали доступ к миллионам альбомов, персональные рекомендации и возможность каждый день открывать для себя новых исполнителей.

Версию для Android мы пишем на Kotlin и Java, для iOS — на Swift и Objective-C, а для UWP — на C#. Весь код хранится на Bitbucket, а для его покрытия мы используем тесты Espresso и XCTest. Изменения не проходят незамеченными: все pull requests проверяются. Сборку мы проводим в TeamCity, а за состоянием продукта следим с помощью Метрики и Fabric.

Наши мобильные разработчики не только пишут код, но и придумывают новые функции и возможности Яндекс.Музыки. Поэтому для работы в команде нужно уметь активно отстаивать своё мнение, не бояться сложной, но интересной работы.

Каждый разработчик команды влияет на развитие музыкального сервиса с многомиллионной аудиторией. Если вы станете одним из нас, результаты работы сможете увидеть практически сразу — в лайках и комментариях подписчиков.

Группа машинного обучения и анализа данных Медиасервисов

Бригада поиска и анализа музыки

Рассказывает руководитель бригады Евгений Крофто

Чем занимается подразделение

Нас можно назвать командой нейросетевых технологий. Бригада занимается поиском не в привычном смысле слова: мы придумываем, как извлекать полезную информацию из аудио.

У нас много задач: поиск совпадающих и похожих по звучанию треков, определение настроения, жанра и других характеристик композиций, распознавание музыки по звучанию, выделение из аудиодорожки признаков, полезных для рекомендаций.

Недавно мы начали разрабатывать решения для анализа видео с помощью технологий компьютерного зрения и помогать создавать новые функции для голосового помощника Алисы.

Какие люди нужны

Мы не просто занимаемся исследованиями, а разрабатываем продукты. Поэтому чтобы работать у нас, нужно хорошо разбираться в алгоритмах и структурах данных, машинном обучении и статистике, уметь писать быстрый код на C++ и администрировать решения в «облаке».

Практический опыт обучения и применения нейронных сетей будет плюсом — с ними связано большинство наших задач. Для профессионального роста в команде нужно быть в курсе происходящего в современной науке, следить за новыми публикациями и уметь применять получаемые знания на практике.

Преимущества

Вы сможете использовать передовые технологии — машинное обучение и нейросети — в разработке сервисов на быстрорастущем рынке мультимедийного контента. Это интересная и перспективная работа: вы получите новые знания и навыки и будете применять их для создания продуктов, которыми пользуются миллионы людей.

Бригада разработки рекомендательных продуктов Медиасервисов

Рассказывает руководитель бригады Даниил Бурлаков

Чем занимается подразделение

Современные медийные сервисы не могут развиваться без хорошей системы рекомендаций. Счастье пользователя и желание им оставаться зависит от того, насколько подходящую музыку мы ему предложим в автоматических плейлистах, радио, списке новых релизов и других разделах Яндекс.Музыки, насколько точно отреагирует Алиса на просьбу «поставить больше весёлого» или «рок для тренировки».

Мы придумываем, как в реальном времени давать рекомендации пользователям, про которых мы очень мало знаем, как выделить сигнал в их часто противоречивых действиях на сервисе и найти правильное соотношение «нового», «любимого» и «персонального».

Основа наших рекомендаций — градиентный бустинг и методы коллаборативной фильтрации. Миллионы пользователей ежедневно слушают треки десятки миллионов раз — это терабайты данных, которые мы обрабатываем. Алгоритмы почти мгновенно дообучаются в зависимости от того, как пользователь реагирует на рекомендованные композиции, и подстраиваются под его настроение. Недавно мы начали внедрять рекомендационные технологии в КиноПоиск и Яндекс.Афишу.

Какие люди нужны

Вы должны разбираться в принципах и инструментах машинного обучения, хорошо знать алгоритмы и структуры данных, уметь писать код продакшн-уровня на Java и/или С++, понимать продукт и интересоваться им. За цифрами нужно уметь видеть конечного пользователя и его задачу.

Преимущества

Развивая рекомендации в Медиасервисах, мы помогаем миллионам пользователей восполнить потребность в новой музыке, фильмах и других развлечениях. «Под капотом» наших сервисов сложная математика и машинное обучение, о которых мы рассказываем на профессиональных конференциях, а «на поверхности» — реакция пользователя: «как вы здорово угадали!». Если вам важно и то, и другое — приходите к нам.

Группа разработки интерфейсов

Чем занимается подразделение

Мы делаем веб-версию Яндекс.Музыки. Мы первыми внедряем большинство новых возможностей сервиса: как правило, сначала они запускаются и тестируются в веб-интерфейсе. Одна из наших задач — делать так, чтобы треки и альбомы Музыки можно было размещать на других сайтах и встраивать в браузеры: мы разрабатываем iframe-плееры, JavaScript API и WebView. Программисты участвуют в разработке новых функций на всех этапах — от первой идеи до её воплощения.

Для разработки мы используем смешанный стек технологий. У нас есть и браузерный, и серверный код, многие инструменты разработки мы пишем для себя сами. Большая часть интерфейсного кода написана на Vanilla JS. Скоро мы собираемся делать большой апгрейд — и переходить на единый стек Яндекса.

Какие люди нужны

Нам нужны разработчики, которые хорошо разбираются в архитектуре кода, алгоритмах, вёрстке и дизайне. Отлично, если вы работали с аудио и видео в браузерах.

Мы ищем тех, кто хочет изучать новые технологии, улучшать код, разрабатывать новые возможности Музыки и помогать другим членам команды развиваться в профессии.

Преимущества

Мы готовимся к большим изменениям: вы сможете не только заниматься разработкой Музыки, но и участвовать в выборе технологического стека и архитектуры продукта. Это похоже на работу в стартапе — но с большой кодовой базой, опытом и инструментами.

КиноПоиск

Группа разработки мобильных приложений

Чем занимается подразделение

Мы разрабатываем мобильную версию КиноПоиска, где пользователи могут смотреть фильмы и сериалы онлайн и узнавать о них много интересного, читать свежие новости и покупать билеты в кино.

Каждый разработчик команды влияет на развитие сервиса с многомиллионной аудиторией. Версию для Android мы пишем на Kotlin и Java, для iOS — постепенно переходим с Objective-C на Swift, все новые функции сразу пишем на Swift.

Весь код хранится на GitHub, а для его покрытия мы используем тесты Espresso и XCTest. Изменения не проходят незамеченными: все pull requests обязательно проверяются — членами команды и автоматически. Сборку мы проводим в TeamCity, а за состоянием продукта следим с помощью Метрики и Fabric.

Мы любим новые технологии и постоянно придумываем, как с их помощью улучшить КиноПоиск. Наши мобильные разработчики не только пишут код, но и предлагают идеи новых функций и возможностейпп КиноПоиска. Поэтому для работы в команде нужно уметь активно отстаивать своё мнение, не бояться сложной, но интересной работы.

Группа фронтенд-разработки

Рассказывает руководитель группы Денис Чинин

Чем занимается подразделение

Наша цель — сделать взаимодействие с КиноПоиском максимально удобным для пользователя, когда он выбирает фильм, покупает билеты в любимый кинотеатр или узнаёт новости кино.

В разработке интерфейсов мы используем библиотеки React и Redux. Сейчас пишем код на ES6, начинаем переходить на TypeScript. Для работы с бэкендом применяем подход backend for frontend. Тесты пишем на Jest, а за стилем кода следит Prettier.

Мы постоянно следим за стабильностью сервиса: смотрим за графиками и оперативно реагируем на аномалии. Любые изменения в коде собираются и проходят автоматические проверки в TeamCity, а затем выкатываются на обязательную инспекцию команде.

Нам важно, чтобы новые функции быстро становились доступными пользователям. Члены нашей команды видят результаты своей работы в действии практически сразу.