Embedded Software Engineer
Job Description
- This position offers the opportunity to work across the complete product lifecycle, including requirements definition, software architecture, development, verification, validation, manufacturing support, and ongoing product improvement.
- The successful candidate will play a key role in the design and development of embedded software for complex electronic systems while collaborating closely with hardware, FPGA, manufacturing, quality, and project teams.
- This is an excellent opportunity for an engineer who enjoys both hands-on development and contributing to broader systems engineering activities within a regulated environment.
Key Responsibilities
Embedded Software Development
- Design, develop, and maintain embedded software for advanced electronic products
- Participate in software architecture, requirements analysis, implementation, verification, and validation activities
- Develop reliable hardware/software interfaces and communication protocols
- Support integration and debugging activities across software and hardware platforms
- Contribute to code reviews, testing strategies, and continuous improvement initiatives
Product Development & Systems Engineering
- Support projects throughout the entire product lifecycle, from concept development through manufacturing release.
- Produce and maintain technical documentation including requirements, design specifications, test protocols, and reports.
- Work within structured development processes that incorporate risk management and quality requirements
- Collaborate with cross-functional engineering teams and external partners where required
Manufacturing & Product Support
- Develop and maintain manufacturing test and programming software.
- Support product transfer into production environments.
- Assist with technical investigations relating to manufacturing, quality, and field issues.
- Provide ongoing engineering support for released products.
Required Experience
- Bachelor's degree in Software Engineering, Electronics Engineering, Computer Engineering, or a related discipline.
- 5+ years' experience in embedded software development
- Strong proficiency in Embedded C/C++.
- Experience developing firmware for ARM Cortex-M microcontroller platforms (STM32 experience highly desirable
- Experience with STM32 development tools. Familiarity with communication interfaces including USB, I2C, SPI, UART/RS232, and Bluetooth/BLE
- Experience integrating software with electronic hardware systems.
- Knowledge of structured software development methodologies.
- Experience with coding standards, code reviews, and verification activities.
- Strong written and verbal communication skills.
- Ability to work effectively within multidisciplinary engineering teams.