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.

Senior Software Engineer - Robotics


Design and Development
Singapore - St James Power Station Headquarters

About us

Dyson is a global technology enterprise. We solve the problems others choose to ignore, with surprising new inventions that defy convention and simply work better. We’ve been developing robot technology for over 20 years – 200 engineers, 420 patents and £28M of investments – but this is just the start of the domestic robotics revolution.

Within Upstream Robotics, Research is investigating state-of-the-art methods to solve concrete real-world problems and pave the way for Dyson’s future autonomous products. At the same time, New Product Innovation is developing Dyson’s next-generation robotic products that leverage the latest technologies.

Our world-class robotics team is highly multi-disciplinary, covering topics including Robot Perception, Reinforcement and Imitation Learning, Planning and Control, Task Intelligence, Software Architecture, Mechatronics and Platform Design within a friendly and multi-cultural work environment.

About the role

As a member of Upstream Robotics’ Software & DevOps team, you’ll design, implement, maintain and extend components of our software platform, support its users, integrate new functionality and take on the occasional proof-of-concept or exploration task. You’ll be collaborating closely with immediate team members, Upstream domain experts and Downstream colleagues. This is an opportunity to play a key role in continuously improving the architecture, practices and tooling with the goal of accelerating research and development, closing the gap to production and shortening time-to-market.

As a Senior Software Engineer, you are expected to:

  • Have a solid understanding of core development concepts and best practices

  • Work with focus, attention to detail and consideration of system-wide implications

  • Deliver tasks effectively to specification, on agreed time and with little assistance, but know when to seek clarifications, help or feedback

  • Demonstrate a continuous learning mindset, act on feedback and strive to improve our platform and its utility to users

  • Communicate with the wider team proactively, minding efficiency and quality of conversations

  • Mentor and support junior team members in technical and ways-of-working matters and create a positive and engaging team environment


  • Design, implement, test, maintain and evolve functional components and tools of our software platform

  • Integrate third-party components and implement new system behaviours

  • Port select research prototypes in Python or C++ to modern, robust C++ implementations

  • Help manage the entire high-level software stack, including the operating system, device drivers and user interfaces

  • Participate in the design of a distributed system software architecture that is scalable and deployable

  • Meticulously document and communicate software requirements, design and implementation

  • Drive a culture of software quality and collaboration that can progressively become the norm across the group

About you


  • Degree in engineering or equivalent industry experience

  • 3+ years of work experience with robotic, actuated, real-time or simulated physical systems

  • Strong object-oriented and functional programming skills in modern C++

  • Working knowledge of a scripting language such as Python or Bash

  • Good knowledge and hands-on experience with Linux system and toolchains

  • Proficient use of development best practices and tools including version control, unit testing, continuous integration and continuous delivery (CI/CD)

  • Ability to break down problems, estimate development effort and prioritise work

  • Habit of exercising engineering precision


  • Professional software development experience in a production environment

  • Significant contributions to open-source projects

  • Experience inspecting, debugging, testing and profiling complex software systems

  • Experience with parallel programming and performance optimisation

  • Experience with ONNXRuntime, TensorRT, CVflow, RKNN or deployment to NPU-based platforms

  • Experience with profiling and optimizing machine learning models for target hardware

  • Experience making real robots or autonomous systems work robustly in the field

  • Experience with ROS 2, DDS-based middleware systems and messaging frameworks

  • Experience with simulation environments such as Unity or Isaac Sim and simulation at scale in the cloud

  • Experience with Yocto/BitBake based build systems

  • Experience with containerised development and deployment

  • Experience with behaviour planning and decision making architectures


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.



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.