Start Your Search Here

Job Search

Dyson Operations Pte Ltd

Singapore / Global

Senior Software Engineer - Robotics

Job Description

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 proof-of-concept applications. You'll be collaborating closely with immediate team members, Upstream design and research engineers 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.

Responsibilities:

Contribute to the ideation, exploration and proof-of-concept implementation of new feature and product concepts

Design, implement, test, maintain and evolve functional components and tools of our software platform in modern C++ and Python

Integrate third-party components and implement new system behaviours

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

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

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

About you Required:

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

Preferred:

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

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 ROS 2, DDS-based middleware systems and messaging frameworks

Experience with parallel programming and performance optimisation

Experience with simulation environments such as Isaac Sim, MuJoCo or Genesis and simulation at scale in the cloud

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

Experience with NVIDIA ecosystem (Jetson, NITROS, TAO, DeepStream)

Experience with profiling and optimizing machine learning models for target hardware

Experience with Yocto/BitBake based build systems

Experience with containerised development and deployment

Experience with behaviour planning and decision making architectures

Experience with robot perception, motion planning, control, reinforcement or imitation learning or VLMs

Apply Now

Similar Opportunities

View all jobs