Embedded Software Engineer
Develop and maintain embedded firmware for fire detection and life-safety products. Work on microcontroller-based systems, handle hardware/firmware integration, diagnostics, testing, and production support. Require B.Sc. and 5+ years embedded C/C++ experience.
Responsibilities
- Design, develop, and maintain embedded firmware for multiple products.
- Develop firmware for microcontroller-based systems and embedded devices.
- Collaborate with hardware engineers on board bring-up, debugging, and hardware/firmware integration.
- Develop diagnostic, testing, and production-support capabilities.
- Contribute to system architecture, technical design, and code quality.
- Support verification, certification, compliance, and production processes.
- Collaborate with QA, Software, Engineering, and Support teams.
Requirements
- B.Sc. in Electrical Engineering, Computer Engineering, Computer Science or related field.
- 5+ years of hands-on embedded / firmware development experience.
- Strong programming skills in C / C++.
- Experience developing firmware for microcontrollers.
- Good understanding of embedded systems, electronics, and hardware interfaces.
- Experience with embedded communication protocols (UART, SPI, I2C, Ethernet).
- Experience with debugging embedded systems using laboratory and debugging tools.
- Ability to understand schematics and work closely with hardware engineers.
- Strong problem-solving and troubleshooting skills.
- Ability to work independently and take ownership.
- Good communication and teamwork skills.
Nice to have
- Experience with ARM Cortex-M based microcontrollers, including STM32 and/or NXP.
- Experience with IoT and industrial communication protocols such as Modbus, BACnet, MQTT.
- Experience with cybersecurity for embedded devices.
- Experience with regulatory, certification, or compliance processes.
- Experience supporting products through NPI and mass production.