Software Engineer
Job Description
DESE Research, Inc. is seeking a Junior to Mid-Level Software Engineer to support mission-critical software development and modernization in a customer-facing environment.
Responsibilities
- Develop, modify, and maintain software primarily in C++.
- Support Ada software development efforts as required.
- Help migrate an existing bare-metal application into a containerized environment.
- Analyze dependencies, operating-system requirements, configuration needs, 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.
- Verify 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 to support repeatable daily build and regression testing.
- Integrate container build, test, and validation activities into repeatable workflows (as applicable for software development, CI/CD, daily build, or regression testing).
- 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 for software reliability, automation, modernization, and long-term sustainment.
Requirements
- 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: 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 with 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
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.
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
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 [email protected] or 256-837-8004 x123.