Авто.ру — один из ведущих автоклассифайдов, которым ежедневно пользуются миллионы людей для размещения и поиска объявлений о продаже машин. Бэкенд Авто.ру — это микросервисы на Scala, работающие под высокой нагрузкой. 24 часа 7 дней в неделю они обрабатывают тысячи запросов каждую секунду в различных business-critical-сценариях. Также мы пользуемся продвинутой Internal Developer Platform, которая позволяет комфортно работать в DevOps‑парадигме.
Стрим ранжирования находится на стыке бэкенда и ML. Команда отвечает за разработку как непосредственно поисковых и рекомендательных поверхностей — листинга, бесконечных лент, Авто.ру AI, — так и за связанные инфраструктурные составляющие: собственную поисковую платформу, пользовательский фичастор, сервисы поставки и раскладки данных в DWH. Высокие нагрузки в тысячи и десятки тысяч RPS, необходимость держать низкий латенси, автоматизации проверки экспериментов и продуктовых изменений — можно найти задачу на свой вкус. Результаты работы напрямую влияют на опыт миллионов пользователей — какие автомобили они увидят первыми, насколько подходящими будут персонализированные рекомендации и как быстро загрузится лента объявлений.
Наш технологический стек:
* Scala 2.13, ZIO. Рассматриваем кандидатов с опытом на Java/Kotlin, готовых к переходу на Scala — поможем с адаптацией
* gRPC, GraphQL
* YDB, YT, Kafka, Redis, S3
* Prometheus, Grafana
Обязанности:
Продуктовая разработка
Создание и улучшение бэкенд-части алгоритмов ранжирования и персонализации для листинга и рекомендательных поверхностей, проектирование новых сервисов и активное взаимодействие с командами машинного обучения и аналитики.
Развитие инфраструктурной составляющей стрима
Оптимизация производительности и утилизации ресурсов, развитие собственной поисковой платформы, сервисов для раскладки данных в DWH и приёмки экспериментов.
Обеспечение надёжности
Мониторинг работоспособности сервисов, оперативное реагирование на инциденты, участие в дежурствах и построение отказоустойчивых решений.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Ключевые навыки:
- Пишете или готовы перейти на Scala
- Понимаете принципы разработки высоконагруженных систем
- Планировали и проектировали архитектуру сервисов
Дополнительные требования:
- Работали с микросервисной архитектурой
- Разрабатывали и настраивали решения на базе Kafka, Redis, YDB или аналогичных технологий
- Работали с системами мониторинга: Prometheus, Grafana
- Знаете про принципы А/B-тестирования, MLOps
- Знакомы с фреймворком ZIO или другими функциональными подходами в Scala
- Понимаете принципы DevOps, работали с контейнерами и оркестраторами