Embedded Software Engineer II
Core
Design, develop, debug, and maintain embedded software applications and firmware for next-generation fire detection systems.
Role type
Early-career embedded software engineer
Builds
Fire alarm systems and embedded platforms for building safety
Domain
Industrial automation / Fire safety
Deliverable
production ML models | product features | infrastructure
Required skills
C/C++ programming, embedded Linux/RTOS/bare-metal development, microcontroller/processor programming, software debugging, unit/integration/system testing, Git version control
Preferred skills
ARM microcontrollers, communication protocols (SPI/I2C/UART/Ethernet/USB), FreeRTOS/ThreadX/Zephyr, Python scripting, automated testing, secure software development, regulated industry experience
Technologies
C, C++, embedded Linux, RTOS, FreeRTOS, ThreadX, Zephyr, Python, Git, SPI, I2C, UART, Ethernet, USB, oscilloscopes, logic analyzers, JTAG debuggers
Responsibilities
Design, develop, debug, and maintain embedded software applications and firmware; Implement software features using C/C++; Develop software for microcontrollers, processors, and real-time embedded systems; Participate in software architecture, design reviews, and code reviews; Create and execute unit, integration, and system-level tests; Support debugging efforts using oscilloscopes, logic analyzers, JTAG debuggers, and other development tools; Investigate and resolve software defects and performance issues; Collaborate with hardware, systems, and test engineers to integrate software with embedded platforms; Develop and maintain technical documentation, including software design specifications and test procedures
Seniority
Early-career, hands-on IC