Старший/ведущий разработчик C++ (Linux/ OpenBMC)

Срок для отклика истек

Описание вакансии

R&D центры YADRO находятся в Москве, Санкт-Петербурге и Нижнем Новгороде, производственная площадка расположена в Московской области и строится завод полного цикла. На текущий момент нас уже более 3000 человек, и мы продолжаем активно расти и расширять команду.

Мы растём и расширяем продуктовую линейку, именно поэтому мы в поиске еще нескольких опытных инженеров-разработчиков в команду разработки OpenBMC — проекта с открытым исходным кодом, возглавляемого в рамках The Linux Foundation специалистами IBM, Google, Intel и Facebook при участии многих других копманий. Проект 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 года + удалённая работа из дома на корпоративном ноутбуке;
  • Возможность выбрать удобные начало и окончание рабочего дня;
  • Конкурентный уровень заработной платы (готовы по достоинству оценить ваши знания и опыт) + премирование по результатам работы;
  • Возможность расти горизонтально и вертикально, а также в зависимости от результатов и интересов перемещаться между проектами и командами.