Software Engineer
Job Description
DESE Research, Inc. is hiring a Junior to Mid-Level Software Engineer in Huntsville, AL (onsite) to support mission-critical software development and modernization work.
Responsibilities
- Develop, modify, and maintain software primarily in C++.
- Support Ada software development efforts as required.
- Assist with migration of an existing bare-metal application to a containerized environment.
- Analyze application dependencies, operating-system needs, configuration requirements, external interfaces, and runtime behavior to enable containerization.
- 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.
- Validate that containerized applications preserve required functionality, interfaces, performance characteristics, and operational behavior.
- Review existing unit tests and assess test coverage.
- Design, develop, and implement new unit tests for existing software components.
- Improve automated testing capabilities to enable repeatable daily build and regression testing.
- Integrate container build, test, and validation steps into repeatable workflows such as CI/CD, daily build, or regression-test processes as applicable.
- Analyze software defects, troubleshoot failures, and implement corrective actions.
- Participate in software design reviews, code reviews, technical discussions, and modernization planning.
- 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 reliability, automation, modernization, and long-term sustainment.
Requirements
- Bachelor's degree in a related technical discipline (Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, or similar).
- 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: 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 in collaborative teams using peer reviews and version control.
- Ability to work independently while supporting a customer-facing engineering environment.
- Active Secret security clearance or ability to obtain and maintain one.
Technologies
- C++, Ada, Docker, Podman
- Dockerfile, Podmanfile
- CI/CD, Kubernetes, OpenShift
- Linux
Benefits
- 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
- Generous profit-sharing plan
- Company paid life insurance
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, including 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.
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, contact [email protected] or 256-837-8004 x123.