Senior Embedded Software Engineer
Inovio · Mesa Ridge, San Diego, CA, US · United States · On-site
Pay: USD 155,000 – 185,000 a year
Posted Aug 6, 2026
Sign up free: we match you to jobs like this, tailor your application and fill the form. 2 free applications every day.
About INOVIO
INOVIO is a biotechnology company focused on developing and commercializing DNA medicines to help treat and protect people from HPV-related diseases, cancer, and infectious diseases. INOVIO’s technology optimizes the design and delivery of innovative DNA medicines that teach the body to manufacture its own disease-fighting tools. For more information, visit www.inovio.com .
Job summary
The Senior Embedded Software Engineer is responsible for the design, development, verification, maintenance, and sustaining support of safety-critical embedded software for electroporation and drug delivery medical devices. This role focuses on embedded C++ development, platform software, device drivers, electromechanical control, drug delivery, pulse generation, motor control, UI/display systems, battery powered systems, cybersecurity, hardware bring-up, and compliance with IEC 62304 and other applicable medical device standards.
Essential job functions and duties
Design and implement electromechanical control systems, including motor control, battery management, board bring up, bootloaders, firmware updates, diagnostics, and inter-processor communications
Design, develop, and maintain safety-critical embedded software for medical devices using modern C++ on microcontroller, RTOS, Embedded Linux, and Android platforms.
Develop platform software, BSPs, middleware, and device drivers supporting SPI, I2C, UART, USB, ADC/DAC, PWM, timers, displays, touchscreens, motors, sensors, and communication interfaces.
Develop embedded UI/display applications and system-level software features
Design and implement software controlling electroporation therapy delivery.
Develop deterministic real-time software supporting therapy delivery, closed-loop control systems, safety monitoring, and precision timing requirements
Develop and maintain software lifecycle documentation, including requirements specifications, software designs, risk controls, verification protocols, and test reports.
Perform code reviews, static analysis, unit testing, integration testing, and software verification activities.
Implement cybersecurity controls, including secure boot, authentication, encryption, vulnerability management, and secure software update mechanisms
Develop firmware, manufacturing test software, diagnostic tools, and engineering utilities to support product development, verification, manufacturing, debugging, compliance testing, and field service activities
Troubleshoot hardware and software issues using oscilloscopes, logic analyzers, and other laboratory equipment
Collaborate with systems, electrical, mechanical, quality, regulatory, and cybersecurity teams
Participate in system requirements development, architecture definition, hazard analysis, risk control implementation, and allocation of system requirements to software components
Support CI/CD pipelines, automated build systems, configuration management, and continuous software process…