Старший/ведущий разработчик C++ (Linux/ OpenBMC)
YADRO — это российская технологическая компания, объединяющая направления разработки и производства вычислительных платформ, систем обработки и хранения данных, телекоммуникационного и сетевого оборудования, микропроцессорных ядер и fabless-производство микропроцессоров, а также пользовательских мобильных устройств под брендом KVADRA.
Общая численность сотрудников YADRO составляет более 5000 человек, большая часть которых (80%) инженеры различных профилей – авторы сотен патентов и статей.
ЗАО «Инженерный Центр Ядро» — это центр разработки YADRO в Минске, который был открыт в апреле 2023г., и на сегодняшний день наша команда — это более 100 инженеров.
Команда разработки OpenBMC - проекта с открытым исходным кодом, возглавляемого в рамках The Linux Foundation при участии многих других компаний. Проект OpenBMC основывается на инфраструктуре проекта Yocto и состоит из большого числа компонентов от загрузчика uboot и ядра ОС Linux до демонов и утилит, работающих в режиме пользователя и активно использующих подсистему d-bus для межпроцессного взаимодействия. Проект OpenBMC предназначен для удалённого управления аппаратным обеспечением серверов посредством протоколов RedFish, IPMI и SNMP, а также имеет интерфейс командной строки и веб-интерфейс.
Чем предстоит заниматься:
- Исправлением ошибок и разработкой новых функций в нашем варианте прошивки OpenBMC, в частности, с целью наладки взаимодействия с UEFI/BIOS x86;
- Взаимодействием с сообществом и мейнтейнерами проекта OpenBMC;
- Взаимодействием с нашими схемотехниками и трассировщиками в процессе запуска новых версий и ревизий наших плат.
- Возможно также непосредственное участие в работах по UEFI/BIOS для x86.
Мы ожидаем от будущего члена команды:
- Глубокое знание языка C++ (стандарт 14 и выше (17, 20), стандартные библиотеки, Boost)
- Отличное знание Linux (как архитектуры драйверов ядра, так и пользовательских API POSIX);
- Знание принципов работы проекта Yocto;
- Знание принципов работы systemd и d-bus;
- Знание Python;
- Хорошее знание C, достаточное для периодических работ с драйверами Linux и загрузчиком u-boot;
- Умение писать код высокого качества в соответствии со стандартами проекта, а также крепкие навыки документирования кода;
- Опыт отладки с помощью gdb и иных средств;
- Опыт работы с Atlassian JIRA или иными системами отслеживания задач;
- Опыт работы с системой контроля версий git;
- Опыт работы с системами непрерывной интеграции (Jenkins, Teamcity, Bamboo, и т.п.);
- Знание низкоуровневых протоколов коммуникации, таких как: I²C, SPI, RS232, и т. п.;
- Базовые знания цифровой и аналоговой схемотехники;
- Умение читать электрические принципиальные схемы и документацию на электронные компоненты;
- Знание английского языка (технический словарь) как минимум на уровне Intermediate/B1. Мы много общаемся с международными командами.
Дополнительно приветствуем:
- Наличие работ в проектах с открытым исходным кодом на github.com или в иных сообществах. Особенно ценны принятые в апстрим коммиты в больших общественных проектах open-source;
- Наличие технических публикаций на habr.com или linkedin.com;
- Опыт разработки для архитектуры ARM;
- Опыт разработки для архитектур POWER и/или OpenPOWER;
- Знание протокола IPMI 2.0;
- Опыт разработки для BMC-контроллеров ASPEED серии AST2xxx;
- Опыт работы с NC-SI, особенно с Broadcom NeXtreme;
- Опыт разработки драйверов Linux любого свойства, особенно реализующих интерфейс sysfs и hwmon;
- Знание протоколов DMTF: RedFish, PLDM, MCPT, и т. д.;
- Знание Javascript и HTML5/CSS3, особенно знание фреймворка AngularJS.
Будем рады предложить:
- Стать частью амбициозной продуктовой компании, вносящей вклад в мировое инженерное сообщество, а также ежегодно увеличивающей долю рынка и финансовые показатели;
- Гибридный формат работы: рабочее место в светлом и комфортном офис с открытой террасой в БЦ Riviera по адресу: проспект Победителей, 106, г. Минск + удалённая работа из дома на корпоративном ноутбуке;
- Возможность выбрать удобные начало и окончание рабочего дня;
- Конкурентный уровень заработной платы (готовы по достоинству оценить ваши знания и опыт) + премирование по результатам работы;
- Возможность расти горизонтально и вертикально, а также в зависимости от результатов и интересов перемещаться между проектами и командами.
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).