code-metal - Principal Physics Programmer, C++ (Modeling & Simulation)
Requirements
• 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.
Responsibilities
• 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.
Benefits
• 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. • 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 • Wage Transparency - The salary range for this role is not a guarantee of compensation or salary, as the final offer amount may vary based on factors including, but not limited to, individual proficiency, skills, experience, and location.
Apply in one click
Upload My Resume
Drop here or click to browse · Tap to choose · PDF, DOCX, DOC, RTF, TXT