Software Engineer, Simulation
The role
As a software engineer in Wayve’s Core Simulation team, you will help develop the simulation system used to evaluate and improve Wayve’s driving intelligence.
Wayve’s end-to-end driving stack creates unique simulation challenges. Rather than testing independently specified modules, we need to reproduce the behaviour of a learned driving system across a complex combination of sensor data, model inference, routing, control and vehicle dynamics. Our simulator must be realistic enough to provide meaningful signal, reproducible enough for teams to trust the results, and descriptive enough to understand differences between simulated and on-road behaviour.
Our open-loop and closed-loop simulation workflows share a common codebase, with different components executed and configured depending on the use case. You will initially work with the team focused on high-scale open-loop evaluation, while contributing to shared components and infrastructure used across the broader simulation system.
This is a hands-on software engineering role working across C++ and Python. You will take ownership of scoped features and integrations, working closely with engineers across Simulation, Robotics, Autonomy, Evaluation, Platform and Data to make simulation accurate, reliable, scalable and useful to its users.
Challenges you will own
Develop and maintain production-quality components within Wayve’s simulation system using modern C++ and Python.
Integrate driving-stack components, simulated robot systems and new vehicle-platform capabilities into the shared simulation environment.
Support different simulation configurations and ensure components interact correctly across applicable workflows.
Investigate differences between on-road and simulated execution, identifying issues across data, inference and simulated components.
Improve simulation reproducibility, reliability and debuggability through automated testing, observability and better developer tooling.
Profile and improve simulator performance, helping us run increasingly large evaluation workloads efficiently.
Work with internal users and adjacent engineering teams to clarify requirements, resolve integration issues and deliver scoped improvements.
Contribute to technical designs and help evolve the quality and maintainability of the simulation codebase.
About you
Essential
Professional experience developing, delivering and maintaining production software in a collaborative engineering environment.
Strong software development skills in C++ and Python, with depth in at least one and the ability to work effectively in both.
Relevant experience in simulation, robotics, autonomous systems or similarly complex systems involving multiple interacting software components.
Good understanding of software and data-oriented design, including how to build code that is maintainable, reusable and extensible.
Experience debugging complex systems and reasoning about interfaces, data flows, timing and failure modes.
Understanding of common software performance issues and the ability to make pragmatic design trade-offs.
Ability to independently deliver scoped features, communicate progress clearly and raise risks or blockers early.
Experience using GenAI development tools, such as coding assistants or agents, to improve productivity while carefully reviewing, testing and validating their output.
Strong communication and collaboration skills.
Desirable
Experience in autonomous vehicles or other robotics applications.
Experience simulating or modelling vehicles, robots or their dynamics.
Experience with middleware or integrating components across complex software systems.
Experience working with sensor data such as camera, radar, lidar or GNSS, including modelling uncertainty or noise.
Experience integrating machine-learning inference into production systems.
Experience with performance profiling, observability or debugging distributed systems.
Familiarity with large-scale batch processing, cloud infrastructure or GPU-based workloads.
This is a full-time role based in our office in London. At Wayve we want the best of all worlds so we operate a hybrid working policy that combines time together in our offices and workshops to fuel innovation, culture, relationships and learning, and time spent working from home. We operate core working hours so you can determine the schedule that works best for you and your team.
As published by ashby · 6 questions
Basics
Name, Email, Resume
Short answers (4)
- Phone Number optional
- What is your current LinkedIn public profile URL
- Website optional
- Can you commit to a minimum of 2 days a week in our Kings Cross office? optional
Pick from a list (1)
- Learn more about how we handle your data for recruiting purposes in our privacy notice
Attachments (1)
- Cover Letter optional