Principle Software Engineer – Embedded Systems
Core
Designing, developing, reviewing, and maintaining embedded software and firmware for next-generation electrical connected products, integrating with hardware, sensors, and peripherals.
Role type
Principal Software Engineer (Embedded Systems)
Builds
Embedded software/firmware for electrical connection and protection solutions
Domain
Electrical engineering / Embedded systems / Industrial connectivity
Deliverable
production ML models | product features | infrastructure
Required skills
Embedded C programming, Linux-based OS development, RTOS development, low-level driver development, system integration, communication protocol implementation (Ethernet, Modbus), debugging (JTAG, logic analyzers, oscilloscopes), code optimization for memory/processing efficiency, static analysis, Git/Subversion, Jira, multi-threading concepts
Preferred skills
Experience with microcontrollers (8-bit, 16-bit), knowledge of HTTPS, SNMP, SMTP, BACnet, Modbus/TCP
Technologies
Embedded C, C++, RTOS, Linux, Git, Subversion, Jira, JTAG, logic analyzers, oscilloscopes
Responsibilities
Design, code, test, and maintain embedded software/firmware; Develop low-level drivers and collaborate with hardware components; Integrate software/firmware with hardware, sensors, and peripherals; Implement and optimize communication protocols; Fix software and hardware issues; Develop and implement test plans to verify and validate embedded systems; Optimize code and algorithms for memory and processing efficiency; Implement security features and adhere to safety standards; Collaborate with cross-functional teams including hardware engineers, QA, product managers, and solution architects; Participate in design reviews and project meetings
Seniority
Principal, hands-on IC with strategic oversight