- Have an excellent 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
- Independently scope out work and specify epics and stories based on sparse initial specifications and requirements
- 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 other team members in technical and ways-of-working matters and create a positive and engaging team environment
- Lead technical initiatives and take on leadership duties for the team
- 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
- Degree in engineering or equivalent industry experience
- 5+ 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
Principal Software Engineer - Singapur, Singapore - Dyson
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 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 Lead Software engineer, you are expected to:
Responsibilities:
About you
Required:
Beneficial:
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