Инженер-программист встраиваемых систем (Embedded Software Engineer) БПЛА

Работодатель:
Зарплата:
250 000 руб.
Опыт работы:
От 3 до 6 лет
Место работы:
Москва, Покровская улица

Направление: Бортовые системы БПЛА

О роли:

Мы ищем инженера-программиста для разработки и сопровождения отказоустойчивого ПО бортовых вычислительных комплексов беспилотных летательных аппаратов.

Работа охватывает полный стек — от драйверов нижнего уровня на «голом железе» до
middleware-сервисов на Linux и интеграции с экосистемой ROS.

Если вы способны одновременно думать фронтом сигнала на ножке МК и графиком
топика в PlotJuggler — эта позиция для вас.

Чем предстоит заниматься:

  • Проектирование и разработка firmware на C++ для микроконтроллеров STM32F4/G4 (FreeRTOS, HAL/LL, работа с регистрами напрямую).

  • Разработка и отладка конечных автоматов (FSM) для критической логики безопасности:
    Fail-Safe, защита от ложных срабатываний, аппаратные и программные watchdog-таймеры.

  • Написание низкоуровневых драйверов периферии без блокирующих вызовов: EXTI, DMA, таймеры Capture/Compare, I2C/SPI в неблокирующем режиме.

  • Реализация обмена по шине CAN/CAN-FD с использованием протокола
    DroneCAN (UAVCAN v0/v1), включая работу с libcanard.

  • Разработка bridge-сервисов на Python 3 под Linux: трансляция данных между
    CAN-шиной и ROS1 (rosserial, publisher/subscriber-ноды, кастомные сообщения).

  • Диагностика и устранение аномалий: HardFault, джиттер прерываний, Race Conditions, некорректная синхронизация в многозадачной среде FreeRTOS.

  • Сопровождение сборочной инфраструктуры: CMake, Ninja, кодогенерация
    (парсинг DSDL, генерация C++-заголовков).

  • Макетирование и сборка стендов для разрабатываемых устройств: подключение
    периферии, отладочных интерфейсов и измерительного оборудования.

  • Ведение проекта в GitLab: работа с ветками, MR/CR, настройка и сопровождение
    пайплайнов CI/CD (сборка, прогон тестов, автодеплой артефактов).

  • Участие в проведении ревью кода и формировании командных стандартов разработки.

Обязательные требования:

Языки и платформы

  • C/C++ (C++14/17) — уверенное владение; понимание специфики критических систем:
    отказ от RTTI, исключений и динамической памяти в real-time контексте.

  • Python 3 — написание устойчивых к сбоям системных демонов, корректная обработка исключений, управление ресурсами ОС (файловые дескрипторы, сокеты).

  • ROS1 (Noetic) — разработка нод, работа с publisher/subscriber,
    кастомными типами сообщений, параметрами и launch-файлами.

Микроконтроллеры и периферия

  • Архитектура ARM Cortex-M: работа с регистрами, CMSIS, HAL/LL STM32.

  • Периферия: CAN, I2C, SPI, UART, EXTI, DMA, таймеры (PWM, Capture/Compare).

  • FreeRTOS: задачи, очереди, мьютексы, семафоры, корректная синхронизация,
    предотвращение Race Conditions и дедлоков.

Сериализация и передача данных

  • Глубокое понимание упаковки данных: побитовые операции, выравнивание памяти
    (padding), порядок байт и бит (Endianness, LSB/MSB first).

  • Опыт работы с бинарными протоколами (CRSF, SBUS, DroneCAN, кастомные фреймы).

Инструментарий

  • GCC ARM Toolchain, CMake, Git.

  • Навыки работы с логическими анализаторами (Saleae Logic и аналоги): захват и декодирование протоколов на шине — UART, SPI, I2C, CAN, CRSF, SBUS и других.

Желательные требования:

  • ROS2 (Humble/Iron) — базовое понимание архитектуры, DDS, отличий от ROS1.

  • PlotJuggler — построение и анализ временны́х рядов телеметрии; создание custom
    плагинов или скриптов трансформации данных будет существенным преимуществом.

  • DroneCAN/UAVCAN v1 — работа с libcanard v1, расчёт DSDL-сигнатур,
    генерация кода через nunavut.

  • Опыт тестирования firmware в эмуляторах (QEMU) в контуре CI/CD (GitLab CI).

  • Опыт работы с осциллографом для анализа аналоговых сигналов и временны́х диаграмм.

  • Прототипирование устройств и быстрая проверка гипотез на базе Arduino.

Мы предлагаем:

  • Официальное трудоустройство по ТКРФ;
  • "Белую" зп до 250.000 руб. включительно (после вычета налогов) И ВЫШЕ;
  • Гибридный, либо офисный формат работы;
  • Технику для работы;
  • Интересные проекты на переднем крае развития БЛА;
  • Креативный и дружный коллектив профессионалов.

Оставляйте отклик и пишите сразу в телеграм!

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

Инженер-конструктор
ГЭХ Теплостройпроект

Высшее образование (профильное техническое). Знание и применение нормативной документации (СНиП, СП, ГОСТ, ЕСКД, СПДС). Умение работать в программах: Excel, AutoCAD...

Инженер по автоматизации тестирования
Перфоманс Лаб

Опыт построения тестовой модели/тест кейсов на основе аналитики и архитектуры приложения. Знание жизненного цикла программного обеспечения и теории тестирования.

140 000 руб.
Дежурный инженер Linux
Diamond Personnel R&C

Опыт сопровождения программного обеспечения (предпочтительно написанного на Java/C++). Уверенные знания LINUX. Опыт администрирования операционных систем семейства Linux/Unix (предпочтительно...

Инженер-технолог программист станков с ЧПУ
The Skolkovo Institute of Science and Technology

Высшее образование. Опыт работы с CAD и CAM-системами (Siemens NX будет приемуществом). Знание языка УП «G-кодов».

Инженер 3D - моделирование (строительство)
Велесстрой

Высшее инженерно-техническое, строительное, архитектурное образование. Владение программами Revit, Архикад, Носорог, 3DS Max. Уверенный пользователь Word, Excel, Outlook.

180 000 руб.