Описание вакансии
R&D центры YADRO находятся в Москве, Санкт-Петербурге и Нижнем Новгороде, производственная площадка расположена в Московской области и строится завод полного цикла. На текущий момент нас уже более 3000 человек, и мы продолжаем активно расти и расширять команду.
Мы растём и расширяем продуктовую линейку, именно поэтому мы в поиске еще нескольких опытных инженеров-разработчиков в команду разработки 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.
Будем рады предложить:
- Стать частью амбициозной продуктовой компании, вносящей вклад в мировое инженерное сообщество, а также ежегодно увеличивающей долю рынка и финансовые показатели;
- Гибридный формат работы: рабочее место в комфортном лофт-офисе на территории БЦ «Трёхгорная мануфактура» в 10-15 минутах от ст. метро Краснопресненская/Баррикадная/Улица 1905 года + удалённая работа из дома на корпоративном ноутбуке;
- Возможность выбрать удобные начало и окончание рабочего дня;
- Конкурентный уровень заработной платы (готовы по достоинству оценить ваши знания и опыт) + премирование по результатам работы;
- Возможность расти горизонтально и вертикально, а также в зависимости от результатов и интересов перемещаться между проектами и командами.