Job Summary
We are looking for a skilled Embedded Software Engineer to design, develop, and maintain software for embedded devices and systems. The role involves close collaboration with hardware teams, technical leads, and stakeholders to deliver high-quality, secure, and performant embedded solutions in a fast-paced environment. The ideal candidate is technically strong, proactive, and eager to learn new technologies as required by the project.
Job Responsibilities
- Design, implement, and maintain software for embedded devices and systems
- Develop new features and enhancements with a strong focus on quality, security, performance, and testability
- Collaborate with Technical Leads and cross-functional stakeholders to deliver reliable and scalable solutions
- Interface closely with hardware design and development teams to support system integration and debugging
- Solve complex technical problems with minimal supervision
- Advocate for continuous improvements in product quality, security, and performance
- Participate in automated testing at both unit and system levels
- Provide post-production and field support as required
- Identify inefficiencies or impediments within the team and propose practical improvements
- Deliver features independently while collaborating closely on larger or more complex initiatives
- Continuously learn and adapt to new technologies required for current and future projects
Job Qualifications
- Strong understanding of embedded systems and hardwaresoftware interaction
- Experience debugging firmware and hardware using tools such as oscilloscopes, logic analyzers, and debuggers
- Solid experience with MCUs (Microcontroller Unit) and peripherals
- Hands-on experience with embedded RTOS
- Experience with bare-metal development
- Knowledge of communication protocols (e.g., SPI, I2C, UART)
- Experience with cellular communications is a plus
- Understanding of signal processing / metering systems (analog-to-digital concepts)
- Experience developing embedded system architectures
- Experience with automated testing (unit and system testing)
- Proficient with Git for version control
- Familiarity with JIRA and Confluence for task tracking and documentation