📍 Москва (м. Динамо / Петровский парк / ЦСКА)Офис или гибрид
Технологии/инструменты
CLinuxDas U-BootGDBGitGitLabJenkinsTeamCityBamboo
Мы ищем Системного разработчика в сфере систем управления BMC на базе OpenBMC в дочернюю компанию ООО "СИЛА" (российский производитель ИТ-оборудования).
Продукт — средство для управления сервером, решает задачи загрузки, мониторинга и т.п.
Стек технологий проекта:
- С/С++, Embedded Linux Yocto, Das U-Boot, Python, UEFI, и Vue.js.
- Протоколы: D-Bus, IPMI, I2C/SMBus, Redfish.
Задачи
- Управление техническим базисом разработки и поддержки продуктов в сфере систем управления BMC на базе OpenBMC.
- Сопровождение и доработка кода UEFI / BIOS для компьютеров на базе x86-64.
- Самостоятельная разработка системного ПО на C/С++ под ОС GNU/Linux.
- Поиск причин неисправностей на стыке программного кода и вычислительного железа и разработка методов их решения.
- Реверс-инжиниринг встроенного ПО.
Требования
- Опыт разработки ПО для Embedded Linux.
- Опыт самостоятельной разработки на C — обязательно.
- Знание C, достаточное для периодических работ с драйверами Linux и загрузчиком U-Boot.
- Опыт анализа коммитов в ядре Linux.
- Отличное знание Linux.
- Навык написания кода высокого качества в соответствии со стандартами проекта, а также крепкие навыки документирования кода.
- Опыт отладки с помощью GDB и иных средств.
- Опыт работы с системами отслеживания задач.
- Опыт работы с системой контроля версий Git.
- Опыт работы с системами непрерывной интеграции (GitLab, Jenkins, TeamCity, Bamboo и т.п.).
Будет плюсом:
- Опыт разработки на базе OpenBMC.
- Опыт разработки драйверов Linux, реализующих интерфейс sysfs и hwmon.
- Опыт разработки под embedded Linux (ARM).
- Понимание принципов работы современных аппаратных серверных систем.
- Понимание, как взаимодействуют между собой процессоры, память, устройства PCIe, чипсет, BIOS, BMC.
- Умение пользоваться чужими библиотеками или частично их переписывать из дебагера.
- Знание принципов работы проекта Yocto.
- Знание и опыт разработки на Python.
- Знание и опыт использования JavaScript и HTML5/CSS3, протоколов IPMI, MCPT, PLDM.
- Опыт реверс-инжиниринга встроенного ПО.