Senior Embedded-разработчик (C++)
Описание
Локация: Москва, работа на месте работодателя.
Компания
Российский разработчик и производитель робототехнических изделий, комплексов и собственных ИТ-решений.
Что делать
Проектировать архитектуру программного обеспечения рабочей станции, включая модель выполнения, распределение ресурсов и бюджет задержек.
Разрабатывать энергонезависимую очередь событий, передачу данных по HTTPS с идемпотентностью и прием команд по MQTT.
Реализовывать защиту устройства: ключи, доверенную загрузку, обновление прошивки с проверкой подписи и откатом.
Разрабатывать обмен с периферией через RS-232, UART, SPI и Ethernet.
Создавать хостовые тесты, проводить сравнительное тестирование с эталонной реализацией и участвовать в создании аппаратного стенда.
Проводить код-ревью, наставлять разработчиков, готовить программную документацию по ЕСПД и участвовать в испытаниях.
Требования
От 5 лет опыта разработки встраиваемого ПО на C++, включая не менее 2 лет ответственности за серийное устройство.
Знание C++17/20, разработки без динамического выделения памяти, модели памяти и атомарных операций.
Опыт работы с FreeRTOS или другой RTOS, lwIP, mbedTLS и MQTT-клиентом на микроконтроллере.
Опыт хранения данных в энергонезависимой памяти с учетом износа и сбоев питания, а также реализации обновления прошивки с откатом.
Навыки отладки через JTAG или SWD, работы с логическим анализатором и осциллографом; умение читать электрические схемы.
Опыт работы с CMake, статическим анализом, Git и CI; умение письменно обосновывать технические решения.
Опыт применения ИИ-инструментов в разработке с проверкой и пониманием результата.
Хорошо, если есть
Опыт работы с ESP-IDF, встраиваемым Linux на базе Buildroot или Yocto, Rust, Embassy или RTIC.
Опыт работы с Mifare DESFire, SAM, OSDP, secure boot и шифрованием памяти.
Опыт работы по ЕСКД и ЕСПД, а также участия в испытаниях с военным представительством.
Культура и преимущества
Официальное трудоустройство по ТК РФ с первого дня.
Полностью официальная заработная плата без задержек.
График 5/2, с 09:00 до 18:00, с обеденным перерывом.
ИТ-команда создается с нуля, с возможностью влиять на архитектурные решения с начала работы над проектами.