C++ Developer / DevOps-инженер (системы сборки и CI/CD)
Описание
Ищем опытного C++ разработчика с сильной экспертизой в Linux и автоматизации сборки ПО для участия в создании и развитии собственной системы разработки видеокадров «ОКО». Проект связан с разработкой программного обеспечения для графического пользовательского интерфейса АСУТП. В рамках проекта предстоит работать с существующим ПО, адаптировать его под Astra Linux 1.7.5 и 1.8.3, развивать систему сборки и доставки, автоматизировать тестирование и обеспечить безопасный процесс сборки ПО. Чем предстоит заниматься анализировать и модифицировать исходный код на C++; устранять проблемы стабильности работы ПО на Astra Linux 1.7.5 и 1.8.3; находить и исправлять утечки памяти и проблемы, связанные с переполнением heap; работать с библиотеками и зависимостями проекта; проводить углублённый статический анализ исходного кода; использовать санитайзеры и инструменты анализа качества и безопасности кода; анализировать зависимости на наличие известных уязвимостей; организовывать управление спецификациями состава ПО (SBOM); настраивать инфраструктуру сборки и хранения исходного кода; создавать и настраивать автоматизированные конвейеры сборки и доставки; автоматизировать сборку редактора, экспортных шаблонов и видеокадров; настраивать сборку под Linux, Windows, HTML5 и Android; интегрировать проекты и проверять работоспособность системы; реализовывать автоматическое тестирование: Unit-тесты, интеграционные тесты, smoke-тесты; настраивать упаковку дистрибутива и экспорт проектов; работать с WebAssembly и готовить рекомендации по экспорту проектов под веб-платформы; участвовать в реализации плана информационной безопасности для исходного кода и процесса сборки; готовить техническую документацию по результатам работ. Что нам важно уверенное знание C++; практический опыт разработки под Linux; опыт работы с системами сборки и автоматизацией CI/CD; понимание принципов построения конвейеров сборки, тестирования и доставки ПО; опыт работы с Git и системами хранения исходного кода; понимание принципов автоматизированного тестирования; опыт диагностики утечек памяти и проблем с производительностью/стабильностью ПО; понимание работы зависимостей и библиотек C/C++; опыт работы с инструментами статического анализа и санитайзерами будет большим плюсом; знание WebAssembly будет преимуществом; опыт сборки ПО под несколько целевых платформ будет преимуществом. Будет плюсом опыт работы с Astra Linux; опыт разработки или сопровождения ПО для промышленных систем; опыт работы с HTML5/WebAssembly; опыт настройки сборки под Linux / Windows / Android; знания в области безопасной разработки ПО; опыт формирования и анализа SBOM; знание нормативных требований к документации на программное обеспечение.