
яндекс · 27 мая
Яндекс Музыка — это миллионы пользователей, сотни тысяч RPS и десятки микросервисов. Наша команда разрабатывает продуктовую платформу бэкенда Музыки, благодаря которой запускаются новые продукты, фичи и появляются новые интеграции. В платформу входят, например, API основных музыкальных сущностей — треков, альбомов и артистов, вычисление доступности и ограничений на контент, раздача аудиофайлов, A/B-эксперименты, профиль пользователя, таргетирование контента на пользователей, синхронное прослушивание с разных устройств и многое другое.
Наши технологии: Java 17, Spring Boot, MongoDB, YDB, Redis, MapReduce на кластерах Яндекса, микросервисная архитектура
Команда бэкенда Музыки состоит из множества команд и сейчас насчитывает более сорока разработчиков. В нашей команде продуктовой платформы пять человек: трое в Москве и двое в Санкт-Петербурге. Мы активно взаимодействуем с другими продуктовыми группами, командой инфраструктуры и эксплуатации, разработчиками мобильных приложений и веб-интерфейсов, менеджерами и тестировщиками. На общих встречах обсуждаем запуски и планы бэкенда, ретроспективы, ведём технические дискуссии и архитектурные прения.
Вот примеры проектов, которые мы недавно запустили
* Музыкальный профиль пользователя
* Группировка устройств для синхронного прослушивания
* Тиндер-визард, который помогает настраивать музыкальные предпочтения
Проектирование и разработка новых микросервисов
У нас нет системных аналитиков и архитекторов, поэтому разработчики самостоятельно уточняют функциональные требования к фиче, составляют нефункциональные требования, проектируют архитектуру, представляют на ревью команде и далее реализуют задуманное до внедрения в продакшен.
Платформизация решений
Одна из задач нашей команды — сделать так, чтобы добавление новых клиентов, платформ и стран было максимально простым и безболезненным. Мы стараемся сделать нашу архитектуру и код гибкими, заранее учитывающими будущие возможные запуски и интеграции.
Быстрая разработка и запуск экспериментальных проектов
Иногда стабильность и архитектура уходят на второй план, когда нам нужно быстро проверить продуктовую гипотезу. Например, запустить аналог «Моей волны» в отдельном микросервисе или адаптировать результаты лучшего поиска.
Оптимизация
Многие из наших компонентов являются высоконагруженными и критичными для пользователей. Поэтому мы по максимуму оптимизируем ресурсы и скорость работы сервисов, повышаем их надёжность и обеспечиваем отказоустойчивость.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
* Отлично разбираетесь в Java
* Знаете базовые алгоритмы и структуры данных, а также области их применения
* Работали с реляционными и нереляционными базами данных
* Самостоятельно прорабатывали продуктовые проекты
* Проектировали архитектуру для продуктовых фич
* Писали автотесты для проверки своего кода
* Способны быстро погружаться в кодовую базу и использовать широкий спектр технологий
* Умеете и любите работать в команде
* Понимаете принципы микросервисной архитектуры
* Разрабатывали высоконагруженные распределённые системы
* Умеете эффективно работать со смежниками
* Любите музыку и всё, что с ней связано