Senior Software and Embedded Engineer
Purpose and scope of the job
As member of the Software team, the Senior Software Development Engineer will be responsible for:
· The design, development, maintenance and verification.
· The authoring and maintenance of technical documentation required for CE marking and FDA approval.
· The continuous improvement of software quality, reliability and safety.
· Specify, design, develop, release and maintain the embedded and applicative software driving the contrast media injectors
· Collaborate with external development teams for the integration of our product with other software solutions (especially our web-based platform)
· Develop and maintain unit tests and automated tests
· Participate to verification and validation effort, ensure efficient, robust and high coverage test strategy
· Author improve or review software documentation (including specifications, design and verification documents)
· Maintain and improve quality, reliability and safety software products, as well as compliance with relevant standards (IEC62304, FDA Guidelines)
· Report and provide workload estimations to the Project Manager
· Make recommendations for design enhancements, conduct feasibility studies and technical surveys
· Become an expert and reference person for the legacy software design
· Collaborate with Quality and Regulatory team for impact analysis, software risk or quality assessment and provide support in case of audit
· Occasionally provide last level customer support
· Make propositions and contribute to the R&D process optimization
Job requirements and skills
· MSc or PhD in Software Engineering, Computer Science, or Electrical Engineering preferred
· Required software skills:
o Environment: Ms Visual Studio targeting Windows Compact / Embedded / Standard
o Proficiency in C++, in C, and [assembler sur Freescale HC11]
o Advanced software architecture skills (UML, design patterns, SOA)
o User Interface frameworks: Win32 GDI, WinForms
o Experience with network communication (TCP/IP, WCF).
o Source version control (ex. SVN, GIT).
o Unit testing frameworks (ex. CppUnit, NUnit).
o Bug tracking systems, continuous integration frameworks.
o Microsoft Office (Outlook, Excel, Word, etc.)
· Other desirable software skills:
o Qt, Web services, ASP.NET
o Hardware driving, low-level software (e.g. assembly), RS232 / RS485 communications.
o Experience with automated testing frameworks.
· Good understanding and proven experience working under software project methodologies (Waterfall, V-Cycle or Agile)
· Required software development best practices:
o Traceability, source version control, bug tracking system, coding rules compliance
o Design for testability, maintainability, and extensibility
· Experience with designing software products in an FDA or other regulated industry
o Understand Change Control, Design Control and Software Development Life Cycle management
o Familiar with concepts of design input, design output, traceability and risk analysis
o Experience with class II or III medical devices and/or with medical software standards (i.e. IEC 62304 & FDA related guidance) is a big plus.
· Experience with Hospital IT interoperability standards
is a plus.
· Strong interpersonal skills, excellent oral and written communication.
· Show product ownership: understand safety aspects and customer expectations beyond the scope of the software.
· Attention to details.
· Team player on internal/external, national/international teams.
· Autonomous, must be able to work with minimal supervision.
· Fluent in English and French.