Senior Robotics Software Engineer


Robotics and Machine Learning
Malmesbury - United Kingdom


Showcasing the cutting-edge robotic technologies of the future involves bringing together talented people who share common ambitious goals and visions, rethinking problems and framing them properly, utilising the right tools and resources, and doing all of this at the right time. That’s our goal: to build a world class robotics team with a focused vision of robots solving concrete problems in the real world.

We want to create a team that is able to work alongside our roboticists to develop innovative software systems that turn theory into practice. It is this culture of ambition and excellence paired with an enjoyable and healthy work-life balance that makes Dyson different! It’s a place to unleash your passion, talent, ideas and show what robots can do for the world.

No robotics experience necessary!

Dyson’s Robotics Research Software Team specialises in creating early stage proof-of-concept systems that utilise state-of-the-art software algorithms, frameworks, techniques, and tooling. We need software developers that are at home programming parallel, distributed, and heterogeneous compute systems – from embedded devices up to the cloud.


  • Lead and develop the software culture within Robotics research by: advocating software best-practices, mentoring junior software developers, and championing the use of state-of-the-art software methodologies and tools across the wider robotics research team.
  • Design and implement our high-level software stack; ensuring that it works robustly on both simulated and real-world robots.
  • Work alongside our roboticists to transfer key technologies into our software stack.
  • Rapid prototyping of systems from embedded real-time systems to cloud services.


  • Masters or PhD in computer science (or similar).
  • A curiosity for new technologies.
  • Sound knowledge and experience in Linux System and open-source software.
  • Experience working with complex systems – especially concurrent, distributed, or parallel systems – e.g. compilers, operating systems, messaging systems.
  • Strong experience in systems programming -- Rust and C++ (2011).
  • Experience programming distributed-systems -- 0MQ, Protobuf, or gRPC.
  • Experience with tools for continuous integration and delivery – e.g. CMake, git, Bamboo, and Artifactory.
  • Good understanding of the software lifecycle.

We know that you may not necessarily come from the robotics domain and as such are interested in hearing from people that have experience in the following areas: parallel-programming and code optimisation; software systems and cloud services; or 3D visualisation.


  • 27 days holiday plus eight statutory bank holidays
  • Pension scheme
  • Performance related bonus
  • Life assurance
  • Sport centre
  • Free on-site parking
  • Subsidised café and restaurants
  • Discounts on Dyson machines

Posted: 12 August 2019