Dese Research, Inc.
Software Engineer - Containerization
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер-программист для поддержки и модернизации программного обеспечения оборонной системы: разработка на C++, повышение качества через юнит-тесты и перенос приложения с bare-metal на контейнеры.
Задачи
- Разрабатывать, изменять и сопровождать ПО преимущественно на C++
- Поддерживать разработку на Ada при необходимости
- Переносить существующее bare-metal приложение в контейнерную среду
- Анализировать зависимости приложения, требования ОС, конфигурацию, внешние интерфейсы и поведение в рантайме для контейнеризации
- Разрабатывать, поддерживать и документировать Dockerfiles, Podmanfiles, скрипты сборки контейнеров и связанные артефакты конфигурации
- Собирать, запускать, тестировать, отлаживать и устранять неполадки контейнерных образов и приложений с помощью Docker или Podman
- Обеспечивать сохранение функциональности, интерфейсов, производительности и операционного поведения приложений в контейнерах
- Проверять существующие юнит-тесты и оценивать покрытие тестами
- Проектировать, разрабатывать и внедрять новые юнит-тесты для существующих компонентов
- Улучшать автоматизированное тестирование для повторяемых ежедневных сборок и регрессионных прогонов
- Интегрировать сборку, тестирование и валидацию контейнеров в повторяемые процессы разработки, CI/CD, ежедневных сборок и регрессионного тестирования
- Анализировать дефекты ПО, устранять сбои и внедрять корректирующие меры
- Участвовать в ревью дизайна и кода, технических обсуждениях и планировании модернизации
- Взаимодействовать с инженерами ПО, системными инженерами, QA и DevOps для повышения качества, сопровождаемости и готовности к развёртыванию
- Вести документацию ПО, документацию сборки контейнеров, стандарты тестирования и инженерные практики
- Поддерживать инициативы непрерывного улучшения надёжности, автоматизации и модернизации
Требования
- Степень бакалавра в Computer Science, Computer Engineering, Software Engineering, Electrical Engineering или смежной технической области
- Сильный опыт разработки на C++
- Подтверждённое владение Docker или Podman для сборки, запуска, тестирования и отладки контейнерных приложений
- Опыт написания и поддержки Dockerfiles, Podmanfiles или аналогичных определений сборки контейнеров
- Опыт упаковки зависимостей приложения, конфигурации и требований рантайма в контейнерные образы
- Понимание концепций контейнеров: образы, контейнеры, слои, тома, переменные окружения, сети, реестры образов и жизненный цикл контейнеров
- Опыт отладки дефектов ПО и поддержки интеграции ПО
- Понимание процессов жизненного цикла разработки ПО, практик качества и управления конфигурацией
- Опыт работы в командной разработке с peer review и контролем версий
- Умение работать самостоятельно в клиентоориентированной инженерной среде
- Действующий допуск Secret или способность получить и поддерживать его
Условия
- Конкурентная зарплата
- Медицинская, стоматологическая и офтальмологическая страховка с доступными взносами
- Гибкий график работы
- Два варианта flexible spending account
- Оплачиваемая компанией страхование жизни с опциями дополнительного покрытия
- Программа бонусов за результаты
- Программа возмещения расходов на образование
- Оплачиваемый компанией отпуск для одобренных благотворительных активностей
- Отпуск, больничные и праздничные дни
- Программа участия в прибыли 401(k)
- Возможности внутренних повышений
- Программа реферальных бонусов для сотрудников
- Награды и подарки к годовщинам работы
Навыки
- C++
- Ada
- Docker
- Podman
- Dockerfile
- Podmanfile
- CI/CD
- Linux
- Kubernetes
- OpenShift
- Agile
- unit testing
- regression testing
- static code analysis
- code coverage
- container security
- vulnerability scanning