Design, implement, and deliver reliable, high quality, robust embedded and desktop software targeted to complex medical instruments meeting regulatory standards
Participate in designing and implementing C# .Net services to coordinate and control medical instrument activities like scheduling, inventory management, and error recovery.
Collaborate with chief architect on design tradeoffs of various approaches to determine appropriate solution.
Create, maintain, and review software project documents including software development plans, software configuration plans, and detailed software design documents
Participate in software project risk analysis and hazard analysis
Drive software requirements with other members of the software team as appropriate (team lead, architect, etc.) and proactively work to integrate with system requirements
Participate in Software Change Control Boards, and participate in the investigation and resolution of software defects
Utilize software engineering best practices (e.g., unit testing, integration testing, static analysis, code reviews, design reviews, Doxygen documentation)
Develop software within Continuous Improvement development process
Improve Continuous Improvement process (recommend process improvements, software tools, and helper scripts)
Work cooperatively within the software group as well as across disciplines such as systems, electrical, optical and mechanical to deliver projects on-time and on budget.
Qualifications:
Bachelor’s degree in Computer Science, Electrical Engineering, Mathematics, or related discipline (Master’s degree preferred)
10 or more years of relevant experience developing software for complex instrument or devices that include motion control and fluidics
Demonstrated experience in designing and implementing C# .Net services to coordinate and control medical instrument activities like scheduling, inventory management, and error recovery
Understanding of revision control systems and issue tracking systems
Ability to work independently or in a team environment
Strong oral and written communication skills
Demonstrated experience in software development lifecycle (Agile, Spiral), object-oriented design methodology and programming languages including Java and one of the following: C/C++, or C#
Design experience of software for hardware instruments / devices that include motion control interfaces
Experience with medical device regulatory standards such as 21 CFR Part 820, IEC 62304 and ISO 13485 including experience with system risk / hazard analysis
Experience with software configuration tools for source code control (CVS, SVN, Git), issue tracking (Mantis, Jira), requirements management (DOORS), code review tools (Code Collaborator, Crucible) and 3rd party project build tools
Demonstrated technical leadership skills
Creative / innovative, able to think on your feet and work within project schedules.
Good organizational and multi-tasking skills
MS Project skills a plus
Software time and cost estimation experience a plus
SOA (Service Oriented Architecture), gRPC, Entity framework, Blazor and ASP .Net are helpful skills.