АПИСЕРВИС

Embedded C++ разработчик (микроконтроллеры, радио)

Не указана
  • Курск
  • От 3 до 6 лет

Кто нам нужен:

Разработчик прошивок под микроконтроллеры. Текущие задачи – ESP32 + LoRa, но проекты меняются: завтра может быть другой чип, другой радиомодуль, другой класс устройств.
Ищем человека, который понимает embedded как класс задач, а не как конкретный чип или фреймворк.

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

  • Писать прошивки на C++ под микроконтроллеры с ограниченными ресурсами.
  • Работать с радио: LoRa и подобные, опционально BLE / Wi-Fi / GSM.
  • Проектировать и реализовывать сетевые и протокольные слои (mesh, point-to-point, телеметрия).
  • Интегрировать датчики и периферию через стандартные шины.
  • Отлаживать “вживую”: логи, осциллограф, логический анализатор, JTAG.
  • Поддерживать несколько вариантов прошивки из одной кодовой базы.

Требования:

1. Обязательно:

  • C++ на embedded – 3+ года реальной практики, не любительские проекты.
  • C – умение читать и при необходимости писать.
  • Опыт с RTOS – FreeRTOS или аналог, понимание задач, синхронизации, приоритетов.
  • Радио и беспроводная связь – общее понимание PHY/MAC, опыт хотя бы с одной технологией (LoRa, BLE, Wi-Fi, Zigbee и т.п.).
  • Шины и интерфейсы – I2C, SPI, UART на уровне “знаю как работает и могу отладить”.
  • Сборочные системы – хотя бы одна из: PlatformIO, CMake, ESP-IDF, Make, Zephyr.
  • Сериализация для embedded – protobuf/nanopb, CBOR или собственные бинарные форматы.
  • Git – ветки, мержи, ребейзы, разрешение конфликтов.
  • Чтение даташитов – умение находить нужное в большом документе.
  • Английский – технический, на чтение.
  • 2. Желательно:
  • Опыт с несколькими разными МК-семействами (ESP32, STM32, nRF52, RP2040, AVR и т.д.) – чем больше разных платформ, тем лучше.
  • Bare-metal программирование без RTOS.
  • Опыт с разными радиомодулями и стеками (SX126x/127x/128x, nRF24, BLE, Wi-Fi).
  • Power management: deep sleep, борьба за низкое потребление.
  • Криптография на embedded (AES, ChaCha20, mbedTLS).
  • OTA / firmware update.
  • Промышленные шины – CAN, Modbus, RS-485.
  • 3. Будет плюсом:

  • Схемотехника на уровне чтения схемы и работы с тестером.
  • Пайка SMD, работа с программаторами (J-Link, ST-Link, ESP-PROG).
  • Опыт реверса/анализа чужих устройств и протоколов.
  • Linux на встраиваемых системах (buildroot, Yocto).
  • Базовое понимание мобильной разработки – часто на другом конце шины сидит приложение.

Текущий стек:

ESP32, PlatformIO, Arduino-ESP32 / ESP-IDF, FreeRTOS, RadioLib, nanopb, LittleFS, GitLab.
Стек меняется от проекта к проекту – ищем не “знатока этих библиотек”, а человека, который быстро въезжает в новый SDK.

Что мы оцениваем:

Способность читать чужой большой C++ код.

Понимание trade-off’ов на embedded: память vs скорость, flash vs RAM, ISR-safety.

Привычка читать даташит, а не гуглить готовые решения.

Дисциплина в коммитах: маленькие осмысленные коммиты, чистая история.

Самостоятельность в отладке – гипотезы и проверки, а не “не работает, помогите”.

Умение сказать “не знаю” вместо размытых ответов.

Условия:

  • Оформление по ТК РФ, полный соц. пакет.

  • Испытательный срок до трех месяцев.

  • Пятидневная рабочая неделя с 9-00 до 18-00 (оговаривается при собеседовании)

  • Дружный молодой коллектив.

  • Комфортный офис.