Software Engineer - Simulation & Robotics Engineer
Build and evolve a high-fidelity, real-time simulator for autonomous drones, covering physics, sensors, hardware emulation, and autonomy-stack integration. The role requires strong C++ and Python skills plus experience with performance-critical, deterministic, or correctness-sensitive systems.
About the job
Responsibilities
- Design, implement, and evolve the core simulator architecture across vehicle types, environments, and use cases.
- Improve and extend physics models for vehicle motion, environmental interactions, and dynamic agents.
- Build high-fidelity simulations of cameras, IMUs, and other onboard components, including timing, noise characteristics, and hardware behavior.
- Run and validate the full autonomy stack in simulation to ensure consistency between simulated and real-world behavior.
- Implement simulator capabilities for customer and internal autonomy-engineering workflows, including training scenarios and advanced testing modes.
- Profile and optimize simulator performance while improving realism and accuracy.
- Develop core simulator components in C++ and Python under real-time constraints.
- Collaborate with autonomy, perception, and controls engineers.
- Debug interactions among physics, sensors, autonomy logic, and rendering.
- Help shape the simulator's long-term technical direction as a product and internal platform.
- Contribute to simulator documentation and shared technical understanding.
Requirements
- Strong software engineering experience with C++ and Python.
- Experience building complex systems where performance, determinism, or correctness are important.
- Ability to reason about time-synchronized systems, state machines, or real-time execution.
- Ability to work in a large, evolving codebase with multiple stakeholders.
- Interest in robotics, simulation, or physical systems.
Nice to Have
- Experience with robotics, simulation, game engines, or real-time systems.
- Experience with physics engines, sensor modeling, or hardware abstraction layers.
- Multithreaded or low-latency system design experience.
- Experience debugging systems spanning software and physical behavior.
Skills
C++, Python, Robotics, Simulation, Physics Engines, Sensor Modeling, Hardware Abstraction Layers, Real-Time Systems, Multithreading, Low-Latency Design, State Machines, Rendering