Principal Physics Programmer, C++ (Modeling & Simulation)
Posted about 20 hours ago
About Code Metal
Code Metal is redefining code translation for mission-critical industries, helping defense partners move more quickly and reliably from algorithm to silicon. Our platform accelerates deployment of DSP, RF, communications, and embedded signal processing algorithms onto heterogeneous compute targets, including GPUs, FPGAs, ASICs, and edge SoCs. We also support automotive, aerospace, and semiconductor partners deploying complex algorithms onto constrained hardware with speed and rigor.
About the Role:
Help redefine how the DoD makes multi-billion-dollar force-design decisions. We’re looking for a Principal 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. 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.
What You’ll Do:
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.
Optimize memory layout, allocation, cache locality, component access, serialization, and data movement.
Profile and improve CPU utilization, memory use, latency, throughput, and simulation rate against explicit performance budgets.
Build spatial indexing, broad-phase query, collision-candidate, visibility, and proximity-query infrastructure.
Integrate externally developed physics and mathematical models into a consistent, performant runtime.
Develop checkpointing, snapshotting, state replication, save-and-restore, and reproducible replay systems.
Establish clear architecture for networked and distributed simulation, including ownership, synchronization, prediction, and state transfer.
Build tooling that allows model developers to inspect entities, debug system execution, profile model cost, and understand simulation state.
Identify and eliminate architectural bottlenecks as simulation scale and model complexity increase.
Lead engine design reviews, mentor other programmers, and raise the standard for C++ architecture and performance engineering.
Remain deeply hands-on in implementation, profiling, debugging, and code review.
Why Code Metal?
Bring game-engine rigor to a new domain: Apply the architecture and optimization practices of commercial games to mission-critical simulation.
Own the foundation: Define the runtime on which every physics, behavior, and mission model executes.
Work under real constraints: Build simulations that perform exceptionally well on modest hardware, not only on HPC clusters.
Solve engine-level problems: Work across ECS design, job systems, memory architecture, determinism, physics integration, and distributed execution.
Ship meaningful systems: Build technology that helps decision-makers evaluate force-design choices before resources and lives are committed in the real world.
What We’re Looking For:
Required Qualifications:
Eight or more years of professional C++ development, 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.
Experience designing APIs, plugin systems, SDKs, or extension frameworks used by other programmers.
Experience maintaining and improving a large C++ codebase while continuing to deliver production capabilities.
Experience leading major technical initiatives while remaining an active individual contributor.
Active Secret clearance or eligibility to obtain one.
Strongly Preferred:
Experience with SIMD, GPU compute, custom allocators, job systems, lock-free structures, or platform-specific optimization.
Experience supporting very large worlds or simulations containing large numbers of active entities.
Experience with engine-level serialization, snapshotting, replay, world partitioning, or streaming.
Familiarity with aerospace, robotics, autonomy, defense simulation, HLA, DIS, or AFSIM.
Active TS/SCI clearance.
Benefits
Pay depends on experience, but we strive to be at the upper end of the salary range
Health care plan with 100% premium coverage, including medical, dental, and vision
401k with 5% matching
Paid Time Off (uncapped vacation, plus sick and public holidays)
Flexible hybrid or remote work arrangement
Relocation assistance for qualifying employees
We are an equal opportunity employer. US Citizenship may be required for certain project assignments involving security clearance.
Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.
Other open roles at Code Metal(6)
Jobr aggregates jobs directly from company career portals — no middlemen. Our team applies on your behalf with AI-tailored resumes, reviewed by a human before submission.