Site logo

Job Summary

The Temporary Senior Software Engineer develops and enhances Electroporation Device firmware and associated tools to add additional features and improve overall product reliability. This role involves designing, developing, and implementing automation systems to boost efficiency, productivity, and quality in manufacturing operations. Key responsibilities include preparing and updating requirements, software designs, test plans, and risk analyses, as well as providing ongoing product support. The ideal candidate will have expertise in embedded firmware development, strong proficiency in C/C++, experience with real-time operating systems (RTOS), and skill in developing PC-based applications using C#. They should also possess experience in embedded software and hardware, debugging techniques, and customer support, ensuring seamless operation and quick resolution of technical issues.

Essential job functions and duties

  • Design and develop embedded software for “bare metal” and real-time operating systems across multiple boards and MCUs.
  • Design and develop board bring-up code, device driver code, boot loaders, firmware update software, software for interfacing with sensors and peripherals, and application software.
  • Design, document, code, test, and debug embedded device controllers for Electroporation Devices.
  • Design and develop PC-based applications to support diagnostics, device testing, production testing, and manufacturing automation.
  • Conduct unit testing, integration testing, 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.
  • Collaborate with electrical, mechanical, and quality engineers to ensure seamless integration.
  • Analyze, resolve, and track defects and improvements to closure.
  • 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.

Minimum requirements

  • Bachelor’s degree in Engineering or Computer Science.
  • 3+ years of experience in embedded systems development with C++ skills, multi-threading, multi-processor interfacing, and hardware-software integration.
  • Experience working with microcontrollers (Cortex M based) running both RTOS (e.g., RTX, ThreadX, FreeRTOS, Micrium OS) and bare-metal software.
  • Experience in board bringing 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, other test equipment, oscilloscopes)
    2+ years of experience in PC-based application development using C# and database interfaces,
    Familiarity with setting up various toolchains, building systems, and debugging environments.
  • Experience with software engineering processes and tools, including Git-based configuration management and issue-tracking systems.
  • Proficiency in software development processes with the ability to read circuit designs, electrical schematics, and datasheets.
  • Strong problem-solving skills and debugging skills, attention to detail, and the ability to work effectively both independently and collaboratively.
  • Strong communication and interpersonal skills.
  • A Positive attitude and strong team player mindset

INOVIO offers a variety of competitive compensation & benefits to regular full time INOVIO employees including:

  • 401(K) retirement plan with Corporate Matching
  • Annual Incentives
  • Medical, Dental, and Vision
  • Generous Paid-time off program and company holidays
  • Hybrid work environment (Depending on the nature of your employment with INOVIO)
  • Physical, Mental, & Financial Wellness Program
  • Company-paid Life Insurance plans
  • Long & Short-Term Disability
  • Flexible Spending accounts for medical and dependent care expenses
  • Employee Discount Perks and so much more…

The annualized base salary range for this role is $111,946 to $155,721 and is bonus eligible. Individual pay decisions ultimately depend on various factors including, but not limited to, relevant experience, knowledge, skills, education, geography, internal equity and alignment with external market data.

Job Overview

Print Job Listing

Share