SummaryThe Engineering software systems team are focused on developing embedded software for ECP and NO delivery medical devices. They are currently searching for a Principal Software Engineer to join their team. The ideal candidate is a senior software engineer or software architect with approximately 8-10 years experience developing safety-critical distributed software for controlling electromechanical devices or similar complex software.Essential Functions
* Acts as software architect for one or more projects, working closely with other senior members of the software team translating software requirements into robust, adaptable software designs.
* Generates software architecture documentation and reviews/approves detailed design produced by junior members of the team.
* Works with the various engineering disciplines to translate design requirements into well-formed software requirements using software tools for requirements management.
* Conceptualizes complete solutions. Creates or coordinates the design solutions for novel or complex problems; works with verification and validation to ensure conformance to established design development processes and procedures.
* Works with programme managers to help create project schedules. Leads and facilitates architectural and design decisions to ensure on-time delivery of projects. Escalates technical issues in a timely fashion to software systems manager.
* Interacts closely with the software development team either on-site or remote and maximizes resource use in conjunction with SCRUM master.
* Provides mentoring in software development to other members of team; monitors the improvement of other software engineer(s), e.g. delegates challenging tasks to others to help them develop; provides constructive and timely feedback.
* Explores multiple alternatives. Structures studies and integrates cross-disciplinary (Software, Electrical, Mechanical) and cross-functional issues to arrive at a solution, e.g., investigates process to meet increasing regulatory requirements while maintaining serviceability & manufacturability.
Minimum Requirements Education / Experience / Skills:
* A Bachelor Degree in engineering, science, or closely related discipline is desired, or equivalent technical experience plus demonstrated competence, with a desired 8+ years of significant engineering and/or operational experience. Additional postgraduate education may contribute towards the desired years of experience.
* Detailed understanding of multiple programming languages (assembler/C/C++11/Java/.NET) to develop and evolve software systems optimally.
* Wide breadth and deep understanding of development of medical device software.
* Detailed understanding of medical software development standard (IEC 62304).
* Team leading software development using ALM tools (SysML, UML, JIRA, SCRUM, JAMA, STASH, Enterprise Architect, SciTools Understand).
* Detailed understanding of coding standards (MISRA-C, MISRA-C++, JSF C++).
* FDA 510K Submission preparation and experience.
* Ability to translate requirements into optimal designs.
* Detailed knowledge of Static and Dynamic system modelling (use cases, activity diagrams, finite state machines, sequence diagrams, class/object diagrams, component diagrams, timing diagrams, deployment diagrams).
* Safety critical algorithms and programming (watchdog, voting pattern, dual redundancy)
* Advanced understanding of data structures
* Advanced understanding of agile software development techniques such as Extreme Programming, SCRUM, and Test Driven Development.
* Microcontroller knowledge iMX6, iMX8, PIC Controllers, NXP LPC54102, NXP LPC54618.
* Real-time operating system experience such as QNX, SafeRTOS, Linux.
* Wifi/BLE/Cellular 5G knowledge
* QT/ Safe Renderer development experience
* VectorCast ATG/Unit testing
Principal Software Recruitment Specialist #J-18808-Ljbffr