Разработчик на С++/Python (Система управления флотом роботов)

Зарплата 250000 - 450000р.
Компания Яндекс
Город Москва
Требуемый опыт От 3 лет
Опубликована 6 февраля 2025 г.

Направление робототехники Яндекса — молодое и очень многообещающее. За несколько лет мы разработали и запустили на складах Яндекса три типа роботов, откатали несколько внешних пилотов и активно планируем новые запуски.

Мы ищем разработчика со знанием С++ или Python в инфраструктуру робототехники подразделения систем управления флотом.

Наша команда разрабатывает среду для жизни роботов и инструменты для управления флотом: всё от автоматизации наливки и системы деплоя на роботов до управления конфигурациями и экспериментами.

Наши роботы работают во внешнем относительно дата-центров мире. Поэтому к ним невозможно применить обычные способы управления кластерами серверов, рассчитанные на хорошую связность. При этом задачи схожи: нам нужно довозить пользовательскую нагрузку, управлять вычислительными ресурсами роботов, оркестрировать выкатку с учётом ширины сетевого канала. Кроме того, у вычислителей роботов иерархическая структура, и нам нужно доставлять код на все уровни.

Какие задачи вас ждут

  • Разработка системы деплоя пользовательской нагрузки.

Вам предстоит делать систему деплоя пользовательской нагрузки на древовидные вычислительные мощности роботов, улучшать технологии CI/CD для кода различных вычислительных систем роботов, масштабировать системы управления роботом и повышать их доступность.

  • Разработка агентов управления на роботе.

Агенты приводят робота к целевому состоянию, которое описано в спецификации, получаемой от системы управления флотом. В частности, агенты скачивают и обновляют контейнеры с пользовательской нагрузкой, устанавливают необходимые версии пакетов и обновляют конфигурацию всех компонентов робота. Роботы состоят более чем из одного вычислителя, поэтому нам требуется приводить к целевому состоянию их все.

  • Автоматизация процессов создания и эксплуатации робота.

Вас ждут удобная и быстрая наливка вычислителей робота с помощью одной команды, инструменты для создания робота из набора модулей в WebUI, автоматическое журналирование всех операций с роботом с привязкой к календарю, механизмы напоминания о техническом обслуживании, запуск и анализ экспериментов. И многое-многое другое, что позволяет удобнее работать с нашим флотом.

Мы ждём, что вы

  • Уверенно владеете Python или С++.
  • Знаете классические алгоритмы и структуры данных.
  • Уверенный пользователь Linux.
  • Находили и устраняли проблемы в больших и сложных системах.
  • Готовы брать на себя ответственность.
  • Имеете опыт работы 3–6 лет.

Будет плюсом, если вы

  • Владеете Go и Bash.
  • Знакомы с системами лёгкой виртуализации, в частности LXC, Docker.
  • Участвовали в разработке систем деплоя или CI/CD.
  • Использовали реляционные СУБД, например MySQL или PostgreSQL.
  • Работали с ROS и ROS2.