Principal Software Engineer - Singapur, Singapore - Dyson

    Dyson
    Dyson Singapur, Singapore

    1 month ago

    Default job background
    $120,000 - $180,000 per year Technology / Internet
    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:

  • 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
  • Responsibilities:

  • 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
  • About you

    Required:

  • 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
  • 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 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
  • 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