Engineer II, Simulation Framework (R6204)
San Diego · Washington, D.C. · USD 100,000-150,000 / year · Onsite · Posted Oct 7, 2026
At a glance
- Workplace
- Onsite
- Location
- San Diego · Washington, D.C.
- Salary
- USD 100,000-150,000 / year
About the role
- As a Simulation Framework Engineer (L2) on the Simulation Framework Team, you will help develop and maintain the software that connects modeling and simulation (M&S) environments with core autonomy software.
- You will work alongside experienced engineers to write C++ and Python code, build adapters and plugins, and support reusable software components that reduce the simulation-specific complexity exposed to autonomy developers.
Responsibilities
- Develop, compile, test, and maintain C++ and Python software for simulation adapters, plugins, and interfaces.
- Contribute to baseline integrations for simulation backends such as AFSIM, NGTS, Aechelon, HMSSimBlocks, and HMSF.
- Assist with the transition from HMSSimBlocks to HMSF by porting simulation features, updating interfaces, validating behavior, and documenting migration considerations.
- Help maintain and improve existing HMSSimBlocks integrations for programs that still depend on the legacy framework.
- Support the development of reusable simulation components and plugin patterns that enable other engineering teams to integrate custom sensors, vehicle models, effects, or mission capabilities.
- Assist with implementation and maintenance of CIGI-based plugins and interfaces that enable communication between simulation frameworks and Aechelon image generators.
- Help verify functional behavior across simulation plugins, including Common Scenario Format (CSF) file loading, DDS communications, GRID interface requirements, and Hivemind SDK compatibility.
- Diagnose simulation and autonomy integration issues by reviewing application logs, network traffic, DDS messages, API behavior, configuration files, and call stacks.
- Write and maintain unit tests, automated integration tests, developer documentation, and example configurations.
- Participate in code reviews, engineering design discussions, bug triage, and collaborative debugging with simulation, autonomy, and integration teams.
Requirements
- Master’s degree in Computer Science, Computer Engineering, Aerospace Engineering, Mechanical Engineering, Systems Engineering, or a related technical discipline; equivalent practical experience may be considered.
- Foundational programming experience in C++ and Python through coursework, internships, personal projects, research, or professional experience.
- Familiarity with Linux development environments, including command-line tools, compiling software, and basic scripting.
- Understanding of core software engineering practices, including Git-based version control, debugging, code review, and automated testing.
- Familiarity with object-oriented programming, software interfaces, APIs, and modular software design.
- Exposure to networking concepts such as TCP, UDP, client-server communication, message passing, or data serialization.
- Interest in modeling and simulation, autonomy, robotics, distributed systems, game engines, visualization systems, or defense technology.
- Strong analytical and troubleshooting skills, attention to detail, and willingness to learn from senior engineers and cross-functional partners.
- Ability to obtain and maintain an active U.S. SECRET security clearance; U.S. citizenship is required.
Preferred qualifications
- Internship, academic project, research, or personal-project experience involving simulation, robotics, autonomy, game engines, embedded systems, or vehicle modeling.
- Exposure to modeling and simulation tools or frameworks, including AFSIM, NGTS, Unreal Engine, Unity, Gazebo, ROS/ROS 2, MATLAB/Simulink, or similar environments.
- Familiarity with middleware or distributed communications technologies such as DDS, ROS 2, ZeroMQ, gRPC, or message queues.
- Basic familiarity with CIGI, DIS, HLA, CSF, or other simulation and interoperability standards.
- Experience writing unit tests or automated tests using tools such as GoogleTest, pytest, CTest, or similar frameworks.
- Experience using build systems such as CMake, Make, Bazel, or similar tools.
- Familiarity with containerized development environments, including Docker or Podman.
Skills
- C++
- Python
- Linux
- Git
- TCP
- UDP
- DDS
- ROS 2
- CMake
- Docker