freehire launches on Product Hunt on 26 August.

Follow →

Старший разработчик бэкенда в Проводник

Open 15d

Summary

Senior backend engineer building a cross-platform routing service for Yandex’s mobility products, optimizing high-load distributed systems and matching algorithms for drivers and orders.

Мы разрабатываем Проводник — кросс-платформенный продукт, доступный в Такси, Яндекс Доставке и Яндекс Еде. Ищем опытного старшего бэкенд-разработчика с перспективой быстрого роста до технического лидера. Вам предстоит развивать сервис с технической и продуктовой сторон.Разработка кросс-платформенных фич
При разработке фич вам предстоит учитывать, что основу сервиса составляют унифицированное ядро и протокол взаимодействия с системой распределения заказов и клиентом. Благодаря этому удаётся сохранять единую логическую кодовую базу и разделять функциональность для автомобилистов, велосипедистов и пешеходов на уровне протокола взаимодействия бэкенда и клиента, а также на уровне данных (например, дорожных маршрутов), которыми оперирует бэкенд. Решение архитектурных задач высоконагруженного распределённого сервиса
Вы будете оптимизировать и актуализировать архитектурные решения, которые со временем перестают эффективно справляться со своими задачами: в пиковое время в режимах Проводника одновременно находятся около 170 тысяч человек, сервис ежесекундно проверяет около 80 тысяч пар «заказ — исполнитель», оценивает примерно 200 тысяч дорожных маршрутов. Каждый год продукт растёт на 20–40%. Разработка и улучшение алгоритмов подбора заказов по пути и в районе
Вам предстоит развивать продукт за счёт новых или комбинации базовых механик. Примеры простых кейсов: поездка в конце рабочей смены домой с попутными заказами; подбор заказов внутри окружности. Мы заменили окружность на комбинации сложных полигонов, а поездки по пути в точку расширяем до поездок по пути в полигон. Выстраивание Проводника как платформы для создания новых продуктов
Проводник существует не только как самостоятельный продукт — он представляет собой систему, которая позволяет перемещать водителей внутри города или иной географии. Примеры: система быстрой подачи такси на основе FIFO-очереди водителей на парковках аэропортов (наполнение такой очереди реализовано через Проводник); режим «Обратно» в междугородних поездках (Проводник помогает подобрать заказ на обратном пути). Двигаемся в сторону модели Backend as a service. Эффективное распределение водителей по городу
Мы знаем, где и когда возникает повышенный спрос на такси, и у нас есть система перемещения водителей. На стыке этих двух фактов мы построили сервис, который предлагает водителям поехать туда, где они особенно нужны. Вам предстоит улучшать качество данных и скорость работы сервиса, чтобы предложения о перемещении были ещё лучше и полезнее. Больше о бэкенде в Яндексе — в канале Yandex for Backend* Работали с бэкендом, проектировали архитектуру сервисов * Использовали реляционные базы данных, в идеале PostgreSQL * Разрабатывали в Unix-подобных системах: Linux, macOS (терминал, cmake/make, Python/Bash-скрипты не вызывают панику) * Понимаете, как клиенты (другие сервисы, мобильное приложение) работают с бэкендом, знаете, что такое идемпотентность * Знаете C++/STL или готовы к быстрому погружению, а также знаете классические алгоритмы и структуры данных* Работали с высоконагруженными или распределёнными системами * Строили системы, в которых возможны и учтены гонки данных * Работали с MongoDB, Redis или Valkey

See also

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available