Summary
- Salary
- Competitive
- Job Family
- Product Software Engineering
- Location
- Singapore - Technology Centre
About us
You'll be an experienced platform software 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 Intelligent Machine software team and contribute to develop embedded software and firmware for smart IoT products.
You desire to create high quality, robust code to solve diverse real-world problems. You must be fluent in both C and 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/hardware engineers, manufacturing test engineers, to help solve the wide and exciting range of AI-powered devices’ challenges posed by the expanding Dyson product portfolio.
About the role
- Design and implement platform software to enable various intelligent AI applications on Dyson products.
- Bring up new platform and peripherals on embedded Linux/RTOS and lead debugging/tuning task with multiple hardware/firmware teams and suppliers.
- Profile performance problems and drive optimizations that span the entire software stack.
- Manage the entire life cycle of multiple related complex modules and systems, including software build/test/release, manufacturing test/verification methodology, documentation, design, coding, testing, maintenance, and result tracking.
- Build and set up new development tools, CI/CD pipeline and infrastructure for embedded system products.
- Work on ways to automate and improve development and release processes
- 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.
About you
- A bachelor's degree or higher in Computer Engineering, Computer Science, Electrical Engineering or similar.
- 3+ years' experience in embedded software development on Linux and RTOS environment.
- Hands-on software development experience with the embedded C and modern C++ programming and languages and one of scripting languages such as Bash and Python.
- Familiar with STL, boost C++ libraries, design patterns and able to enforce it in day-to-day tasks.
- Knowledge in Linux tool-chain, Yocto/Buildroot build system, board bring up and embedded Linux kernel/driver porting for system integration.
- Experience to develop real-time embedded software on a range of silicon platforms, mainly ARM based MCU/MPU.
- Experience in using CI/CD tools, such as Jenkins/Bamboo, Artifactory, docker, automation test framework, code coverage, code analysis tools, version control tool (git), etc.
- Experience in one or more of the following areas is a plus: BSP (Board Support Package), Linux kernel and device driver, Bootloader, Power Management.
- Experience in sensors/camera/Bluetooth/Wi-Fi modules integration and calibration is a plus.
- Optimism and an excitement about collaborating with teammates and interdisciplinary teams.
- 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
#LI-MDB
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.