Вакансия из первоисточника
Инженер-программист Embedded (MCU)
YADRO
Москва
Описание вакансии
Мы ищем инженера-разработчика встраиваемых систем (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. Опыт работы с серверным оборудованием/СХД.