Please note that this vacancy has expired and you can no longer apply.
What will you do
You’ll be part of the Simulation team, making an environment to train and test our driving software. If you’re a game developer, you’ll find some things familiar, but our focus is on reliability and validation. Rather than prescribing what experience you should have, we want you to tell us how your expertise can add to the team. Here are some examples of skills you might bring:
You can solve maths problems about physical simulation and control
You have degree-level studies in maths, physics, or mechanical engineering
Perhaps some of your previous work has been in Matlab, but you can also contribute to a larger C++ project
Maybe you’ve made a racing game or written a simulator for a vehicle manufacturer
Simulation system integration
You have some experience integrating robotics projects using ROS
You’re happy working in multiple languages and operating systems
You’ve set up projects to use continuous integration
Sensor and optics modelling
You’re experienced in graphics programming – maybe real-time, maybe offline – and you’ve done some shader programming
You understand how cameras work – and what artefacts they can cause
You’ll be writing simulations for our cameras, ultrasound, lidar, and other sensors
You’ve worked with an asset pipeline before, and you’re looking for a slightly different challenge.
There’s a lot of raw data and you will automate some tasks that would otherwise need to be done by hand.
You’re familiar with mesh decimation, texture mapping, and polygon count budgets
Fuzzing and failure analysis
You have some experience in security research or pentesting, or in testing vision systems
You’ve set up a testing environment with American Fuzzy Lop or similar, so you understand how to apply fuzzing in practice
You can help determine what parameters might be significant to find the limits when systems fail
You can direct our validation efforts, and create the tools our vision researchers need to ensure they test their algorithms correctly
Your typical day might look like this:
At the team meeting, you learn that an artist is having to process a lot of meshes by hand. You spend an hour shadowing them so you can see what they’re doing, and you decide to make a tool to help automate the process.
You add a new simulator feature (maybe simulating a new camera artefact, extending the scenario generator, or adding a new real-time output) and demonstrate your change to the machine learning team that will be using it.
A vision researcher shows you their new algorithm. You imagine what kind of inputs might break it. Your team talks about this, and between you, you plan what work is needed to make the simulator produce this situation and provoke the failure. It needs some new models to be found, a change to the scenario generator to use the new models, and some experiments to find the worst case. You review a code change made by a colleague in a slightly different field. You don’t completely understand the maths their code implements, but you spot a race condition in the code and show them how they could have avoided it.
Plan a trip to a relevant conference such as SIGGRAPH or ROScon
Join a well funded European tech business with epic ambition
See your work on the streets of London in 2019
Enjoy working in a smart, low-ego multi-cultural team from a variety of industries
Grow with us as we scale up whilst delivering meaningful work that really matters
Benefit from a competitive salary package, BUPA medical care and stock options
Freedom from the cycle of continual deadline crunching