Отдел эффективности решает задачи бизнеса за счёт технологий. Например, до тех пор, пока беспилотное такси не станет повсеместным, критичной для бизнеса будет минимизация простоев водителей для обработки растущего количества заказов. Внутри водительского направления сервисы распределены по группам, решающим разные задачи: * Представьте, что водитель закончил поездку на севере города и решил поехать домой, на юг. Сервисы группы проводника помогут ему найти заказ по пути. У нас реализован собственный алгоритм назначения заказов, который позволяет подбирать заказ для водителя в зависимости от его планов и других обстоятельств. * Нужно, чтобы в определённое время водители ехали в зоны высокого спроса заранее? Бизнес запускается в новом городе, хочется привлечь первых водителей и обеспечить им стабильный доход? Разработкой сервисов для финансовой мотивации водителей занимается группа бонусов. Например, мы гарантируем повышенный коэффициент в области и навигируем туда исполнителей в реальном времени. Или подсчитываем время на линии для выплаты бонусов. * Группа инфраструктуры занимается разработкой сервисов, которые управляют потоками данных в масштабах всего Такси и за его пределами. А ещё создаёт сервисы взаимодействия с водителями, реализующие, например, распределённые транзакции с помощью паттерна Saga. Мы уделяем пристальное внимание проработке архитектуры. Многие механики работают в реальном времени с требованиями по минимальной реакции на события. В ведении сектора находятся более 30 микросервисов, которые обрабатывают несколько сотен тысяч сообщений в секунду, поэтому мы тщательно прорабатываем: * API и межсервисное взаимодействие * Выбор подходящей БД * Взаимодействие с брокерами сообщений и очередями задач * Точки отказа, мониторинги и рубильники на случай проблем Наши технологии: * Сервисы преимущественно на C++20 (асинхронный фреймворк userver) и Python 3 * Базы данных: PostgreSQL, Redis, MongoDB, YDB * Брокеры сообщений (Logbroker) Разработчики в Такси и эффективности часто выступают на конференциях, про наши продукты снимают видео: * Парадоксы трейд-оффа «Скорость — качество» * Как мы переписали «жадный» алгоритм назначения * Режимы «Домой», «По делам» и «Мой район»: как они работают

Обязанности:

Запуск экспериментов, A/B-тестов
Проработкой решений эффективности бизнеса занимаются аналитики. Когда они приходят с новыми идеями, наша задача — грамотно подготовить техническую составляющую эксперимента. С одной стороны, она должна подразумевать минимальные изменения, так как идея ещё не окончательная, с другой стороны, не должны пострадать качество продукта и другие параметры. Реализация новых механик
Мы стараемся делать наши сервисы платформенными и переиспользуемыми, однако внедрение новых механик может потребовать значительных доработок существующих сервисов или даже создания новых. Вам предстоит решать классические для распределённых систем проблемы гонок данных, оптимизаций миллисекунд и грамотной работы с БД. Архитектурные изменения сервисов
Такси — крупная, но достаточно гибкая инфраструктура, состоящая из более чем 800 микросервисов. Кроме того, решения эффективности часто используются другими бизнесами в рамках Екома и Райдтеха. Поэтому, чтобы повысить надёжность и доступность наших сервисов, мы активно внедряем новые технологии и архитектурные решения. Например, именно в отделе эффективности начинались внедрение доменной модели (DOMA) и переход на событийную модель (event sourcing).

Ключевые навыки:

  • Пишете на C++ или готовы на него перейти
  • Имеете опыт разработки распределённых систем
  • Знакомы с реляционными базами данных