As a Physics Simulation Engineer on our Dynamics team, you'll build and extend the physics engine that gives every simulated vehicle, aircraft, drone, and robot physically accurate behavior. Responsibilities may vary from month to month, but here are some examples of things you might find yourself working on.
Responsibilities
- Implement and extend numerical solvers for dynamics simulation, including implicit, semi-implicit, and constraint-based methods (e.g. matrix‑free PCG, direct solvers, PBD/XPBD‑style projections), that scale to large, contact‑rich scenes.
- Develop high‑fidelity contact and collision handling, including penetration handling, penalty and dual methods, and friction, that holds up at scale.
- Read, evaluate, and implement techniques from state‑of‑the‑art simulation research and from other production engines, adapting them for use in our own.
- Validate the correctness of new methods you implement, both mathematically and empirically, so the team can stand behind the engine's fidelity.
- Diagnose and resolve simulation instabilities (e.g. energy drift, blow ups, conditioning issues) and profile solver performance to find and fix bottlenecks.
- Contribute to material/constitutive models and degree‑of‑freedom representations spanning rigid bodies, articulated systems, cloth, and deformables.
- Write clear documentation and translate complex math into concepts approachable by engineers without a physics or applied‑math background.
- Collaborate closely with the team's controls and characterization engineers to make sure new engine capabilities serve real vehicle and robot validation needs.
Qualifications
- An engineering or related technical degree (e.g. computer science, applied mathematics, physics, mechanical/aerospace engineering), or equivalent hands‑on experience shipping a physics or dynamics simulation engine.
- Significant experience developing or contributing to a real‑time or offline physics/dynamics simulation engine in games, VFX, robotics, or research.
- Strong software engineering practices, including clean architecture, testing, code review, and version control.
- Strong intuitive understanding of linear algebra, quaternions, multivariable calculus, and numerical methods.
- Ability to read, understand, and adapt techniques from simulation research papers and/or other production engines.
- Familiarity with numerical time integration for dynamics (e.g. implicit/semi‑implicit Euler, symplectic integrators, or constraint‑based methods like PBD/XPBD).
- Experience solving the large systems that arise in dynamics simulation, whether through iterative methods (e.g. PCG), direct solvers, or other specialized approaches.
- Experience with contact and collision handling in a simulation context (e.g. penalty methods, constraint‑based methods, friction models).
- Practical experience building dynamics simulations at scale (e.g. BVH‑based collision detection, multithreading, GPU programming, or sparse matrix management).
- Strong debugging and profiling skills in a numerical context — diagnosing instabilities, tracking down blow ups and energy drift, and benchmarking solver performance.
- Proficient in Rust and/or C++.
- Bonus: Deep familiarity with variational/energy‑based formulations of implicit integration (e.g. Incremental Potential Contact, Projective Dynamics) and modern solvers such as Vertex Block Descent.
- Bonus: High‑fidelity, penetration‑free contact handling at scale, including primal‑dual or dual methods.
- Bonus: Domain expertise in a specific simulation area (e.g. codimensional rods, cloth, FEM, MPM/SPH, material modeling).
- Bonus: Published research in a top venue (e.g. SIGGRAPH) and/or experience applying novel research methods in an industrial (non‑academic) setting.
- Bonus: Experience with variational/energy‑based, block‑structured, or similarly modular physics engine architectures.
- Bonus: Experience with vehicle, aircraft, drone, or robotics dynamics simulation, or sim‑to‑real transfer.
- Bonus: Familiarity with machine learning frameworks, training, and inference. Not a core requirement for this role, but preferable given close collaboration with the team's more robotics/ML‑focused engineers.
Our compensation reflects the cost of labor across several US geographic markets. The total pay for this position ranges from $100,000 a year up to $300,000 a year + equity + benefits. Pay is based on several factors, including market location and may vary depending on job‑related knowledge, skills, and experience. The total compensation package also includes benefits such as medical, dental and vision insurance; Unlimited paid time off; and more.