Инженер-программист Embedded (MCU) Отклик на сайте компании

Зарплата не указана
Москва
Опыт более 6 лет Гибрид Постоянная работа Ведущий специалист (Lead) Разработка

Мы ищем инженера-разработчика встраиваемых систем (Embedded Engineer) в отдел встраиваемых систем, чтобы разрабатывать, тестировать и поддерживать прошивки модулей, входящие в продукты компании Yadro.

Разработчик будет, с одной стороны, поддерживать существующие прошивки путем фикса багов и рефакторинга. С другой стороны - разрабатывать прошивки для новых модулей, входящий в состав продуктов компании. К примеру, в одном сервере от 10 микроконтроллеров и больше, которые могут быть расположены на разных платах. Таким образом, разработчик вносит свой вклад в работоспособность большого сервера и обеспечивает его безотказную работу. Также разработчик будет разрабатывать тесты, покрывающие функционал реализованного кода для постоянного регрессионного тестирования.

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

  • Разработка встраиваемого ПО (прошивок) для микроконтроллеров ARM (STM32, GD32), MIPS, RISC-V на языке Си.
  • Поддержка и рефакторинг существующего встраиваемого ПО.
  • Разработка и поддержка документации для прошивок (вики-страниц).
  • Соблюдение внутренних стандартов на разработку \ ведение документации \ ведение проектов.
  • Работа в команде, используя гибкие методологии разработки.
  • Участие в процессах разработки и поддержки продукта - взаимодействие с менеджерами, тестировщиками, инженерами из других отделов.

Мы ждем от будущего члена команды:

  • Знание Cи на высоком уровне.
  • Умение и желание писать качественный читаемый поддерживаемый код по внутренним стандартам компании.
  • Знание Python и Bash на уровне - "написать скрипт для автоматизации сборки прошивки".
  • Знание и умение пользоваться gcc, gdb, openOCD.
  • Знание Make, понимание работы системы сборки на Makefile.
  • Знание и умение пользоваться Git по gitflow с ветками PR и тд.
  • Знание и умение писать unit-тесты / функциональные тесты.
  • Опыт разработки под STM32 и/или аналогах (GD32).
  • Опыт разработки Bare-Metal и RTOS.
  • Опыт разработки драйверов.
  • Знание интерфейсов - USB, UART, I2C, SPI, CAN.
  • Элементарные навыки пайки и работы с измерительным оборудованием для отладки.
  • Опыт работы с Jira/Bitbucket/Confluence.
  • Английский язык на уровне чтения документации.

Дополнительно приветствуем:

  • Знание CMake.
  • Продвинутое знание Python.
  • Опыт CI/CD.
  • Знание Jenkins.
  • Знание pytest / allure / ceedling.
  • Опыт работы с серверным оборудованием/СХД.

Требуемые навыки и допуски

  • C
  • Embedded
  • Firmware
  • RTOS