The Embedded Software Engineer requires in-depth knowledge and experience to work autonomously and support existing electrical and electromechanical medical devices and drug delivery systems as well as design the next generation IOT devices.
Essential Duties and Responsibilities:
Support embedded software/firmware for existing medical devices
Develop embedded software/firmware for medical device functionality
Troubleshoot, improve, and optimize designs from prototypes to mature products
Facilitate change controls for software changes
Create and support project documentation
Support product development plans (schedule, product cost, meeting design inputs)
Support customer interactions to demonstrate system performance
Improve processes and procedures to develop high quality products at a minimum cost
Research, analysis, and problem solving with the generation of appropriate documentation
Research, analyze and adopt new technologies and work methodologies
Prepare detailed technical presentations, reports and design documentation as required
Perform Software code review and mentoring work
Perform device investigations
Promote and support an agile and lean development process
Perform other duties as assigned based on business needs
Basic Qualifications:
Education: Bachelor's in Electrical Engineering or Computer Science is required or equivalent experience
Minimum 3-5 years of experience in support of embedded software designs
Excellent knowledge of C programming
Experience with microcontroller architecture, digital circuit design and various communication protocols such as I2C, UART, BLE, USB etc.
Multidisciplinary knowledge of electronics and software
Experience in low level and drivers’ development
Good English communication and writing skills
Proficient with Microsoft Office products.
Preferred Knowledge, Skills and Abilities:
Experience with supporting medical device electromechanical throughout product lifecycle
Experience with Software Quality and Risk Management standards in medical devices, such as: IEC 62304, FDA 21 CFR 820, ISO 13485, and ISO 14971.
Knowledge and experience in Algorithm development
Knowledge and experience motor control
Knowledge of C++, Python or other programming languages
Experience in Static code analyses, working with tools such as Parasoft
Experience in unit testing environment, specifically Unity Framework
Experience with ARM architecture (32-bit)
Ability to read electronic schematic and work with Oscilloscope
Experience version control, automated build systems and automated testing