Вакансия в архиве
Компания больше не ищет сотрудника. Посмотрите похожие предложения
Яндекс Такси

Старший разработчик (Платформа отказоустойчивости)

в Яндекс Такси

200 000 —‍ 400 000 ₽/мес на руки

📍 Санкт-ПетербургМоскваПолная удалёнка
Специализация
С / С++
Уровень
Senior
Команда
6 - 10 человек

Яндекс.Такси — сервис, осуществляющий онлайн-заказ такси и каршеринга.

Технологии/инструменты

C++

О проекте

Мы формируем команду платформы отказоустойчивости Такси, которая будет отвечать за стабильную работу бэкенда приложений Яндекс Go и Яндекс Про. Для этого нам предстоит решить множество технических проблем, например:

Вхождение сервисов в metastable failure state при перегрузке СУБД.

Примеры возможных решений:

  • Перейти на Envoy как Reverse Proxy, включить фильтр Adaptive Concurrency, а по пути решить массу сложностей.
  • Настроить Load Shedding прокси перед СУБД.

Нетестируемые фолбэки.

Примеры возможных решений:

  • Построить хороший application-level chaos engineering. У нас уже есть простой chaos engineering, нужно его усилить. Например, с помощью похожего решения.
  • Создать инфраструктуру или внедрить паттерн constant work для фолбэков: всегда параллельно обращаться к логике фолбэков.

Некритичные сервисы могут ухудшать стабильность Такси, особенно в самом сложном случае — при росте Latency.

Примеры возможных решений:

  • Улучшить или переработать circuit breakers.
  • Улучшить chaos engineering.

Нехватка эластичности сервисов, балансеров и СУБД при всплесках нагрузки в 2–4 раза после инцидентов.

Примеры возможных решений:

  • Перейти на балансировку через локальный Sidecar, а не через отдельный под. Например, перейти на Envoy.
  • Сформировать инфраструктуру для большей мультитенантности в СУБД и сервисах со всеми гарантиями по изоляции тенантов.
  • Поддержать автоскейлинг подов.

Мы описали только примеры возможных решений, выбор которых всегда остаётся за разработчиком.

Команда платформы отказоустойчивости будет плотно работать с CTO, командой SRE и другими платформенными командами.

Что нужно делать

  • Проектировать надёжные системы в микросервисной архитектуре, которые будут работать не только в корнер-кейсах под обычной нагрузкой, но и под многократной нагрузкой при даунтаймах.
  • Уметь делать быстрый ресёрч: как в мире решают текущую проблему и каков State of the Art в этой области; разобраться в деталях работы конкретной технологии, например MongoDB.
  • Разрабатывать, разворачивать и внедрять решения, участвовать в разборе инцидентов, обучать разработчиков отказоустойчивым паттернам.
  • Писать код сервисов и библиотек (в том числе инфраструктурных), за которые команда не отвечает напрямую.
  • Влиять на аптайм. Например, результат разработки автоскейлинга — не просто его запуск, а фактическое сокращение даунтаймов за счет автоскейлинга.
  • Работать с сотнями микросервисов (в Такси их уже больше 600).

Ожидания

  • Знаете один или несколько языков программирования.
  • Понимаете базовые паттерны микросервисных архитектур: Circuit Breaker, Deadline Propagation, Exponential Back-off, очереди задач и сообщений, отсутствие общих баз между сервисами и т. п.
  • Готовы отвечать за решение проблемы, а не за реализацию того решения, которое выбрал руководитель или техлид.
Анастасия Чупрынина Recruiter
Яндекс Такси

О компании Яндекс Такси

Сфера
Продуктовая компания
Размер
1001+

Яндекс Такси — сервис, осуществляющий онлайн-заказ такси и каршеринга. Одним из продуктов компании является такси для бизнеса. С 2017 года развивают направление беспилотных автомобилей. В августе 2020 года был запущен Яндекс Go, объединивший сразу несколько сервисов Яндекса, кроме онлайн-заказа такси, приложение объединяет сервисы каршеринга, заказ еды, экспресс-доставку продуктов, отслеживание движения общественного транспорта и грузоперевозок.

Похожие вакансии

7 000 – 8 000 $/мес на руки
Полная удалёнка
7 000 – 10 000 $/мес на руки
Полная удалёнка
6 000 – 9 000 $/мес на руки
Полная удалёнка
4 200 – 6 600 €/мес на руки
Полная удалёнка
400 000 – 500 000 ₽/мес на руки
📍 Москва (м. Парк культуры), офис или гибрид