About Us
Dyson is a global technology company that sets out to solve the problems others ignore. We create machines that are different, better and more useful through inventive engineering, relentless testing and a refusal to accept conventional answers.
About the Role
As a Robotics Software Engineer, you will design and develop core robotics behaviours and features for intelligent products, contributing to high-performance, reliable, and scalable robotic systems. You will work within a cross-functional team to solve real-world robotics problems, particularly in navigation, perception, and autonomous behaviour.
Key Responsibilities
Design and develop robotics behaviours and features for embedded systems
Implement algorithms for navigation, control, and task execution in robotic platforms (e.g., vacuum robots)
Contribute to full software lifecycle: requirements, design, implementation, testing, and maintenance
Participate actively in feature design discussions and code reviews
Optimize system performance, robustness, and reliability
Collaborate with hardware, product, and testing teams
AI/ML Responsibilities
Implement and integrate ML models into embedded/edge robotics systems, ensuring efficient runtime performance (latency, memory, power constraints)
Support development of perception modules:
Object detection and classification (e.g., obstacles, floor types, dirt detection)
Basic scene understanding for navigation
Assist in data pipeline activities:
Data collection from robots (logs, sensor data)
Data annotation and preprocessing for model training
Work on feature-level intelligence:
Cleaning optimization behaviours (coverage, path efficiency)
Basic adaptive behaviours based on sensor inputs
Collaborate with ML engineers to:
Validate models in real-world robotic environments
Debug model failures in production scenarios
Use GenAI tools (Copilot, Claude, etc.) to:
Accelerate implementation of ML pipelines and test harnesses
Improve code quality and documentation for AI components
About You
2+ years in robotics or embedded software development
Strong programming skills in C++ (modern standards), Python
Experience in:
Robotics behaviour development (navigation, path planning, control)
Embedded systems and real-time software
Familiarity with software design patterns and clean architecture
Foundational understanding of machine learning principles:
Supervised learning, classification, regression
Basic neural networks and model evaluation concepts
Exposure to robotics perception fundamentals:
Computer vision (e.g., OpenCV, image processing)
Sensor data handling (camera, LiDAR, IMU)
Familiarity with ML frameworks (e.g., PyTorch, TensorFlow Lite) for basic model integration
Understanding of edge/embedded ML constraints:
Latency, memory, compute, and power trade-offs
Experience supporting data pipelines:
Data collection, preprocessing, and labeling workflows
Basic knowledge of robotics behaviour systems:
Navigation, obstacle avoidance, simple planning logic
Awareness of performance optimization techniques:
Multithreading, concurrency, and efficient resource use
Practical experience using GenAI tools (e.g., GitHub Copilot, Anthropic Claude):
Code generation, debugging assistance, and documentation
Strong analytical skills with ability to debug real-world robotics + ML issues
Strong problem-solving mindset and learning agility
Dyson is an equal opportunity employer. We know that great minds donβt think alike, and it takes all kinds of minds to make our technology so unique. We welcome applications from all backgrounds and employment decisions are made without regard to race, colour, religion, national or ethnic origin, sex, sexual orientation, gender identity or expression, age, disability, protected veteran status or other any other dimension of diversity.