Job Description:
Job Summary
The Software Developer (C++) – Senior is responsible for designing, developing, integrating, testing, and maintaining advanced software applications that support modeling, simulation, and training environments. This role focuses on C++ software development, system integration, code review, debugging, software enhancements, and collaboration with engineering teams to deliver high-quality software solutions.
Duties and Responsibilities
- Develop and maintain advanced C++ software applications.
- Design software for synthetic training and simulation environments.
- Integrate software with flight simulators and related systems.
- Support software development, integration, customer demonstrations, and training.
- Review, evaluate, and improve C++ source code.
- Design and implement object-oriented software solutions.
- Develop interfaces using distributed simulation communication protocols.
- Create parallel processing, multithreading, and inter-process communication solutions.
- Troubleshoot, debug, and resolve software issues.
- Maintain and enhance existing software applications.
- Participate in software design, architecture, and future system enhancements.
- Follow software development lifecycle (SDLC) processes.
- Work within Agile, Scrum, and Waterfall development methodologies.
- Collaborate with software engineers and technical teams to deliver high-quality solutions.
Requirements
- Bachelor's degree in Computer Science, Engineering, or a related field.
- Minimum 10 years of software development experience.
- Minimum 10 years of professional C++ programming experience.
- Expert knowledge of C++11 or later versions.
- Strong understanding of object-oriented programming and software design patterns.
- Experience with software troubleshooting, debugging, and maintenance.
- Experience with the Software Development Life Cycle (SDLC).
- Experience using Agile, Scrum, and Waterfall methodologies.
- Experience with distributed simulation protocols (DIS/HLA) is preferred.
- Experience with real-time distributed simulation systems is preferred.
- Experience working with large-scale software systems is preferred.
- Ability to obtain and maintain a DoD Top Secret Security Clearance.