Job Description
Summary/Objective:
Develops medical device software systems through code design, test, and analysis in a regulated industry
Essential Duties and Responsibilities [Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.]
• Performs activities of functional groups listed above in accordance with quality system procedures.
• Develops software within the framework of software coding standards.
• Ensures software requirements are traceable to the system level requirements.
• Creates and analyzes software requirements, executes software tests and participates in software design reviews.
• Conducts and oversees code reviews, executes unit tests, debugging, and performs software/hardware integration.
• Creates software validation plans and test protocols.
• Designs, develops, executes and maintains automated and manual test scripts to test embedded firmware.
• General Duties and Responsibilities
o Participates in third party and internal quality audits involving areas of responsibility. Assists with related corrective/preventive action planning and implementation.
o Establishes and maintains Standard Operating Procedures and Forms related to areas of responsibility.
o Advises and trains other Company personnel concerning areas of responsibility.
o Ensures appropriate communication processes are established within and across functional groups. Communicates information related to quality management system effectiveness.
o Other duties as assigned by Supervisor.
Required Education and Experience
• Bachelor’s degree in Computer Science/Engineering, or related discipline, or equivalent experience.
• Minimum five (5) years of related experience.
• Experience with automated testing required.
• Proficiency with C/C++ programming language.
Preferred Experience and Qualifications [Indicate experience based on requirements that are job-related and consistent with business necessity.]
• Software development or test experience in the medical device industry is preferred.
• Experience working with external software consultants and vendors.
• Expert knowledge of embedded software and firmware development, including C and C++.
• Familiarity with software design patterns.
• Experience with Agile philosophy and Scrum methodology.
• Experience using JTAG, Oscilloscopes, and protocol analyzers.
• Experience in hardware-oriented/embedded firmware development.
• Able to read and understand schematics and debug hardware-level issues. Integrate the firmware with the hardware boards independently.
• Experience in developing and debugging embedded systems and microcontroller peripherals including I2C/SMB, SPI, UART, ADC, DAC, Flash, Interrupts.
• Strong experience in RTOS (ex: FreeRTOS, ThreadX, pSOS, etc.).
• Experience with ARM Cortex M0/M3/M4.
• Excellent problem solving & troubleshooting skills.
• Excellent time management skills, able handle simultaneous tasks and deadlines.
• Ability to work in a highly detailed environment where mental focus and accuracy of work output is essential.