Верхняя Красносельская улица 3с2
Чем вы будете заниматься
-
Портирование существующей системы управления виртуализацией с x86/ARM на архитектуру Эльбрус (E2K) (ключевая задача вакансии)
-
Адаптация Golang-кода под особенности E2K:
-
модель памяти
-
выравнивание данных
-
атомарные операции
-
low-level синхронизация
-
-
Работа с системными компонентами виртуализации:
-
взаимодействие с KVM/QEMU
-
собственные API
-
управление ВМ, сетями, хранилищами
-
-
Анализ и устранение архитектурных и платформенных проблем при переносе:
-
зависимости от x86-специфики
-
assumptions компилятора
-
performance bottlenecks
-
-
Оптимизация производительности Go-кода под архитектуру E2K
-
Отладка и профилирование на Эльбрусе:
-
perf, strace, ftrace
-
анализ поведения рантайма Go
-
-
Взаимодействие с Linux user space / kernel space в контексте виртуализации
Ключевой фокус роли (важно)
-
Это не разработка «с нуля» и не администрирование.
-
Основная задача — портировать и адаптировать существующий Golang-код виртуализации под E2K.
Что мы ожидаем от кандидата
-
Уверенный опыт разработки на Golang (системное или инфраструктурное ПО)
-
Практический опыт портирования ПО между архитектурами (x86 → non-x86 — большой плюс)
-
Глубокое понимание:
-
работы виртуализации (KVM/QEMU)
-
Linux user space / kernel space взаимодействия
-
-
Отличные знания Linux:
-
процессы, память, синхронизация
-
файловые системы
-
сетевой стек
-
-
Навыки низкоуровневой отладки:
-
strace, perf, tcpdump
-
анализ race condition и memory issues
-
-
Понимание особенностей: моделей памяти, атомарных операций, кросс-компиляции
Будет большим плюсом
-
Опыт работы с архитектурой Эльбрус (E2K) или другими VLIW/RISC-платформами
-
Понимание внутреннего устройства Go runtime
-
Опыт оптимизации Go-кода под конкретную архитектуру CPU
-
Опыт работы с:
-
QEMU device model
-
libvirt
-
-
Опыт системного программирования на Go/C/C++
-
Участие в разработке гипервизоров, SDN или SDS-решений
Станьте частью команды, которая портирует и адаптирует систему виртуализации на Go под архитектуру Эльбрус, участвует в ключевых архитектурных решениях и работает с CPU, памятью и внутренними механизмами Linux.
Эта роль подходит Golang-разработчикам, стремящимся перейти к системному ПО, а также системным инженерам, которым интересна разработка на стыке Go, Linux, виртуализации и процессорной архитектуры. Здесь ваши решения будут напрямую влиять на продукт и платформу.