Команда Common Yadro Platform разрабатывает общую программную экосистему для всех продуктов компании (СХД, Серверы, Сети и Телеком).
Разрабатываемая экосистема включает создание Linux-based дистрибутивов ОС, разработку слоя управления аппаратной платформой и ОС, сервисов для сбора диагностических данных, авторизации и аутентификации пользователей, отправки сообщений и алертов. Common Yadro Platform позволяет продуктовым командам сосредоточиться на разработке бизнес-логики и берет на себя большую часть жизненно важных функций платформы, предоставляя необходимые интерфейсы для вышележащих уровней ПО.
В команду разработки единой платформы ищем специалиста по созданию и поддержке кросс-архитектурного Linux дистрибутива c опытом работы в крупных Enterprise или Open Source проектах. Приветствуется любая комбинация продуктового опыта включая администрирование систем, embedded или real-time разработки. При отсутствии серьезного опыта в каких-то из нижеперечисленных областей важно желание понять тонкости организации сложной сборочной системы и системного программирования. Хорошие дополнительные знания в любой из предметных областей типа сети, системы хранения данных, телеком, базы данных, etc будут так же полезны.
Предстоит разбираться в аспектах работы системы под продуктовой нагрузкой, понимать как продукты работают в целом, быть готовым писать и портировать патчи, включая CVE, для разных пакетов, а так же помогать с запуском и отладкой дистрибутива в разнообразных продуктах.
Чем Вам предстоит заниматься:
- Создавать и поддерживать специализированные дистрибутивы на базе Linux для промышленного использования в высоконагруженных сложных системах;
- Писать Yocto рецепты для сборки разнообразного ПО;
- Расширять возможности нашей сборочной системы;
- Следить за обновлениями Open Source и актуализировать нашу кодовую базу;
- Изучать и адаптировать многочисленные сборочные системы: cmake, bazel, meson, npm, go, wheel, scons, ...;
- Читать dmesg и отлаживать системы: понимать, как специфика железа отражается в дистрибутиве;
- Улучшать существующие и создавать новые командные процессы по выпуску ОС;
- Увеличивать экспертизу и помогать продуктовым командам с платформенными задачами;
Что мы ожидаем от будущего члена команды:
- Опыт работы в области System Engineer, Linux Engineer, DevOps от 3х лет;
- Отличное знание Linux (архитектура, сборка и администрирование);
- Опыт автоматизации и написания скриптов на Python и bash;
- Опыт диагностики проблем производительности на уровне ОС и hardware;
- Хорошее представление о современном аппаратном обеспечении (устройство памяти, шин данных, систем ввода-вывода);
- Знание английского на уровне чтения и написания технической документации.
Дополнительно приветствуем:
- Опыт системного программирования на C/C++ или разработки встраиваемого ПО;
- Знания об устройстве ядра Linux и опыт написания драйверов;
- Умение писать системные приложения и демоны под GNU/Linux;
- Опыт open source разработки;
- Опыт работы с системами баг-трекинга (e.g. Jira);
- Опыт работы и понимание базовых принципов функционирования следующих областей: сети, системы хранения данных (файловые, блочные, объектные), телеком.