Требования • Опыт работы с buildroot и Armbian • Понимание архитектуры и принципов организации встраиваемых решений на базе ОС Linux: загрузчик, ядро и модули ядра, Device Tree, файловая система, компиляция и кросс-компиляция, отладка и т. д.; • Опыт работы с системами автоматизации сборки программного обеспечения из исходного кода (Autotools, CMake и др.); • Опыт программирования прикладных программ на С, C++; • Умение работать с технической документацией; • Умение работать с системами контроля версий (Git); • Знание английского языка. Обязанности • Разработка прикладного ПО для изделий, содержащих компоненты со встроенным Linux • Работа со сторонними модулями, в том числе с различными коммуникационными драйверами • Сборка системы с внесением изменений в ядро • Составление эксплуатационной документации на программные модули • Сопровождение, рефакторинг и реинжиниринг программных модулей • Отладка прикладного ПО на изделии с использованием осциллографа • Работа с выводом звука и изображений (FFMPEG, gstreamer) Желательно Знание скриптовых языков (Shell, Python и др.); Опыт программирования на C++; Опыт создания прошивок с помощью инструментов Yocto/OpenEmbedded, OpenWRT и др.; Понимание принципов работы интерфейсов передачи данных (UART, SPI, I2C, PCI-E и др.); Умение читать и понимать принципиальные схемы для печатных плат; Понимание принципов функционирования сетей TCP/IP, опыт программирования сетевых приложений.