Staff Physics Programmer, C++ (Modeling & Simulation)
Remote full time
Remote
senior
$200k–$250k
H1B: no
Code Metal Staff Physics Programmer at Code Metal to architect and build core C++ simulation runtime for interactive wargaming platform. Focus on performance, concurrency, and real-time system optimization.
Responsibilities
Our Modeling & Simulation team is building the next-generation wargaming and decision-support platform that helps the DoW make multi-billion-dollar force-design decisions before those decisions are made in the real world. The team spans simulation and physics, backend and data systems, frontend and geospatial visualization, and AI systems, working together to turn operational questions into extensible, mission- and campaign-level simulations that government users can trust.
Help redefine how the DoW makes multi-billion-dollar force-design decisions. We're looking for a Physics Programmer to bring the performance standards of commercial game development to our next-generation wargaming platform. You'll architect and build the core C++ simulation runtime that executes physics, behavior, and mission models developed by engineers and domain experts across the organization. Scope of ownership, architectural authority, and mentorship responsibility scale with level — see “Level Expectations by Track” below.
Your work will span entity-component systems, data-oriented architecture, simulation scheduling, concurrency, deterministic execution, memory management, model integration, and engine-wide performance. The strongest candidates will come from commercial game development, game-engine development, or another performance-constrained real-time environment where frame time, memory, latency, stability, and hardware limitations are non-negotiable. You may have built a custom physics engine, owned core systems within a proprietary engine, or developed low-level physics and runtime infrastructure for a major game platform.
Defense experience is not required. We care more about whether you have shipped real-time C++ systems, optimized them under hard performance budgets, and made foundational architectural decisions within a complex engine codebase.
Architect and implement the core C++ runtime behind a large-scale, interactive wargaming platform.
Own the structure, performance, and long-term health of a substantial engine codebase.
Design and evolve an entity-component-system architecture for representing large numbers of heterogeneous simulation entities.
Build data-oriented component storage, entity lifecycle management, system queries, execution graphs, and dependency-aware scheduling.
Define the engine interfaces through which physics, AI, sensor, weapon, behavior, and environmental models are registered and executed.
Create stable extension points that allow model developers to add capabilities without modifying or destabilizing the engine core.
Design simulation loops, fixed and variable time stepping, event processing, system ordering, state transitions, and deterministic replay.
Develop multithreaded and task-based execution systems that safely parallelize simulation workloads.
Qualification
Expert command of modern C++Experience with engine loops
Required
Extensive professional C++ development experience, or equivalent experience, building performance-critical production software.
Significant experience in commercial game development, game-engine development, or a similarly performance-constrained real-time environment.
Experience shipping at least one commercial game, engine, platform, or interactive real-time product.
Demonstrated ownership of foundational engine systems rather than primarily gameplay features, scripting, tools, or application-level integrations.
Experience building or substantially extending a physics engine, game engine, simulation runtime, ECS, job system, or comparable core technology.
Expert command of modern C++, including object lifetimes, ownership, templates, concurrency, synchronization, profiling, and low-level debugging.
Strong understanding of data-oriented design, memory layout, cache behavior, allocation strategies, and performance-sensitive data structures.
Experience designing or extending an entity-component system or comparable composition-based runtime architecture.
Experience with engine loops, execution graphs, task systems, event systems, dependency management, or runtime scheduling.
Demonstrated ability to optimize against hard CPU, memory, latency, and frame- or tick-time budgets.
Experience using commercial profiling and debugging tools to diagnose CPU stalls, memory issues, thread contention, allocation problems, and cache inefficiencies.
Working knowledge of real-time physics concepts such as coordinate systems, numerical integration, collision detection, spatial partitioning, constraints, and simulation stability.