|
Senior Embedded Software Engineer (Temp to Hire) - San Diego California
Company: Inovio Pharmaceuticals, Inc. Location: San Diego, California
Posted On: 01/30/2025
About INOVIOINOVIO 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 .Job summaryThe Temporary Senior Embedded Software Engineer develops and enhances Electroporation Device firmware and associate tools to support new features and improve overall reliability of the firmware, brings up new embedded hardware platforms, diagnoses and fixes issues, and develops reliable fault tolerant firmware applications, improves the existing software, and creates a reference architecture for the future product pipeline. This position also prepares requirements, software design, test plans, and traceability reports, etc., performs risk analyses, and provides sustaining support of products.Essential job functions and duties Design and develop embedded software using "bare metal" and real time operating systems on multiple boards and MCUs. Design and develop firmware and tools to support manufacturing, debug and diagnostics, software testing, board level testing, and compliance. 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, develop, and enhance middle layer framework to support reliable and maintainable application development. Design, document, code, test, and debug embedded device controllers for Electroporation Devices. Create unit and integrated test plans, test cases, and perform unit and integration testing and code reviews. Test tool development for both system verification and production test. Support project planning efforts, including task definition and work effort. Interface with electrical, mechanical, and quality engineers. Perform analysis, resolution, and tracking of defects and improvement to closure. Develop and improve software development processes and procedures. Provide engineering support for other departments as necessary. Complete other engineering duties as assigned.Minimum requirements B.S. Degree in Engineering or Computer Science. 5+ years of experience in embedded systems development with strong C++ skills, multi-threading, multi-processor interfacing, and hardware-software integration. Excellent software design skills and C/C++ programming skills; preferably in safety critical software development. 3+ years of programming experience targeting embedded Microcontrollers (Experience with ARM Cortex M3/M4,/MSP430 or similar microcontroller preferred). Experience working with microcontrollers running both RTOS (Example: RTX, ThreadX, FreeRTOS, Micrium OS, etc.) and bare metal software. Experience in developing device drivers, timers, interrupt handlers, message based software, etc. Experience in developing device drivers for bus interfaces and peripherals: SPI, I2C, UART, ADC, DAC, I2S, USB, LCD. Experience in C/C++ coding standard, OOD, static analysis, and code coverage. Proficient with software development process. Demonstrable experience developing efficient (memory, CPU, and bandwidth) software. Familiarity setting up various embedded toolchains, build, and debugging environments. Experience with software engineering processes and tools such as configuration management and issue tracking systems. Ability to read circuit designs/electrical schematics and datasheets. Experience in using oscilloscopes, logic analyzers, and other test equipment to troubleshoot hardware/software issues. Excellent problem-solving, design, development, and debugging skills. Strong communication and interpersonal skills. Positive attitude and a team player.INOVIO offers a variety of competitive compensation & benefits to regular full time INOVIO employees including: |
|