Job Summary
The Algorithm Software Engineer is responsible for designing, developing, testing, and maintaining Java-based mathematical algorithms that support command and control systems. The role collaborates with cross-functional engineering teams to implement software solutions, participate in Agile development, perform system integration, and ensure software quality throughout the development lifecycle.
Key Responsibilities:
- Design and develop Java-based mathematical algorithms.
- Generate software design artifacts and technical documentation.
- Implement software enhancements and modifications.
- Participate in software design and code reviews.
- Support software testing, debugging, and issue resolution.
- Present software designs and technical solutions.
- Participate in Agile sprint planning and development activities.
- Collaborate with Systems Engineering, Integration & Test, Deployment, and Support teams.
- Develop and integrate software using DevSecOps practices.
- Implement and integrate MATLAB algorithms into Java applications when required.
- Develop automated unit tests and verify software requirements.
- Review system engineering documentation, including use cases and interface specifications.
- Support software integration and mission-critical applications.
Requirements:
- Bachelor's or Master's degree in Computer Science, Software Engineering, Mathematics, Physics, or a related field (or equivalent experience).
- Active DoD Secret Security Clearance.
- Experience with Java application development.
- Experience with Unix/Linux environments.
- Knowledge of Agile software development.
- Experience implementing mathematical algorithms.
- Experience with MATLAB and DevSecOps.
- Strong problem-solving and analytical skills.
- Excellent verbal and written communication skills.
- Ability to work effectively in cross-functional engineering teams.
- Willingness to travel as required.