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.

Principal Software Engineer - Robotics Research

Summary

Salary
SGD Competitive Remuneration Package
Team
Research Engineering
Location
Singapore, Singapore - Singapore

Description

As part of the Robotics Research group at the Dyson Singapore Technology Center, reporting to the Head of Robotics Research, you will be working within a cutting-edge Robotics & Vision systems team developing robots from the concept through to installation. We are building a team of full-stack software engineers within the research team to help design and architect the system, develop a CI pipeline and re-write/port research software to deployable standards. All with the goal of preparing for handover of projects to the downstream development teams. The team is highly multidisciplinary covering topics including Computer Vision, Machine Learning, Robot Control, Mechatronics and Electronics, Human-Robot Interaction, all with the backdrop of friendly and multi-cultural work environment. As a software engineer, you’ll be working directly with domain expert to develop the state-of-the-art robotics prototype.

Accountabilities

As a principal software engineer, you are expected to
  • Have a strong technical background, spend time researching new technologies and pitch new ideas to senior management to implement change
  • Ensure that the code we write matches the product and business needs and scale appropriately
  • Effectively lead and deliver projects with significant complexity and stakeholder interaction 
  • Encourage team members to mentor each other and support them to share their knowledge 
  • Manage interactions and process between groups and promote best practices 
  • Architect the Continuous Integration pipeline for a complex distributed robot software system 
  • Design and build simulation test beds for integration testing of the code-base 
  • Architect a complex robot software system to be scalable and easy to deploy. 
  • Design and port research level implementations in C++/Python/MATLAB to robust C++ based implementation 
  • Implement and optimise numerical method for hardware accelerators/embedded systems. 
  • Drive a culture of software quality that can progressively become the norm even with early research

Skills

  • Bachelor’s Degree is Computer Engineering or similar 
  • Excellent skills in C/C++ and distribute system design 
  • Excellent knowledge in Linux System and open source software 
  • Good understanding of systems architecture: Processor architectures and hardware accelerators (ARM, DSP and GPU) 
  • Strong experience with tools for SCM and continuous integration/delivery (git, bitbucket, bamboo) 
  • Strong background in development best practices like testing, source control and agile planning 
  • Working knowledge of a scripting language such as Python
Desirable:
  • 10+ years’ experience with C++ software development, real-time systems, robotics or sensors 
  • Experience in parallel programming and software optimisation 
  • Experience with the Robot Operating System (ROS) and messaging frameworks 
  • Experience with MATLAB/Simulink

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