Инженер по разработке системного ПО

Дата размещения вакансии: 17.09.2024
Работодатель: YADRO
Уровень зарплаты:
з/п не указана
Город:
Москва
Алексеевская улица 6/16
Требуемый опыт работы:
От 3 до 6 лет

Обособленное подразделение "Syntacore" занимается разработкой ядер на основе архитектуры RISC-V и является активным участником международного сообщества RISC-V, комитетов и рабочих групп, в которых определяются направления развития архитектуры.

Системная разработка является важным направлением в создании процессорных ядер. Команда занимается разработкой собственных и поддержкой существующих программных компонентов, таких как: Syntacore bootloader, OpenSBI, bsp (HAL), QEMU, Linux kernel, Zephyr.

Специфика работы в команде подразумевает погружение в архитектуру RISC-V и возможность влиять на архитектурные решения в международном сообществе. Также большое внимание уделяется работе с подсистемой памяти, кэшами, периферийными устройствам и работе с open-source сообществом.

На данный момент команда ищет системного разработчика для задач моделирования. Нужно повторять поведение аппаратных компонентов в симуляторах, что позволяет приступить к разработке тестов, системного и прикладного ПО на ранних этапах проектирования и сокращает релизный цикл выпуска итогового продукта.

Чем предстоит заниматься:

  • Моделирование будущих и поддержание существующих аппаратных компонентов (от CPU и ускорителей до периферии) в различных симуляторах (QEMU, Spike, Sail, Gem5, список может расширяться в зависимости от задач) и смежных программных компонентах (bootloader, Linux kernel);
  • Совместная работа с командами FPGA по разработке инструментов ко-симуляции (симулятор + RTL симулятор, симулятор + FPGA прототип);
  • Совместная работа с командами разработки системного ПО для процессорных ядер и SoC.

Мы ожидаем от будущего члена команды:

  • Понимание архитектуры современных процессоров;
  • Понимание ОС Linux, ядра и систем виртуализации;
  • Программирование на C/C++;
  • Опыт низкоуровневого и системного программирования встроенных систем (bsp/drivers/kernel/RTOS);
  • Знание классических алгоритмов и структур данных;
  • Уверенный пользователь Linux (включая cli & shell programming);
  • Английский язык на уровне чтения технической литературы;
  • Опыт работы в команде, знакомство с процессами Code Review, CI/CD.

Дополнительно приветствуем:

  • Опыт работы с симуляторами (QEMU, Spike, Sail, Gem5, Simics);
  • Знание Python;
  • Знание assembler;
  • Опыт работы с FPGA;

Будем рады предложить:

  • Стать частью крупной стабильной компании, разрабатывающей и производящей высокотехнологичное оборудование, а также ежегодно увеличивающей долю рынка и финансовые показатели;
  • График работы с 10:00 до 19:00 с гибким началом и окончанием рабочего дня, возможность удаленной работы;
  • Конкурентный уровень заработной платы (готовы по достоинству оценить ваши знания и опыт) + премирование по результатам работы;
  • Возможность расти горизонтально и вертикально, а также в зависимости от результатов и интересов перемещаться между проектами и командами.