Logo
INOVIO Pharmaceuticals, Inc.

Senior Software Engineer (Temporary to Hire)

INOVIO Pharmaceuticals, Inc., San Diego, California, United States, 92189

Save Job

Senior Software Engineer (Temporary to Hire) Join to apply for the

Senior Software Engineer (Temporary to Hire)

role at

INOVIO Pharmaceuticals, Inc.

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.

This position requires onsite presence 2–3 days per week.

As a Temporary Senior Software Engineer, you will develop and enhance Electroporation Device firmware and associated tools to add features and improve product reliability. You will design, develop, and implement automation systems to increase efficiency, productivity, and quality in manufacturing operations.

Design and develop embedded software for bare-metal and real-time operating systems (RTOS) across multiple boards and microcontrollers.

Write board bring‑up code, device driver code, boot loaders, firmware update software, and application software interfacing with sensors and peripherals.

Design, document, code, test, and debug embedded device controllers for the Electroporation Device.

Develop PC‑based applications to support diagnostics, device testing, production testing, and manufacturing automation.

Conduct unit, integration, system debugging, and code reviews to ensure software reliability.

Diagnose and troubleshoot hardware and software issues in real‑time field environments.

Integrate software components, third‑party libraries, and APIs into existing or new systems.

Perform software validation, functional testing, and system‑level debugging to ensure compatibility across environments.

Ensure compliance with safety regulations, industry standards, and company policies.

Optimize code for performance, power efficiency, and memory utilization.

Support project planning efforts, including task definition and work effort estimates.

Collaborate with electrical, mechanical, and quality engineers to ensure seamless integration.

Analyze, resolve, and track defects and improvements to close gaps.

Develop and improve software development processes and procedures.

Support product deployment and configuration, ensuring compliance with technical requirements.

Utilize version control systems (Git, SVN) and CI/CD pipelines for software development.

Assist production teams in resolving technical issues and improving system efficiency.

Provide engineering support for other departments as needed.

Perform additional engineering duties as assigned.

Qualifications:

Bachelor’s degree in Engineering or Computer Science.

3+ years of experience in embedded systems development with advanced C/C++ skills, multi-threading, multi-processor interfacing, and hardware-software integration.

Experience with microcontrollers (Cortex‑M based) running both RTOS (e.g., RTX, ThreadX, FreeRTOS, Micrium OS) and bare-metal software.

Experience in board bring‑up and developing device drivers for bus interfaces and peripherals: SPI, I2C, UART, ADC, DAC, I2S, USB, LCD.

Hands-on experience with low-level programming, embedded UI development, hardware-software integration, and debugging tools (JTAG, GDB, logic analyzers, oscilloscopes).

2+ years of experience in PC-based application development using C# and database interfaces.

Familiarity with toolchain setup, build systems, and debugging environments.

Experience with software engineering processes and tools, including Git-based configuration management and issue-tracking systems.

Proficiency in reading circuit designs, electrical schematics, and datasheets.

Strong problem-solving and debugging skills with attention to detail.

Excellent communication and interpersonal skills.

Positive attitude and strong team spirit.

#J-18808-Ljbffr