Senior Software Engineer - Robotics
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.
Robotics Research at Dyson 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, Machine Learning, Robot 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 senior 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
Responsibilities:
Integrate or rearchitect functional software components and implement new system behaviours
Port research level implementations in Python or C++ to modern, robust C++ implementations
Manage the entire high-level software stack, 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
About you
Degree in engineering or equivalent industry experience
3+ 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
Beneficial:
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 ONNXRuntime, TensorRT, CVflow or deployment to NPU-based platforms
Experience with profiling and optimizing machine learning models for target hardware, including comprehensive end-to-end profiling, pruning, quantization and deployment on edge devices
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 (e.g. Unity, Isaac Sim) and simulation at scale in the cloud
Experience with Yocto/BitBake based build systems
Experience with containerised development, deployment and management
Experience with behaviour planning and decision making architectures
Experience with parallel programming and performance optimisation
Benefits
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.
#LI-ONSITE
#LI-TM1
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.
* Salary range is an estimate based on our AI, ML, Data Science Salary Index 💰
Tags: Architecture CI/CD Computer Vision Engineering Linux Machine Learning ML models Open Source Python Research Robotics TensorRT Testing
Perks/benefits: Career development Insurance Startup environment
More jobs like this
Explore more AI, ML, Data Science career opportunities
Find even more open roles in Artificial Intelligence (AI), Machine Learning (ML), Natural Language Processing (NLP), Computer Vision (CV), Data Engineering, Data Analytics, Big Data, and Data Science in general - ordered by popularity of job title or skills, toolset and products used - below.
- Open Data Manager jobs
- Open Lead Data Analyst jobs
- Open MLOps Engineer jobs
- Open Senior Business Intelligence Analyst jobs
- Open Data Science Manager jobs
- Open Principal Data Engineer jobs
- Open Data Engineer II jobs
- Open Sr Data Engineer jobs
- Open Power BI Developer jobs
- Open Data Scientist II jobs
- Open Product Data Analyst jobs
- Open Business Intelligence Developer jobs
- Open Data Analytics Engineer jobs
- Open Junior Data Scientist jobs
- Open Sr. Data Scientist jobs
- Open Senior Data Architect jobs
- Open Business Data Analyst jobs
- Open Data Analyst Intern jobs
- Open Big Data Engineer jobs
- Open Principal Data Scientist jobs
- Open Manager, Data Engineering jobs
- Open Junior Data Engineer jobs
- Open Data Product Manager jobs
- Open Data Quality Analyst jobs
- Open Research Scientist jobs
- Open GCP-related jobs
- Open Data quality-related jobs
- Open Business Intelligence-related jobs
- Open Java-related jobs
- Open ML models-related jobs
- Open Data management-related jobs
- Open Privacy-related jobs
- Open Data visualization-related jobs
- Open Finance-related jobs
- Open Deep Learning-related jobs
- Open PhD-related jobs
- Open APIs-related jobs
- Open TensorFlow-related jobs
- Open PyTorch-related jobs
- Open NLP-related jobs
- Open Consulting-related jobs
- Open Snowflake-related jobs
- Open CI/CD-related jobs
- Open LLMs-related jobs
- Open Generative AI-related jobs
- Open Kubernetes-related jobs
- Open Data governance-related jobs
- Open Hadoop-related jobs
- Open Airflow-related jobs
- Open Docker-related jobs