
Principal Medical Device Software Engineer, Python/C++
Medtronic
full-time
Posted on:
Location Type: Hybrid
Location: Massachusetts • Minnesota • United States
Visit company websiteExplore more
Salary
💰 $148,000 - $222,000 per year
Job Level
About the role
- Lead the design, development, and maintenance of complex software systems, ensuring high performance, scalability, and reliability
- Develop and debug software for embedded systems, ensuring seamless integration with hardware components
- Collaborate with cross-functional teams, including hardware engineers, product managers, and quality assurance, to define software requirements and deliver high-quality solutions
- Optimize software performance, ensuring low latency, high reliability, and scalability
- Conduct code reviews and provide constructive feedback to ensure code quality and adherence to best practices
- Mentor and guide junior software engineers, fostering a culture of continuous learning and professional growth
- Implement and maintain robust software testing strategies, including unit, integration, and automated testing to ensure high-quality code
- Document software designs, coding practices, and development workflows to maintain high levels of clarity and consistency within the team
- Troubleshoot and resolve complex technical issues, providing timely and effective solutions
- Stay up-to-date with the latest industry trends and technologies, continuously improving the software development process
- Attend and participate in pre-clinical in-vivo system evaluations
- Participate in laboratory demonstrations for internal stakeholders and clinicians
Requirements
- Bachelor's degree and 7 years of relevant experience OR Master’s degree with 5 years of relevant experience OR PhD with 3 years relevant experience
- Expert-level proficiency in Python and C++
- Deep understanding of software engineering principles, including architecture, data structures and algorithms
- Extensive experience in software development, with a strong background in designing, implementing, and maintaining complex software systems
- Strong problem-solving skills and the ability to make critical technical decisions
- Extensive experience in real-time software development and optimization
- Experience with ROS, embedded systems and/or real-time operating systems
- Solid understanding of network communication protocols and technologies
- Experience with software version control systems, such as Git
- Experience with Agile development methodologies
- Experience with cloud-based platforms and services (e.g., AWS, Azure)
- Knowledge of CI/CD tools and practices, including automated testing and deployment
- Proficiency with development of software on Linux operating system
Benefits
- Health, Dental and vision insurance
- Health Savings Account
- Healthcare Flexible Spending Account
- Life insurance
- Long-term disability leave
- Dependent daycare spending account
- Tuition assistance/reimbursement
- Simple Steps (global well-being program)
- Incentive plans
- 401(k) plan plus employer contribution and match
- Short-term disability
- Paid time off
- Paid holidays
- Employee Stock Purchase Plan
- Employee Assistance Program
- Non-qualified Retirement Plan Supplement (subject to IRS earning minimums)
- Capital Accumulation Plan (available to Vice Presidents and above, or subject to IRS earning minimums)
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
PythonC++software engineering principlesdata structuresalgorithmsreal-time software developmentnetwork communication protocolsGitAgile development methodologiesLinux operating system
Soft Skills
problem-solvingcritical technical decision makingmentoringcollaborationcommunicationcontinuous learningfeedback provisiontroubleshootingdocumentationteamwork