Свердловская набережная 44Б
Команда единой платформы компании YADRO (Common Yadro Platform) занимается разработкой единой программной экосистемы платформенного уровня для всех продуктов компании (СХД, Серверы, Сети и Телеком).
Мы ищем высококвалифицированного специалиста для работы над сложными и интересными проектами в области низкоуровневого программирования. Если вы увлечены системным программированием, имеете опыт работы с аппаратным обеспечением и желание решать сложные задачи, мы готовы предложить вам интересную работу в дружной и профессиональной команде. Наша команда — это точка фокуса низкоуровневой экспертизы YADRO на стыке HW и системного софта.
Чем предстоит заниматься:
- вести крупный проект по воссозданию аппаратных платформ YADRO (серверы, СХД, базовые станции) в виртуальной среде с использованием QEMU, косимуляции и других методов эмуляции узлов реальных систем;
- разрабатывать масштабируемую и качественную архитектуру виртуальной платформы, реализовать её и технологически лидировать внедрение в продуктовые пайплайны;
- проектировать и разрабатывать эффективные механизмы Fault Injection как в ядре Linux, так и средствами виртуальной платформы;
- решать сложные низкоуровневые задачи по запросам от продуктовых команд. К нам приходят, когда не знают, как двигаться дальше;
- выполнять Bring-Up разрабатываемого компанией HW, помогать продуктовым командам с настройкой сложных аппаратных конфигураций;
- декомпозировать сложные низкоуровневые задачи на простые, обеспечивать их эффективное выполнение всей командой.
Мы ожидаем от будущего члена команды:
- опыт работы в области Embedded Systems, Systems Engineering, Linux Engineering от трёх лет;
- представление о современном аппаратном обеспечении: устройство памяти, шин данных, систем ввода-вывода, PCIe, DMA, IRQ, NUMA, IOMMU;
- знание ядра Linux и принципов его работы;
- системное программирование на одном из языков: C, Rust, Go;
- знание английского на уровне чтения и написания технической документации.
Дополнительно приветствуем:
- опыт работы с виртуализацией (QEMU, KVM и т.д.);
- знание интерпретируемых языков программирования, например: Python, Perl, Ruby;
- понимание методов тестирования и отладки аппаратного обеспечения;
- опыт работы в крупных Enterprise или Open Source проектах.