Job Summary:
Senior Embedded Software Engineer responsible for the design, development, verification, maintenance, and sustaining support of safety-critical embedded software for electroporation and drug delivery medical devices, focused on embedded C++ development, platform software, device drivers, electromechanical control, pulse generation, motor control, UI/display systems, battery powered systems, cybersecurity, hardware bring-up, and compliance with IEC 62304 and other medical device standards.
Essential Job Functions and Duties:
- Design/evaluate electromechanical control systems (motor control, battery management, board bring-up, bootloaders, firmware updates, diagnostics, inter-processor communications).
- Develop and maintain safety-critical embedded software in modern C++ on microcontroller, RTOS, Embedded Linux, and Android.
- Build platform software/BSPs/middleware/drivers for SPI, I2C, UART, USB, ADC/DAC, PWM, timers, displays/touch, motors, sensors, and communications.
- Develop embedded UI/display applications and system-level software features.
- Implement electroporation therapy delivery control and deterministic real-time closed-loop safety monitoring with precision timing.
- Create and maintain software lifecycle documentation (requirements, design, risk controls, verification protocols, test reports).
- Perform code reviews, static analysis, unit/integration testing, and verification.
- Implement cybersecurity controls (secure boot, authentication, encryption, vulnerability management, secure updates).
- Develop firmware/manufacturing test software, diagnostics, and engineering utilities.
- Troubleshoot with oscilloscopes/logic analyzers and collaborate cross-functionally.
- Support requirements/hazard analysis/risk control allocation and CI/CD, builds, and configuration management.
- Provide sustaining engineering support (issue investigations, RCA, field corrections, cybersecurity updates, design improvements).
Minimum Requirements:
- BS/MS in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 7+ years embedded software development with complex real-time embedded systems in modern C++.
- Experience with ARM Cortex-M, Linux, and/or Android.
- RTOS experience (ThreadX, FreeRTOS, RTX, Micrium OS, or similar).
- Platform software, BSPs, hardware abstraction layers, and device drivers.
- Electromechanical systems/motor control/battery-operated devices/displays/touch/sensors.
- Embedded GUI/UI development; strong debugging across software layers.
- Ability to read schematics/hardware documentation; hands-on lab test equipment.
- Embedded tools (Keil, IAR, GCC, Visual Studio, Android Studio, Linux toolchains).
- Embedded cybersecurity knowledge (secure coding, threat modeling, vulnerability assessment, encryption/authentication, secure updates).
- Source control, automated builds, issue tracking, unit test frameworks.
- Safety-critical/regulatory software experience.
- Working knowledge of IEC 62304, IEC 81001-5-1, ISO 14971, IEC 60601, FDA cybersecurity guidance, design controls, verification/validation, and traceability.
- Connected device experience (wireless, cloud, secure data exchange).
- Familiarity with C#, Python, automated test frameworks, and manufacturing test systems.