Программист

Дата размещения вакансии: 12.01.2026
Работодатель: РБС Гарпия
Уровень зарплаты:
от 220000 RUR
Город:
Москва
Илимская улица 5к2
Требуемый опыт работы:
От 1 года до 3 лет

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

1. Разработка и поддержка ПО на базе ArduPilot:

  • Разработка новых модулей, функций и алгоритмов для прошивки ArduPilot (C/C++);
  • Внесение изменений в существующий код ArduPilot (планировщики, навигация, сенсорика, драйверы);
  • Участие в код-ревью, подготовка pull-request’ов в основное сообщество ArduPilot при необходимости;
  • Настройка параметров и адаптация ArduPilot под нестандартные конфигурации БВС.

2. Разработка низкоуровневого ПО под STM32:

  • Создание и поддержка прошивок под микроконтроллеры STM32 (HAL/LL, FreeRTOS или bare-metal);
  • Разработка драйверов для датчиков, периферийных интерфейсов (SPI, I2C, UART, CAN, PWM, ADC и др.);
  • Оптимизация производительности и энергопотребления на уровне микроконтроллера;
  • Отладка с использованием ST-Link, JTAG, логических анализаторов.

3. Интеграция ArduPilot с внутренними системами компании:

  • Разработка внутренних модулей обмена данными, протоколов телеметрии, диагностических сервисов;
  • Адаптация прошивки под фирменные платы и оборудование компании;
  • Разработка приложений/скриптов для внутренних инструментов;
  • Разработка и поддержка CI/CD для сборки прошивок и внутренних сервисов.

4. Тестирование и валидация:

  • Проведение модульных и интеграционных тестов;
  • Тестирование прошивок на реальном оборудовании, стендах и симуляторах (SITL, HITL);
  • Анализ логов полётов и данных датчиков, поиск причин отказов и нестабильностей;
  • Подготовка технической документации по изменениям.

5. Участие в инженерных процессах:

  • Взаимодействие с командой электроники, механики, QA и инженерами по эксплуатации;
  • Поддержка внутренних стандартов кодирования, качества и безопасности;
  • Участие в планировании, оценке задач, техническом дизайне архитектуры.

Требования:

1. Языки программирования:

  • Уверенное владение C/C++ (embedded, real-time системы);
  • Понимание шаблонов, работы с памятью, оптимизации под MCU;
  • Желательно знание Python для инструментов и автоматизации.

2. STM32 и embedded:

  • Глубокие знания архитектуры ARM Cortex-M (STM32F*, STM32H* и др.);
  • Опыт работы с HAL/LL, FreeRTOS или RTOS-подобными системами;
  • Опыт разработки драйверов железа и периферии;
  • Умение работать с отладчиками, логическими анализаторами, осциллографами.

3. ArduPilot:

  • Знание архитектуры ArduPilot: AP_HAL, AP_NavEKF, ArduCopter/ArduPlane/ArduRover;
  • Опыт портирования драйверов и модулей или их доработки;
  • Опыт сборки прошивок и работы с SITL/HITL;
  • Понимание MAVLink и инструментов GCS (Mission Planner, QGroundControl).

4. Алгоритмы и математика:

  • Понимание основ фильтрации (EKF, Kalman), сенсорного слияния;
  • Базовые знания навигации, управления, PID-регуляторов;
  • Основы аэродинамики / робототехники — плюс.

5. Будет преимуществом:

  • Опыт разработки под другие RTOS или микроконтроллеры (NXP, ESP32 и др.);
  • Опыт контрибьюторства в Open Source проектах;
  • Знания в области систем беспилотников, автопилотов, робототехнических платформ;
  • Опыт разработки собственных плат и понимание схемотехники на уровне чтения даташитов;
  • Владение Git, CMake, Jenkins/GitLab CI.​​​​​​​​​​​​​​

Условия:

  • Полный рабочий день 5/2, с 9:00 до 18:00;
  • Работа в комфортабельном офисе;
  • Устройство в соответствии с ТК РФ;
  • Вся зарплата выплачивается на карту 2 раза в месяц;
  • ДМС после окончания испытательного срока;
  • Дружный коллектив.