C/C++ SoC Engineer (Embedded Linux, SoC / HLS / PS–PL Integration / Linux Kernel)

Дата размещения вакансии: 13.10.2026
Работодатель: RUBETEK
Уровень зарплаты:
з/п не указана
Город:
Орел
Комсомольская улица 102
Требуемый опыт работы:
От 3 до 6 лет

На рынке ИТ мы работаем вот уже 16 лет. В штат компании входит более 300 сотрудников. Центральный офис компании расположен в Москве, собственное производство и дополнительный офис - в городе Орел.

Мы расширяем команду направения RUBETEK-TELECOM.

C/C++ SoC Engineer (Embedded Linux, SoC / HLS / PS–PL Integration / Linux Kernel)

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

Вы будете разрабатывать алгоритмы цифровой связи для современных спутниковых и широкополосных радиосистем.

Мы ищем разработчика, который способен работать на границе программного обеспечения и аппаратуры и понимает SoC как единую систему. Разработка программных компонентов и алгоритмов для SoC-платформ: высокоуровневый синтез вычислительных узлов, взаимодействие PS и PL, Embedded Linux, драйверы ядра и высокопроизводительный обмен данными.

Основные задачи

  • разработка и оптимизация алгоритмов на C/C++ для последующего высокоуровневого синтеза;
  • разработка вычислительных модулей в Vitis HLS;
  • оптимизация HLS-реализаций по производительности, latency и использованию ресурсов FPGA;
  • организация высокоскоростного обмена данными между PS и PL;
  • разработка программного интерфейса взаимодействия с аппаратными модулями PL;
  • разработка и модификация Linux kernel drivers;
  • работа с DMA, IRQ, memory-mapped устройствами и символьными устройствами;
  • разработка сетевых драйверов Linux;
  • разработка высокопроизводительных механизмов передачи данных с минимальным количеством копирований;
  • интеграция и отладка аппаратно-программных компонентов SoC;
  • профилирование производительности и поиск узких мест;
  • совместная отладка системы с разработчиками FPGA / PL;
  • участие в разработке архитектуры аппаратно-программной платформы.

Требования к кандидату

C/C++ и HLS

  • уверенное владение C/C++;
  • опыт промышленной разработки от 3 лет;
  • практический опыт разработки алгоритмов для High-Level Synthesis;
  • опыт работы с Vitis HLS;
  • понимание особенностей синтезируемого C/C++ кода;
  • практический опыт применения HLS-оптимизаций: pipeline, unroll, array partitioning, dataflow, оптимизация памяти и интерфейсов, управление latency и throughput;
  • понимание влияния структуры C/C++-алгоритма на итоговую FPGA-реализацию.

SoC и PS–PL взаимодействие

  • опыт разработки для SoC с FPGA programmable logic;
  • понимание архитектуры PS / PL;
  • уверенное понимание AXI4, AXI4-Lite и AXI4-Stream;
  • опыт работы с DMA;
  • понимание memory-mapped и streaming-интерфейсов;
  • опыт организации высокопроизводительного обмена данными между процессорной системой и PL.

Embedded Linux

  • опыт разработки под Linux;
  • опыт сборки и конфигурирования Embedded Linux;
  • опыт работы с PetaLinux и/или Yocto;
  • опыт настройки и модификации Device Tree;
  • понимание архитектуры Linux kernel и драйверной модели;
  • опыт разработки или модификации Linux kernel modules;
  • опыт работы с DMA, IRQ, character devices, mmap, memory-mapped I/O, ioctl, sysfs / debugfs.

Linux Network Stack

  • опыт разработки Linux network drivers;
  • понимание net_device и опыт работы со sk_buff;
  • понимание Linux networking subsystem;
  • опыт работы с POSIX Sockets;
  • понимание механизмов высокопроизводительной передачи данных и zero-copy;
  • опыт или понимание mmap, XDP, zero-copy DMA и shared memory.

Отладка и профилирование

  • опыт кросс-компиляции и кросс-отладки приложений для Embedded Linux;
  • опыт работы с GDB и JTAG;
  • опыт пошаговой отладки приложений и драйверов;
  • опыт отладки SoC-систем через Vitis IDE;
  • опыт совместной аппаратно-программной отладки PS и PL;
  • умение анализировать проблемы DMA, IRQ, memory mapping и взаимодействия процессора с FPGA;
  • опыт использования Vitis Analyzer / Vitis Trace;
  • понимание методов измерения latency и throughput;
  • опыт профилирования производительности аппаратно-программной системы.

Работа с сетевым трафиком

  • навыки анализа сетевого трафика;
  • понимание причин потерь пакетов, jitter и ограничений пропускной способности;
  • опыт работы с Wireshark, tcpdump и iperf3.

Будет преимуществом

  • опыт работы с AMD/Xilinx Zynq / Zynq UltraScale+ MPSoC;
  • опыт работы с Vitis / Vivado;
  • опыт разработки AXI DMA / AXI Stream-based систем;
  • опыт работы со scatter-gather DMA;
  • опыт разработки real-time или near-real-time систем;
  • опыт высокоскоростной потоковой обработки данных;
  • опыт работы с Ethernet MAC / PHY;
  • понимание cache coherency и особенностей работы DMA с CPU cache;
  • опыт работы с ARM-процессорами и NEON-оптимизацией;
  • опыт разработки систем цифровой связи;
  • опыт интеграции software с DSP, FPGA или RF-подсистемами.

Для нас важно

  • анализировать архитектуру прохождения данных от PL до пользовательского приложения;
  • находить ограничения по throughput и latency;
  • понимать взаимодействие CPU, памяти, DMA и FPGA;
  • оптимизировать как программную, так и HLS-часть системы;
  • локализовывать проблемы между Linux, драйвером и аппаратным модулем;
  • эффективно взаимодействовать с разработчиками FPGA;
  • самостоятельно доводить функциональность от прототипа до стабильно работающего решения.

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

  • Оформление по ТК РФ;
  • График работы 5/2 с 10.00 до 19.00 с возможностью небольших корректировок в пределах часа, что обеспечивает гибкость и удобство;
  • Стабильную, конкурентную заработную плату;
  • Вы будете заниматься интересной работой в инновационной компании, где создают передовые решения и технологии;
  • Вас ожидает позитивная и амбициозная команда профессионалов, с которыми вы будете сотрудничать и расти;
  • У нас развитая корпоративная культура, которая создает благоприятную рабочую атмосферу.