Medtronic

Software Engineer II

Medtronic

full-time

Posted on:

Origin:  • 🇮🇳 India

Visit company website
AI Apply
Apply

Job Level

Mid-LevelSenior

Tech Stack

Linux

About the role

  • Significant contributor in development of control algorithms supporting legacy, current and future generations of robotic surgical instruments
  • Create software solutions that run on a sophisticated real-time embedded platform using embedded sensor and actuator hardware to deliver high-bandwidth, precise and robust instrument response
  • Engage with electromechanical design of surgical instruments at all stages with a focus on control software requirements development compatible with test, verification, and validation of a safety-critical system
  • Design and develop software in Matlab - Simulink and Stateflow that enables surgeons and operating-room staff to control “Hugo”; a Robotic Assisted Surgery System
  • Integrate and test new controller software on hardware and with the rest of the robotic platform
  • Contribute to the development of model based control system for Hugo
  • Partner with the greater software organization, systems engineering, and validation groups
  • Define and review software requirements
  • Conduct hardware-in-loop testing of prototype as well as product software
  • Act as an independent reviewer of Simulink models to ensure that all software meets quality standards
  • Prepare and participate in design reviews
  • Document or participate in the documentation of the software including architecture and design detail, unit testing, anomaly tracking and reports

Requirements

  • Bachelor’s Degree with 4 to 8 years of relevant experience, or advanced degree with 4+ years of relevant experience
  • Experience developing software to control complex dynamical systems, preferably in regulated industries
  • Experience in analysis of complex dynamical systems (mechatronics preferred)
  • Proficient use of Matlab - Simulink and Stateflow to design and develop complex software products
  • Experience in Embedded C/C++ software development
  • Experience with real-time operating systems (QNX/VxWorks or equivalent)
  • Design and implementation of safety critical software – includes risk analyses, Failure Modes and Effects Analysis, Redundancy, Coding Standards and Verification of software implementations
  • Strong understanding of the fundamentals in signal processing, especially in the context of discrete systems
  • Knowledge of software development processes such as the V-model, requirement engineering, impact analysis
  • Good communication and stakeholder management skills
  • Experience developing software in a Linux environment (nice to have)
  • Familiarity with virtual machines, networking concepts (nice to have)
  • Experience with build automation, code coverage, unit testing, static analysis, debugging, and source control (git preferred) (nice to have)
  • Familiarity with Simulink Coder and an in-depth understanding of code generation (nice to have)
  • Knowledge of mathematics for controlling robotic systems, including multi-body kinematics, feedback controllers, and signal processing (nice to have)
  • Experience with medical product development, regulatory processes, safety considerations, and hands-on experience with medical devices and surgical instruments (nice to have)
  • Strong interpersonal skills and attention to detail, ability to work collaboratively with cross-functional teams
  • Experience in model-based product software development for real-time applications
  • Unit and integration testing of software
  • Software testing with plant models
  • Software architecture design and documentation