Medtronic is a global leader in healthcare technology, dedicated to alleviating pain and restoring health. The Principal Software Engineer will be responsible for maintaining existing software medical products, providing technical leadership, and supporting the Technical Service group with solutions to challenging customer issues.
Responsibilities:
- Responsible for maintenance of existing software medical products, includes: addressing software component End of Life issues (developing and testing software updates), conducting periodic vulnerability scanning (publish reports, address issues as required), monitoring SBOM issues (ensure a product’s software bill of materials components are supported and working to specification, develop and test solutions as required)
- Responsible for supporting Technical Service group, includes: providing solutions to challenging customer issues that require R&D skills and in-depth product knowledge
- Provide technical leadership for product maintenance team in regards to solution designs, software development, and project task management
- Support the maintenance and management of medical devices with software across multiple tech stacks: Desktop applications (C++, C#, WPF, Qt)
- Utilize application design and object-oriented design patterns to design solutions
- Utilize software development tools: Visual Studio, VS Code, Qt Creator, Rad Studio
- Follow Design processes that include creating design documentation and conducting design reviews to support regulatory and business needs
- Design, develop, conduct code reviews, debug, test software applications
- Provide engineering support to all departments within the business software systems and utilities
- Use Agile methodologies to manage software medical application support (i.e. SCRUM)
- Manage completion of own work assignments and coordinates work with other team members utilizing strong written and verbal communication skills
- Additional duties as assigned
- Designs, develops, tests, debugs and implements operating systems components, software tools and utilities
- Determines systems software design requirements
- Ensures that system improvements are successfully implemented and monitored to increase efficiency
- Generates systems software engineering policies, standards and procedures
- May work across a variety of software lifecycle activities as determined by program needs
Requirements:
- Requires a Baccalaureate degree and minimum of 7 years of relevant experience OR Master's degree with a minimum of 5 years relevant experience OR PhD with 3 years relevant experience
- Experience in maintenance of existing software medical products, including addressing software component End of Life issues, conducting periodic vulnerability scanning, and monitoring SBOM issues
- Experience in supporting Technical Service group, providing solutions to challenging customer issues that require R&D skills and in-depth product knowledge
- Technical leadership for product maintenance team in regards to solution designs, software development, and project task management
- Experience in maintaining and managing medical devices with software across multiple tech stacks: Desktop applications (C++, C#, WPF, Qt)
- Utilization of application design and object-oriented design patterns to design solutions
- Experience with software development tools: Visual Studio, VS Code, Qt Creator, Rad Studio
- Following design processes that include creating design documentation and conducting design reviews to support regulatory and business needs
- Designing, developing, conducting code reviews, debugging, and testing software applications
- Providing engineering support to all departments within the business software systems and utilities
- Using Agile methodologies to manage software medical application support (i.e. SCRUM)
- Managing completion of own work assignments and coordinating work with other team members utilizing strong written and verbal communication skills
- Experience in medical device industry (or other regulated industry)
- Experience in mobile application and web application development