ВедаПроект - это динамично развивающаяся научно-производственная компания, более 20 лет успешно работающая на рынке высоких технологий России. Мы занимаемся разработкой инновационных проектов, их сопровождением от начала создания и до внедрения. Все наши проекты долгосрочные и разнообразны.
Наши компетенции — это разработка радиоэлектронной аппаратуры, «интеллектуальных» оптико-электронных систем, навигационных систем, включая локальные навигационные системы, а также разработка низко- и высокоуровневого программного обеспечения для систем технического зрения. Решаемые компанией задачи находятся на переднем рубеже науки и техники и всегда доводятся до практического воплощения в железе. «Портфолио» компании начинается с бортовых систем на микроконтроллерах и заканчивается сложнейшими комплексами с искусственным интеллектом на борту.
Для решения задач используются самые современные технологии, поэтому мы нанимаем лучших специалистов. В настоящее время мы в расширяемся и нам требуется Инженер встраиваемых Систем (Embedded Linux).
Обязанности
•Кросс-компиляция и сборка дистрибутивов Embedded Linux "с нуля" для целевых платформ на базе архитектур ARM64 и RISC-V;
•Создание и поддержка Toolchain: настройка и сборка кросс-компиляторов (GCC, Clang), системных библиотек (glibc, musl), отладчиков (GDB) и других утилит (Binutils);
•Работа с загрузчиками (Bootloaders): портирование, конфигурация и доработка U-Boot;
•Конфигурация, сборка и доработка ядра Linux (Kernel): написание и адаптация Device Tree, работа с подсистемами ядра, применение патчей;
•Разработка и адаптация драйверов для уникальной периферии устройств (SPI, I2C, UART, GPIO и др.).
•Формирование корневой файловой системы (RootFS) и системного окружения "вручную";
•Адаптация и доработка open-source программного обеспечения для корректной работы на наших платформах: портирование библиотек, системных утилит, фреймворков;
•Организация сред для разработки и эмуляции: использование QEMU для эмуляции целевых платформ, создание и поддержка сборочных окружений в Docker-контейнерах и песочницах;
•Участие в разработке и оптимизации системного ПО и библиотек на языках С/С++ или Go, Rust;
•Участие в отладке и решении комплексных проблем на стыке аппаратного и программного обеспечения.
Требования
•Фундаментальные знания: Глубокое понимание архитектуры ОС Linux, процесса компиляции, линковки и работы с инструментарием GNU Toolchain (GCC, GDB, Binutils) и/или LLVM (Clang). Опыт работы с системными библиотеками (glibc, musl);
•Практика Embedded Linux: Опыт сборки дистрибутивов Embedded Linux "с нуля" (from scratch), включая настройку кросс-компиляции. Опыт портирования загрузчиков (U-Boot) и ядра Linux;
•Работа с архитектурами: Опыт работы с ARM64 и/или RISC-V;
•Системное программирование: Отличное владение языками C/C++. Опыт разработки и отладки драйверов устройств для Linux;
•Современные инструменты: Опыт использования QEMU для эмуляции аппаратных платформ. Опыт работы с Docker для создания изолированных сборочных сред.
•Сетевые технологии: Понимание сетевого стека TCP/IP, принципов маршрутизации, опыт работы с сетевыми протоколами (HTTP, gRPC, MQTT и др.);
•Скриптовые языки и автоматизация: Уверенное владение Bash и Python (желательно);
•Общие инженерные навыки: Умение читать принципиальные схемы, работать с измерительным оборудованием и технической документацией на аппаратное обеспечение (datasheets), опыт работы с Git.
Будет плюсом
•Опыт коммерческой разработки на Go или Rust;
•Опыт работы с реляционными (PostgreSQL) или NoSQL базами данных в контексте системных задач;
•Опыт в области информационной безопасности встраиваемых систем (Secure Boot, TrustZone);
•Понимание принципов работы аппаратных нейроускорителей (NPU) и их интеграции на уровне ОС;
•Опыт профилирования и оптимизации производительности системного ПО.
Условия
•Конкурентная белая заработная плата;
•Официальное трудоустройство по ТК РФ;
•Дружный коллектив профессионалов;
•Комфортные условия труда;
•Хорошая техническая оснащенность и собственное производство;
•Работа только в офисе;
•ДМС.