Developing new and innovative medical diagnostic products requires an exceptionally skilled team, with a creative approach to overcoming challenges and a commitment to improving healthcare for the benefit of patients, practitioners and healthcare institutions. We are seeking an experienced Software Engineer who is excited about contributing to all aspects of our state-of-the-art medical device software. This position reports to the Director of Software Engineering.
Responsibilities and Expectations:
* Develop medical device software for a variety of diagnostic products, including user interface development, application workflow design, algorithm development & implementation, error handling, connectivity and instrument control, embedded processing, test and analysis tools, etc.
* Investigate the feasibility of new projects or approaches. Create product use cases, story boards, and interaction process flows; develop software architecture and code to support user interactions. Develop prototypes of new systems or solutions.
* Work closely with Electrical, Systems and Mechanical Engineering teams in the design, development, testing and support of the software driving our diagnostic products.
* Follow Design Control SOPs to meet the requirements of our internal Quality System, including specific requirements of GMPs, FDA QSR, relevant IEC standards, and ISO 9001.
* Apply Agile values and principles to the entire software development cycle.
* Create and execute unit tests as part of software validation efforts.
* Create and maintain requirements and design specification documents.
* Provide technical support for product research, design and development, integration, and testing.
* Other software development work, as needed.
Skills and Experience:
* BS/MS in Computer Science, Computer Engineering or related discipline with equivalent experience.
* 4-8 years of software development experience under design control for medical devices.
* Demonstrated expertise with .NET / C# and C++ for Windows applications.
* Solid understanding of Object-Oriented programming and Multithreaded Architecture.
* User interface design and development using Microsoft WPF.
* Experience with network protocols including Web Services, Soap/Rest, TCP/IP, etc.
* Experience developing embedded, real-time systems with digital I/O and control.
* Experience working in an Agile / Scrum environment.
* Test driven software development experience.
* Experience with Visual Studio, NUnit, Git, TeamCity, and Rally, is strongly preferred.
* Experience with Laboratory equipment, especially fluid handling systems, is a plus.