- Design and Development
- Singapore - St James Power Station Headquarters
You'll be an experienced real-time embedded 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 embedded software platform team and contribute to the development of CI/CD pipeline, build system, tool chain, board bring up and Linux BSP integration, and providing a reliable hardware abstracted platform to enable the development of upper layer application in our robotic 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, 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.
About the role
- 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
- Design and implement software platforms to abstract hardware and enable application/algorithm engineers to implement features on AI-enabled 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.
- 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 Engineering, Computer Science, Electrical Engineering, Robotics Engineering or similar.
- 5+ years' experience in embedded software development in a large-scale C/C++ code base.
- Excellent knowledge and hands-on experience in Linux tool-chain, Yocto build system, board bring up and embedded Linux kernel/driver porting for system integration.
- Experience in fulfilling CI/CD pipeline setup, 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: BSP/Board Support Package, Operating Systems, Linux kernel and device driver, Bootloader, Power Management, V4L2.
- 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.
- Hands-on software development experience with the C and C++ programming languages and one of scripting languages such as Bash and Python.
- 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.
- 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. #LI-DYSON
At Dyson, it's about more than our machines. We recognise that our success comes from our inventive people. We believe in including everybody and supporting you on your journey with us
We are following the government guidelines regarding COVID19. At this time all interviews will be conducted via video or telephone. We’re taking these precautionary measures to protect both our employee and candidate wellbeing. Our Talent Acquisition team will work with you and provide further information as appropriate.