Low-level\Embedded programmer\Инженер по низкоуровневому программированию (CYP)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О компании и команде
YADRO — это российская технологическая компания, объединяющая направления разработки и производства вычислительных платформ, систем обработки и хранения данных, телекоммуникационного и сетевого оборудования, клиентских устройств, микропроцессорных ядер и fabless-производство микропроцессоров.
R&D центры расположены в Москве, Санкт-Петербурге, Екатеринбурге, Нижнем Новгороде и Минске, есть собственное производство в Московской области и инновационное производство полного цикла в городе Дубна.
Команда Common Yadro Platform разрабатывает программную экосистему для продуктов компании.
Мы создаём слои управления аппаратной платформой и ОС, Linux-based дистрибутивы и общие для продуктов сервисы на Golang. Common Yadro Platform позволяет продуктовым командам сосредоточиться на разработке бизнес-логики и берет на себя бо́льшую часть жизненно важных функций платформы, предоставляя необходимые интерфейсы для вышележащих уровней ПО.
В команду разработки ищем emdedded-специалистов c опытом работы с аппаратурой в крупных Enterprise или Open Source проектах. Приветствуется любая комбинация продуктового опыта включая низкоуровневое программирование, администрирование систем, embedded или real-time разработку. Предстоит разбираться в аспектах работы системы под продуктовой нагрузкой, понимать как продукты работают в целом, быть готовым писать и портировать патчи, анализировать и оживлять аппаратуру на различных этапах её готовности, а так же помогать с запуском и отладкой дистрибутива в продуктах.
Чем Вам предстоит заниматься
- разрабатывать HAL интерфейсы, писать или править драйверы, реализовывать в ядре ioctl для работы с железом;
- выполнять Bring-Up разрабатываемого компанией HW, помогать продуктовым командам с настройкой сложных аппаратных конфигураций;
- разрабатывать эффективные способы виртуализации систем, создавать QEMU устройства и Mock серверы, продумывать требования к гипервизорам;
- читать dmesg, отлаживать загрузчики, прошивки, ядро, анализировать и решать проблемы работы ОС и приложений на разных аппаратных архитектурах;
- исследовать возможности по трассировке системной производительности, разрабатывать подходы по её анализу с помощью eBPF;
- проектировать удобные механизмы на уровне ядра для Fault Injection расширяя существующие в Linux.
Ожидания от кандидата
- опыт работы в области Embedded Systems, Systems Engineering, Linux Engineering от трёх лет;
- представление о современном аппаратном обеспечении: устройство памяти, шин данных, систем ввода-вывода, PCIe, DMA, IRQ, NUMA, IOMMU;
- знание ядра Linux и принципов его работы;
- системное программирование на одном из языков: C, Rust, Go;
- знание английского на уровне чтения и написания технической документации.
Дополнительно приветствуем
- понимание базовых принципов функционирования сетей, систем хранения данных или телекоммуникационного оборудования;
- опыт диагностики проблем производительности на уровне ОС и Hardware;
- умение обращаться с осциллографами, логическими анализаторами, программаторами является плюсом;
- умение читать принципиальные схемы и код для FPGA, совместно с разработчиками разбираться с проблемами в PCB и схемотехнике;
- опыт написания драйверов для UNIX-like систем;
- умение писать системные приложения и демоны под GNU/Linux;
- опыт автоматизации и написания скриптов на bash и Python/Perl.
Условия работы
- конкурентный уровень заработной платы для нас это не просто слова, а - принцип;
- обучение и развитие: учебный портал с курсами и лекциями от внешних и внутренних экспертов, а также дополнительное профессиональное обучение и
изучение английского языка; - программу поддержки инноваций: премии за научные достижения, публикацию статей, выступления на конференциях и регистрацию патентов;
- "Лекторий", в котором мы организовываем встречи с выдающимися экспертами в области технологий;
- заботу о здоровье: ДМС с первых дней работы + стоматология, а также льготные условия страхования близких;
- поддержку в личных вопросах: консультации юристов, психологов, экспертов по ЗОЖ и управлению финансами;
- открытое общение: регулярные онлайн-встречи всей команды YADRO;
- программу рекомендаций: рекомендуя друзей или бывших коллег, вы получаете не только возможность работать вместе, но и денежные бонусы.