- Design and Development
- Singapore - St James Power Station Headquarters
Intelligent Machines (IM) Team is working on robotics and machine learning software development. You will work with a group of world-class software architects, robotics software specialists, and machine learning specialists on Dyson’s most complex products development
About the role
You'll be an experienced real-time embedded system engineer with excellent knowledge in software build/test/release process for continuous integration and continuous deployment (CI/CD). Working in an agile cross-functional team, you will be a key member of the embedded software platform team and contribute to the development of CI/CD pipeline, sensors integration, system kernel and board bring up, and providing unified hardware abstraction layer to enable the development of more complex behaviour features in the upper application layer of edge devices.
You desire to create high quality, robust code to solve diverse real-world problems. You must be fluent in C++ and be comfortable in the whole product life cycle, including design, implementation, deployment, testing and debugging of firmware and application code.
You'll collaborate with architects, software, firmware and hardware engineers, manufacturing test engineers, and specialist engineering to help solve the wide and exciting range of AI-powered devices’ challenges posed by the ever expanding Dyson product portfolio.
- Responsible for the design, development and deployment of software build/test/release pipeline for continuous integration and continuous delivery (CI/CD) of embedded system products.
- Design and develop the behavioural application running on the intelligent edge devices
- Design and development of the firmware and software platforms to enable behaviours/application engineers to implement features on AI-enabled products and facilitate mass production.
- Manage the entire life cycle of multiple related complex modules and systems, including the behavioural application, image build/test/release, hardware abstraction layer discussion, manufacturing test/verification methodology, documentation, design, coding, testing, maintenance, and result tracking.
- Good product sense and keen focus on product performance and test automation efficiency.
- Act as subject matter expert (SME) in specific domain, disseminating knowledge, guiding and mentor engineers in methodology, best practice and standards
- Proactively identify technical risks within projects and influence engineering teams in their resolution
- In-depth participation in cross-teams product design discussions will be required.
- A bachelor's degree or higher in Computer Engineer, Computer Science, Electrical Engineering Applied Mathematics, or similar.
- 10+ years of work experience in embedded system development, including board bring up, embedded Linux kernel/driver porting for system integration, and MCU/RTOS firmware development.
- Must have industry experience in architecting software application running on embedded system.
- Experience in fulfilling continuous integration and continuous delivery (CI/CD) pipeline setup.
- Excellent knowledge and hands-on experience in Linux tool-chain, Yocto build system, version control tool (git), configuration, etc.
- Experience in configuration and use of sensor devices over I2C, SPI, UART with DMA
- Experience in sensors/camera/BT/Wifi modules integration and calibration is a plus.
- Experience in automated testing and manufacturing test process is highly desired.
- Good understanding of software development life cycles and basic electronics hardware (interface to software systems)
- Excellent object oriented programming capability, including speed and overall quality; preferably, the candidate shall be able to write high performance product quality code with C++.
- Familiar with STL, boost C++ libraries, design patterns and able to enforce it in day-to-day tasks.
- Strong proficiency in multithreading programming and synchronisation mechanisms.
- Proficient in scripting languages, such as Python and Bash.
- Experience in Agile practices is a plus.
- The ability to learn continuously and improve oneself.
- Professionalism and excellent communication skills; ability to communicate complex information at every level.
- Optimism and an excitement about collaborating with teammates and interdisciplinary teams (including hardware/firmware/system/software engineers and suppliers’ FAE), and technically support development (such as manufacturing test engineers).
- For a highly experienced candidate, we expect excellent technical guidance skills and the ability to influence the work of others. Experience in over-sighting high complexity software development projects is an advantage
- Independent, Integrity and self-driven with a strong focus on results to ensure that the whole team succeeds in its goals.
- Fluent in spoken and written English
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.
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.