C++ Software Developer The Conflict Simulation Laboratory (CSL) of the Global Security Computing Applications Division (GS-CAD) within the Computation Directorate has an opening for a Software Developer specializing in the analysis, design, development, and implementation of C++ scientific software. The CSL develops and deploys the Joint Conflict and Tactical Simulation (JCATS) and JCATS Low Overhead Driver (JLOD) simulation suites to users around the world. The CSL works closely with external partners to enable JCATS and JLOD to interoperate with other simulation models and tools in a federated environment.
JCATS and JLOD are tactical simulations that model soldiers, tanks, and other military platforms maneuvering in 3D environments. Line of sight, projectile paths, collision detection, and many other algorithms calculate real time results for military trainers and analysts. You will analyze, design, and implement new functionality using object-oriented, C++ programming and object-oriented algorithms, while balancing performance tradeoffs. CSL simulation products are used for training and analysis by 30 countries, the Departments of Energy and War, and other government agencies. Their applications include military operations, peacekeeping, drug interdiction, homeland defense, site security, and civil defense preparation. You will interact with team members, project management, sponsors, and users. The position will report to the E/CSL Associate Program Leader.
This position will be filled at either the SES.1 or SES.2 level based on knowledge and related experience as assessed by the hiring team. Additional job responsibilities (outlined below) will be assigned if hired at the higher level. This position requires full time onsite presence.
In this role, you will:
Develop object-oriented software packages and applications using the C++ programming language in a Linux environment.
Actively participate in all phases of object-oriented product development; analysis, design and implementation; to include direct interactions with sponsors and other modeling agencies.
Create documentation for users on new and existing products and processes.
Occasional direct customer technical support and interactions with JCATS exercise operations support personnel.
Provide occasional field development and integration with outside models.
Occasional foreign and/or domestic travel.
Build and support production releases of desktop applications used by customers around the world.
Additional job responsibilities, at the SES.2 level:
Provide remote and on-site SME technical support for various customers.
Work closely with CSL staff and external customers to identify and develop simulation software requirements.
Assume lead role for one or more simulation model functional areas with responsibility for requirements vetting, design development and reviews, software implementation, documentation, and testing verification.