Мы ищем опытного embedded-разработчика для разработки и сопровождения прошивок микроконтроллеров в составе серверного оборудования.

Задачи связаны не только с написанием прикладной логики, но и с глубокой отладкой периферии, драйверов, прерываний, протоколов обмена и взаимодействия прошивки с реальным железом.

Прошивки работают 24/7 и управляют критичными функциями оборудования: вентиляторами, датчиками, I2C-обменом с BMC, watchdog/liveness - сигналами, механизмом обновления и диагностикой.

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

  • Разработка прошивок для микроконтроллеров на C.
  • Работа с Zephyr RTOS, devicetree, Kconfig, board support package.
  • Настройка и отладка периферии MCU: GPIO, I2C, UART, SPI, PWM, timers, capture/compare, watchdog.
  • Реализация и сопровождение I2C target/slave-протоколов для обмена с BMC.
  • Измерение сигналов PWM/tach, расчет RPM, фильтрация измерений, борьба с jitter и выбросами.
  • Анализ принципиальных схем, datasheet, errata, примеров производителя.
  • Поиск причин зависаний, race condition, проблем с прерываниями, DMA, таймингами и состояниями периферии.
  • Работа с bootloader/update-механизмами, слотами прошивки, CRC, fallback/rollback.
  • Отладка на реальном железе: JTAG, UART logs, осциллограф, логический анализатор.
  • Подготовка production-версий прошивок и отладочных сборок.
  • Участие в CI/CD сборке прошивок и выпуске релизов.

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

  • Уверенный C для embedded: указатели, volatile, memory layout, ISR-safe код, fixed-width types.
  • Опыт разработки прошивок для MCU не менее 3 лет.
  • Практический опыт с RTOS или Zephyr.
  • Понимание работы прерываний, таймеров, захвата входных сигналов, PWM.
  • Опыт с I2C/SPI/UART на уровне регистров или низкоуровневых драйверов.
  • Умение читать datasheet, reference manual, errata и применять их в коде.
  • Опыт отладки проблем, которые проявляются только на железе.
  • Умение работать с осциллографом или логическим анализатором.
  • Понимание production-требований: отказоустойчивость, восстановление после ошибок, watchdog, диагностика.
  • Git, Linux, базовые навыки shell/Python для автоматизации.

Будет плюсом:

  • Опыт с RISC-V микроконтроллерами.
  • Опыт с Zephyr BSP, devicetree, Kconfig, out-of-tree drivers.
  • Опыт с OpenBMC/BMC, PMBus, IPMI, серверным оборудованием.
  • Опыт реализации bootloader или firmware update.
  • Опыт анализа схем и поиска конфликтов GPIO/периферии.
  • Опыт оптимизации RAM/Flash в сильно ограниченных MCU.
  • Опыт сопровождения прошивок в production.

Кто нам не подойдет:

  • Кандидат, который писал только высокоуровневую прикладную логику без работы с железом.
  • Кандидат, который не умеет читать datasheet/errata.
  • Кандидат, который отлаживает проблемы методом случайных правок.
  • Кандидат, который не понимает разницу между багом в приложении, драйвере, периферии и внешнем master-устройстве.
  • Кандидат, который не работал с реальными таймингами, прерываниями и аппаратными состояниями.
Условия:
  • Собственная R&D IT-лаборатория.
  • Официальное трудоустройство по ТК РФ.
  • Полный социальный пакет, включая ДМС.
  • График работы: гибкий, обсуждается.
  • Размер заработной платы: обсуждаем.
  • ИТ-аккредитация. Бронь.