YADRO
Senior software engineer Go / Ведущий инженер-программист на Go (Common Yadro Platform)
- Linux
- Golang
- C/C++
Команда единой платформы компании YADRO (Common Yadro Platform) занимается разработкой единой программной экосистемы платформенного уровня для всех продуктов компании (СХД, Серверы, Сети и Телеком).
Разрабатываемая экосистема включает создание Linux-based дистрибутива ОС, разработку основных платформенных сервисов и модулей, в частности, слоя управления платформой и ОС (Platform Manager), сервисов для сбора диагностических данных, авторизации и аутентификации пользователей, посылки сообщений и алертов. Common Yadro Platform позволяет продуктовым командам сосредоточиться на разработке бизнес-логики и берет на себя большую часть жизненно важных функций платформы, предоставляя необходимые интерфейсы для вышележащих уровней ПО.
Мы ищем опытного инженера, способного быть техлидом в проектах по разработке платформенных компонентов, взаимодействующих с Linux‑подсистемами (дисковая, сетевая, netlink, udev, PCI, i2c), BMC (IPMI, Redfish) и "железом".
Чем предстоит заниматься:
- отвечать за разработку системных компонентов, взаимодействующих с операционной системой, BMC и железом, в технологическом стеке Go/Linux;
- проектировать качественную и гибкую архитектуру платформенных сервисов с учетом специфики различных продуктов компании;
- решать сложные проблемы, в том числе на стыке ПО и железа;
- проводить код-ревью, внедрять лучшие инженерные практики;
- создавать техническую документацию;
- составлять и анализировать требования и декомпозировать задачи;
- взаимодействовать с инженерными командами смежных департаментов.
Мы ожидаем от будущего члена команды:
- опыт системного программирования под Linux от 5 лет (Go/C/C++/Rust);
-
понимание принципов работы современного аппаратного обеспечения;
- опыт разработки многопоточных и/или распределенных систем;
- способность вести сложные технические проекты и принимать взвешенные архитектурные решения;
- умение работать в команде, проводить эффективное код-ревью;
- хорошее понимание системы версионного контроля Git и систем баг-трекинга (Jira)
- знание английского на уровне чтения и написания технической документации.
Дополнительно приветствуем:
- опыт работы с системами сборки Linux-дистрибутивов (Yocto, Buildroot);
- опыт работы с системами виртуализации (QEMU, KVM);
- знание ядра Linux и принципов его работы, опыт программирования драйверов устройств и/или прошивок;
- знание различных протоколов управления железом и не только: i2c, PCI, SES и SCSI, NVMe(-oF), D-Bus, Redfish, IPMI и др;
- понимание принципов работы современных СХД, серверов, сетевого и телеком-оборудования;
- опыт работы в крупных Enterprise или Open Source проектах.