Low-level\Embedded programmer\Инженер по низкоуровневому программированию (Common yadro platform)

YADRO

Low-level\Embedded programmer\Инженер по низкоуровневому программированию (Common yadro platform)

Описание вакансии

Команда 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.

Мы предлагаем:

  • cтать частью амбициозной продуктовой компании, вносящей вклад в мировое инженерное сообщество, а также ежегодно увеличивающей долю рынка и финансовые показатели;
  • гибридный формат работы: рабочее место в комфортном лофт-офисе + удалённая работа из дома на корпоративном ноутбуке;
  • конкурентный уровень заработной платы (готовы по достоинству оценить ваши знания и опыт) + премирование по результатам работы.

Навыки
  • Linux
  • Bash
  • C
Посмотреть контакты работодателя

Похожие вакансии

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию