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