Обязанности:
Департамент Общей Платформы компании 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 проектах.Похожие вакансии
Senior software engineer Go / Старший инженер-программист Go (TATLIN.UNIFIED)
Договорная
Санкт-Петербург. Станции метро: Новочеркасская, Выборгская, Площадь Ленина, Чернышевская
YADRO
Договорная
Санкт-Петербург. Станции метро: Новочеркасская, Выборгская, Площадь Ленина, Чернышевская
VK
Договорная
Санкт-Петербург. Станции метро: Новочеркасская, Выборгская, Площадь Ленина, Чернышевская
VK
Go developer / engineer (High Load Platform)
От 230 000 до 366 000 руб.
Санкт-Петербург. Станции метро: Новочеркасская, Выборгская, Площадь Ленина, Чернышевская
Софтвайс
Договорная
Санкт-Петербург. Станции метро: Новочеркасская, Выборгская, Площадь Ленина, Чернышевская
«UZUM TECHNOLOGIES»
Договорная
Санкт-Петербург. Станции метро: Новочеркасская, Выборгская, Площадь Ленина, Чернышевская
Altenar