- Science and Research
- Singapore - Technology Centre
The Robotics Research Team specialises in creating proof-of-concept systems that utilise state-of-the-art software algorithms, frameworks, techniques, and tooling to solve concrete real-world problems and pave the way for Dyson’s future autonomous and intelligent products.
Our world-class robotics team is highly multi-disciplinary, covering topics including Computer Vision, Robot Learning and Control, Mechatronics, Human-Robot Interaction and Platform Design within a friendly and multi-cultural work environment. The software platform group integrates functional components into complete prototypes with a focus on system architecture, software quality and target platform deployment.
About the role
As a software engineer, you’ll be working with domain experts to develop state-of-the-art robot prototypes that turn theory into practice. This is an opportunity to play a key role in continuously improving the architecture, practices and tooling with the goal of closing the gap to pre-production and shortening time-to-market. Join a passionate and growing team working to put functional advanced robotic solutions into the homes of the general public.
As a robotics software engineer, you are expected to:
Have a solid understanding of core development concepts and development best practices
Work with focus, attention to detail and consideration of system-wide implications
Effectively deliver stories or tasks within projects to specification, on time and with little assistance, but still know when to ask for help
Communicate with the wider team appropriately, focusing on efficiency and quality of conversations
Mentor and support junior team members in technical matters and create a positive and engaging team environment
Integrate or re-architect functional software components and implement new system behaviours
Port research level implementations in Python or C++ to modern, robust C++ implementations
Work across the entire software stack (above firmware), including the operating system, component drivers and user interfaces
Participate in the design of a distributed system software architecture that is scalable and easy to deploy
Document and communicate software requirements, design and implementation
Drive a culture of software quality that can progressively become the norm even within early research
Further responsibilities may include:
Improve the continuous integration pipeline for a complex distributed robot software system
Develop simulation test beds for integration testing of the codebase
Implement and optimise numerical methods for hardware accelerators/embedded systems
Degree in engineering or equivalent industry experience
1+ years of work experience with robotic, actuated, embedded or real-time 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, prioritise work and estimate development tasks
Professional software development experience in a production environment
Significant contributions to open-source projects
Experience inspecting, debugging, testing and profiling complex software systems
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 advanced physics simulators such as MuJoCo, Isaac Sim or RaiSim
Experience with containerised development, deployment and management
Experience in applying Agile practices
Experience with behaviour planning and decision making architectures
Experience with parallel programming and performance optimisation
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.
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.