Software Engineer - Machine Learning


SGD Competitive Remuneration Package
Robotics and Machine Learning


Dyson began twenty one years ago with James Dyson and a handful of engineers questioning everyday products, thinking differently and making them better. We are now the world's number one vacuum cleaner manufacturer in the UK, US, Japan, Europe and Australasia.


We've even branched out to improving commercial technology that frustrates us.  The Dyson Airblade hand dryer dries hands in ten seconds, it’s also the most hygienic and energy efficient hand dryer available. And more recently a fan, Air Multiplier, with no blades or grille.


There are over 4000 in the world and we’re all inventive and hugely passionate about what we do. At our Development Centre in Johor Bahru, Malaysia & Singapore there are almost 1600 of us, a mixture of engineers and support staff, we are Dyson people that are encouraged to think differently, challenge convention and be unafraid to make mistakes. Our teams there will rise to more than 2000 over the next 2 years.


  • Design and implement robotics software application for Dyson’s products and ecosystem
  • Integrate software with robotics hardware and mechanics
  • Collaborate with robotics research engineers to implement theoretical robotic algorithms
  • Support the definition of system architecture for robotic products
  • Support the development of test and simulation tools through requirements definition
  • Support  the robotics software test and validation strategies


  • Strong background in C++.
  • Demonstrable industrial C++ experience.
  • Proficiency with modern C++ idioms. Any of the following would be of interest: STL/standard library, smart pointers, functional programming style, design patterns, C++11.
  • Software Configuration Management tools (source control, continuous integration, etc.).
  • Ability to plan and estimate development tasks (ideally within an Agile framework).
  • Experience with unit/acceptance testing and writing testable code.
  • Command of advanced C++/programming techniques e.g. templates, concurrency.
  • Previous Linux experience (e.g. basic system administration).
  • Use of Qt libraries.
  • Some knowledge of Python.
  • Experience with concurrent/distributed programming.
  • Mathematical/scientific background.
  • Low-level microprocessor development.
  • Great team player and able to communicate complex Machine Learning concepts to other team members
  • Independent, Integrity and self-driven with a strong focus on results


Dyson Singapore monitors the market to ensure competitive salaries and bonuses. Beyond that, you’ll enjoy a transport allowance and comprehensive medical care and insurance. But financial benefits are just the start of a Dyson career. Professional growth, leadership development and new opportunities abound, driven by regular reviews and dynamic workshops. And with a vibrant culture, the latest devices and a relaxed dress code reflecting our engineering spirit, it’s an exciting team environment geared to fuelling and realising ambition.

Posted: 14 January 2019