Яндекс ставит перед собой масштабную цель — создать технологию автономного транспорта, которая была бы надёжнее человека за рулём. Мы развиваем автономные автомобили и роботов доставки. Обе эти системы включают огромное количество компонентов, начиная с оборудования и заканчивая алгоритмами распознавания объектов и принятия решений.
Мы занимаемся разработкой и поддержкой ядра этой системы — программной платформы для всего автономного транспорта Яндекса: от роботов доставки до легковых машин и грузовиков. Поверх нашей инфраструктуры работают сотни нод, которые обрабатывают десятки тысяч сообщений в секунду.
Ищем как сильных разработчиков, так и руководителей в команду, которая строит отказоустойчивый и эффективный фундамент автономного транспорта.
Какие задачи вас ждут:
- Развитие ключевых компонентов платформы
Вы будете создавать и улучшать базовую инфраструктуру: систему конфигурации, механизм запуска пайплайнов, транспорт и диагностическую систему. Главный вызов здесь — обеспечить предсказуемое выполнение критичных операций и стабильные тайминги, выполняя жёсткие реалтайм-требования. - Разработка фреймворка для исполнения бизнес-логики
Предстоит разрабатывать решения, которые работают как в реальном времени на самом транспорте, так и в симуляции — с абсолютными гарантиями детерминизма и воспроизводимости. Особое внимание мы уделяем удобству для внутренних пользователей: созданию понятных API, интерфейсов и стабильных контрактов.
-
Обеспечение отказоустойчивости и оптимизация
Система должна быть устойчива к сбоям и деградациям подсистем в условиях работы сразу на нескольких хостах внутри одной машины. Также вы будете улучшать наблюдаемость системы (проводить диагностику, liveness-проверки) и фокусироваться на скорости и эффективности: оптимизировать алгоритмы и код под минимальные задержки и строгую экономию CPU и памяти. -
Управление командой и процессами
Если вы присоединитесь к нам в роли лида, вам предстоит развивать команду инженеров, выстраивать технические процессы работы над платформой, управлять приоритетами и определять архитектурный вектор развития.
Мы ждем, что вы:
- Работали с Unix-системами
- Уверенно владеете С++ и знаете тонкости многопоточного программирования
- Умеете проектировать надёжные распределённые системы и стабильные API
- Управляли командой
Будет плюсом, если вы:
- Писали код с жёсткими требованиями к performance и latency (реалтайм-системы)
- Разрабатывали сетевые транспорты или системы обмена сообщениями