C++ Developer / DevOps-инженер (системы сборки и CI/CD)
Summary
Develop C++ software for industrial GUIs, focusing on Linux build automation, CI/CD pipelines, security, and testing.
Ищем опытного 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;
- знание нормативных требований к документации на программное обеспечение.