Разработчик бэкенда операционного продукта Драйва
Яндекс Драйв — один из крупнейших сервисов каршеринга в России. Каждый день тысячи пользователей арендуют у нас машины, а за каждой поездкой стоит сложная система, которую мы непрерывно развиваем. Бэкенд Драйва включает десятки микросервисов на C++ и Go, обрабатывает тысячи RPS, интегрируется с десятками внешних систем и содержит большой объём бизнес-логики, которую нужно поддерживать надёжной и быстрой.
Мы ищем senior-разработчика в команду стрима качества. Вам предстоит развивать инструменты и процессы, без которых бизнес не может работать: документооборот, взаиморасчёты с партнёрами, интеграции с государственными и коммерческими системами.
У нас микросервисная архитектура: сервисы на C++ (userver) и Go (Goliath), PostgreSQL как основное хранилище, YT для аналитики и отчётности, Python с Testsuite для тестирования. Мы уделяем много внимания проектированию архитектуры и обоснованности технических решений, надёжности и observability сервисов — особенно там, где цена ошибки высока, а также качеству кода и покрытию тестами, в том числе интеграционными.
Задачи и обязанности
Внешние интеграции
Драйв взаимодействует с десятками внешних систем. Вы будете проектировать и реализовывать новые интеграции, обеспечивать их надёжность и наблюдаемость, а также рефакторить и переводить на современный стек накопившиеся легаси-решения.
Документооборот и взаиморасчёты
Каждая поездка создаёт юридически значимые документы: договоры, акты, счета-фактуры. Нужно обрабатывать расчёты с арендодателями, страховщиками и агентами. Вы будете развивать систему автоматического формирования документов, реализовывать логику взаиморасчётов и сверок, следить за корректностью данных даже при сбоях и ретраях.
Разработка инструментов поддержки бизнеса
Операционная команда Драйва ежедневно обрабатывает тысячи событий: инциденты с автомобилями, споры с пользователями, проверки состояния парка. В стриме качества вы будете создавать внутренние инструменты и административные панели, которые ускорят и упростят работу, сократят количество ручных операций и минимизируют человеческий фактор.
Надёжность и наблюдаемость
Сбой в процессинге взаиморасчётов или потеря документа — это не просто баг, а юридический и финансовый риск. Вы будете работать над качеством: обеспечивать идемпотентность операций, транзакционность, алертинг, аудит-логи.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Уверенно пишете на C++ (17/20) или Go
- Знаете экосистему Яндекса: userver, Goliath, Arcadia, UT-фреймворки
- Проектировали распределённые системы и понимаете их тонкие места: консистентность, идемпотентность
- Умеете работать с PostgreSQL
- Работали с REST, gRPC, брокерами сообщений
- Способны самостоятельно вести задачу от постановки до прода, общаться с продуктом и бизнесом
Дополнительные требования
- Работали с Testsuite или писали интеграционные тесты для микросервисов
- Работали с финансовым или юридически значимым документооборотом
- Работали с YT/MapReduce для построения отчётности
- Участвовали в разработке внутренних платформ или инструментов для нетехнических команд