Software Engineer - Containerization

DESE Research, Inc.Huntsville, AlabamaOn-siteFull-timeMid level, 2–5 yearsListed 45 minutes ago

Apply now

About this role

DESE Research, Inc. is seeking a Software Engineer (Junior to Mid-Level) to support mission-critical software development and modernization efforts in a fast-paced, customer-facing environment. This role requires strong C++ development experience, a passion for software quality, and the ability to develop and implement robust unit testing methodologies for complex software systems.

The successful candidate will also support modernization of an existing bare-metal software application into a containerized environment. This includes developing, building, testing, troubleshooting, and maintaining container images using Docker or Podman, as well as authoring Dockerfiles or Podmanfiles. If you meet these qualifications, we encourage you to apply.

Job Details

The candidate will support the sustainment, enhancement, and modernization of an existing software baseline for a complex defense system. Primary responsibilities include improving software quality through comprehensive unit testing, automation, repeatable software development practices, and migration of existing software from a bare-metal deployment model to a containerized environment.

Development efforts will primarily be performed in C++, with the potential to support Ada-based software components as required. The candidate will assess the existing application architecture, dependencies, runtime assumptions, configuration requirements, and external interfaces to help enable a reliable transition to containerized deployment and execution.

This role includes reviewing existing software and unit tests, identifying gaps in test coverage, developing new automated unit tests, and helping establish a repeatable testing methodology that integrates into daily build and regression test cycles. The successful candidate will work closely with software engineers, systems engineers, quality assurance personnel, DevOps engineers, and customer representatives to improve software reliability, portability, maintainability, and long-term sustainment.

A successful candidate will possess strong software engineering fundamentals, demonstrate sound technical judgment, communicate effectively with technical teams and customers, and thrive in a collaborative engineering environment.

Responsibilities

- Develop, modify, and maintain software primarily in C++.

- Support Ada software development efforts as required.

- Support migration of an existing bare-metal software application into a containerized environment.

- Analyze application dependencies, operating-system requirements, configuration needs, external interfaces, and runtime behavior to support containerization efforts.

- Develop, maintain, and document Dockerfiles, Podmanfiles, container build scripts, and related configuration artifacts.

- Build, run, test, debug, and troubleshoot container images and containerized applications using Docker or Podman.

- Ensure containerized applications preserve required functionality, interfaces, performance characteristics, and operational behavior.

- Review existing unit tests and evaluate software test coverage.

- Design, develop, and implement new unit tests for existing software components.

- Improve automated testing capabilities to support repeatable daily build and regression testing.

- Integrate container build, test, and validation activities into repeatable software development, CI/CD, daily build, or regression-test workflows as applicable.

- Analyze software defects, troubleshoot failures, and implement corrective actions.

- Participate in software design reviews, code reviews, technical discussions, and modernization planning activities.

- Collaborate with software, systems, QA, and DevOps engineers to improve software quality, maintainability, containerization practices, and deployment readiness.

- Contribute to software documentation, container build documentation, testing standards, and engineering best practices.

- Support continuous improvement initiatives focused on software reliability, automation, modernization, and long-term sustainment.

Required Qualifications

- Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, or a related technical discipline.

- Strong experience developing software in C++.

- Demonstrated proficiency with Docker or Podman for building, running, testing, and troubleshooting containerized applications.

- Experience authoring and maintaining Dockerfiles, Podmanfiles, or equivalent container build definitions.

- Experience packaging application dependencies, configuration, and runtime requirements into container images.

- Understanding of container concepts, including images, containers, layers, volumes, environment variables, networking, image registries, and container lifecycle management.

- Experience troubleshooting software defects and supporting software integration activities.

- Understanding of software development lifecycle processes, software quality practices, and configuration management.

- Experience working within collaborative software development teams using peer reviews and version control.

- Ability to work independently while supporting a customer-facing engineering environment.

- Active Secret security clearance or the ability to obtain and maintain one.

Preferred Qualifications

- Experience developing software in Ada.

- Experience supporting legacy software modernization efforts.

- Experience migrating bare-metal, monolithic, legacy, embedded, or traditionally deployed applications into containerized environments.

- Experience with automated testing frameworks and regression testing.

- Experience integrating automated testing and container image build/validation activities into CI/CD or daily build environments.

- Experience supporting complex real-time, embedded, or defense software systems.

- Familiarity with Linux-based development and deployment environments.

- Familiarity with container-image security practices, vulnerability scanning, image hardening, software supply-chain practices, or private container registries.

- Familiarity with Kubernetes, OpenShift, or other container orchestration platforms.

- Familiarity with Agile software development methodologies.

- Experience with static code analysis, code coverage tools, or software quality metrics.

- Experience developing unit tests for complex software systems.

- Familiarity with automated testing, regression testing, build/test workflows, and containerized development environments.

About DESE:

For the past 43 years, DESE has provided industry-leading technical and engineering solutions in the fields of Defense, Energy, Space, and Environment. As a small, family-oriented business, DESE provides a compelling benefits package including a generous profit-sharing plan, competitive salaries, and perhaps most importantly, the opportunity to work alongside talented engineers leveraging cutting-edge technologies to solve complex and engaging problems.

Why employees love working for DESE:

At DESE, we are committed to creating a company that is known for its respect and care for employees. We understand that happy employees are what keeps our business going and we strive to provide the best opportunities for each individual working on our team! Here are a few reasons you will love working here:

- Competitive health, dental and vision insurance with affordable premiums

- Flexible work schedules

- Two different flexible spending account options

- Company paid life insurance with options for employee-paid additional coverage

- Performance bonus program

- Education reimbursement program

- Company paid personal leave for approved philanthropic activities

- Vacation, Sick & Holiday leave

- Robust 401(k) profit-sharing plan

- Opportunities for internal promotions

- Employee referral incentive program

- Rewards and gifts for service anniversaries

Disability Accommodation for Applicants – DESE Research, Inc. is an Equal Employment Opportunity employer and provides reasonable accommodation for qualified individuals with disabilities and disabled veterans in its job application procedures. If you have any difficulty using our online system and need an accommodation due to a disability, you may contact us at [email protected] or 256-837-8004 x123 .