Skip navigation

Have you considered using our job search? Click here to search our current jobs.

Have you considered using our job search? Click here to search our current jobs.

Lead Robotics Software Engineer

Summary

Salary
Competitive
Team
Science and Research
Location
United Kingdom - Hullavington Office

About the Role

Showcasing cutting-edge robotic technologies involves bringing together talented people who share common ambitious goals and visions, rethinking challenges and framing them properly, utilising the right tools and resources, and doing all of this at the right time. That is Dyson’s goal: to build a world class robotics team with a focused vision to develop and innovative robots that both solve concrete, real-world problems and disrupt the consumer robotics market.

It is our culture of ambition, reframing problems and engineering rigour paired with an enjoyable and healthy work-life balance that makes Dyson different. It is a place to unleash your passion, ambition, talent, and creative ideas to show what robots can do for the world.

We are creating a team of world-class roboticists to develop innovative software platforms/systems that turn theory into practice through producing working robots from the ground up. You will join an international, multi-cultural and interdisciplinary team of engineers and researchers with expertise across multiple domains including mechatronics, electronics, computer vision, motion planning, control, and machine learning. With this expertise we are pursuing our ambitions of developing cutting-edge robotic systems that are yet to be seen on the consumer market.

This role is focused on technical integration that draws upon and transforms research output into working prototypes that demonstrate technical plausibility of our product visions. Be prepared to touch and develop all parts of our software stack in some way, including hardware interfaces/drivers, hardware abstraction layers, control, planning & perception, and high-level

behaviours. Similarly, expect to work with real robots built in-house and get them running. The ultimate goal is to develop software that runs on real robots to make them do useful things and solve practical problems in the home.

Job Responsibilities

  • Developing robotics software in simulated environments (e.g., Gazebo, Pybullet, MuJoCu) and then running/testing the software on the embedded platforms onboard our prototypes.

  • Help setting up and maintaining embedded computers (e.g., NVidia Jetson) that run at the heart of our robots.

  • Building Linux distributions that run on the embedded devices using Yocto.

  • Ensuring hardware drivers (e.g., actuators & sensors and networking) and interfaces (e.g., SPI, I2C, EtherCAT) work properly.

  • Embodying good software design and engineering practices and culture by setting standards and an example to more junior members of the team.

  • Helping shape software architectures for distributed robotic systems.

Required Skills

  • Developing and deploying software on distributed & embedded Linux systems.

  • Strong programming languages knowledge (C/C++ & Python essential).

  • Strong experience with Software Versioning tools and practices, specifically using git, branching strategies, code review, etc.

  • Experience versioning software, release strategies, release testing.

  • Cross compiling software.

Desired Skills

  • RTOS/Bare metal microcontroller experience.

  • Familiarity with using Yocto (Timesys, etc.) to create/maintain Linux distributions.

  • Understanding of networking (appreciation of OSI model, Linux networking stack, etc.).

  • Running & Debugging ROS 1/2 systems on distributed, multi-computer networks.

  • Containerisation technology (e.g., Docker) and orchestration tools (e.g., Kubernetes, Docker Swarm).

  • Experience with GPU compute (OpenCL, CUDA) development.

  • Software architecture design for both high-level (e.g., computer vision pipelines) and lowlevel (e.g., hardware abstraction layers) systems.

  • Hardware in the Loop Testing for mechatronic devices.

  • Linux kernel driver hacking/developing.

#LI-DYSON


At Dyson, it's about more than our machines. We recognise that our success comes from our inventive people. We believe in including everybody and supporting you on your journey with us

Interview guidance

We are following the government guidelines regarding COVID19. At this time all interviews will be conducted via video or telephone. We’re taking these precautionary measures to protect both our employee and candidate wellbeing. Our Talent Acquisition team will work with you and provide further information as appropriate. 

Closing date: 29 October 2021