Senior Embedded Software Engineer
Verfasst am 2026-10-03
-
Software Entwicklung
Eingebettete Software ingenieur, Software-Ingenieur, Eingebettete Systeme, C++ Entwicklung
Senior Embedded Software Engineer
Newark, DE, United States
We’re looking for a Senior Embedded Software Engineer to design, develop, and maintain embedded software for our next-generation breast and skeletal health systems. In addition to core embedded software development, this role requires hands-on experience with low-level embedded software development, including driver-level design, implementation, and testing, as well as board bring-up activities. The engineer will work closely with hardware teams to interface with peripherals and ensure reliable system operation using communication protocols such as I2C, SPI, UART, USB, CAN, and Ethernet.
This role is based out of Newark, DE and will require onsite presence.
Develop an expert-level understanding of our products and how they’re used in clinical practice.
Design, implement, and validate low-level device drivers for embedded platforms.
Perform board bring-up activities, including hardware/software integration, debugging, and validation on new hardware platforms.
Develop and debug software interfaces for hardware peripherals using protocols such as I2C, SPI, UART, USB, CAN, and Ethernet.
Work within an Agile/Scrum/Continuous Integration environment to deliver reliable, production-ready code.
Contribute to technical documentation, including requirements, design specifications, and release notes.
Identify, design, and implement appropriate software testing; collaborate closely with Test Engineers to support verification and validation.
Diagnose, prioritize, and resolve complex technical issues; analyze defects and drive process improvements.
Serve as a technical leader on the team—mentoring junior engineers, promoting best practices, and insisting on high standards for quality and usability.
Partner with Product Management and domain experts to define product improvements and new features.
Perform software risk assessments (e.g., FMEAs) and help develop appropriate mitigations at the component, subsystem, and system levels.
Stay current with emerging technologies and propose opportunities for product and process improvements.
Train cross-functional teams on key product design elements and proper usage where needed.
In addition to core embedded software development, this role requires hands-on experience with low-level embedded software development , including driver-level design, implementation, and testing, as well as board bring-up activities .
The engineer will work closely with hardware teams to interface with peripherals and ensure reliable system operation using communication protocols such as I2C, SPI, UART, USB, CAN, and Ethernet .
- Bachelor’s or Master’s degree in a relevant technical field (e.g., Computer Engineering, Electrical Engineering, Computer Science, or similar).
6+ years of experience with a Bachelor’s degree.
Experience developing complex, multi-component systems, including RTOS and/or embedded controllers.
Strong computer science foundation, including operating systems, software systems, data structures, algorithms, and networking.
Hands-on experience with low-level embedded software development, including device driver design, implementation, and testing.
Experience with board bring-up, hardware/software integration, and debugging on new hardware platforms.
Strong experience interfacing with hardware using communication protocols such as I2C, SPI, UART, USB, CAN, and Ethernet.
Expert-level programming skills in C/C++ in an embedded environment; assembler-level experience is a plus.
Demonstrated mastery of software design principles, data structures, design patterns, and multithreading.
Ability to architect complex software systems to meet functional and…
(Wenn dieser Job tatsächlich in Ihrem Zuständigkeitsbereich liegt, verwenden Sie möglicherweise einen Proxy oder VPN, um auf diese Seite zuzugreifen. Um weiterzukommen, sollten Sie Ihre Verbindung zu einem anderen Mobilgerät oder PC wechseln).