As a Senior Software Engineer at Medtronic, you will be a key contributor to the design, development, and delivery of cutting-edge embedded software for medical devices. You'll leverage your expertise in modern C++ and real-time operating systems to create high-quality, reliable solutions in a highly regulated environment. This role is crucial for our mission to innovate and champion healthcare access and equity, breaking down barriers in a more connected world.
A Day in the Life
You will drive embedded software development and quality by:
- Designing and coding embedded software using modern C++ (C++ 11 and above) in a real-time development environment.
- Applying Object-Oriented Analysis & Design (OOAD) principles and utilizing UML for robust software architecture.
- Working with field-bus technology (EtherCAT preferred) and standard embedded communication protocols such as DDS, SPI, I2C, AXI, and UART.
- Developing and debugging software on RTOS like Linux, WinCE, or ThreadX, with a strong understanding of multi-threading and Inter-Process Communication (IPC).
- Addressing hardware/software interfacing and design issues, and analyzing unexpected or undesirable behavior in software and its interactions with hardware.
- Operating within a structured software development environment, adhering to well-defined processes like Agile or Lean.
- Contributing to software risk analysis (per ISO 14971), including software failure mode and effects analysis (FMEA).
- Demonstrating strong analytical skills and the ability to manage multiple tasks effectively.
- Communicating complex technical information clearly and concisely through superior written and verbal communication skills.
- Collaborating effectively within a team, leveraging strong interpersonal and organizational skills.
Required Knowledge and Experience
- A Bachelor's degree in Computer Science, Electrical, Electronics, or equivalent from a reputed institution.
- 4 to 15 years of experience in Embedded Software development, with at least four (4) years of experience in the Medical Device/Medical IT or other regulated industry.
- Expertise in modern C++ (C++ 11 and above) software design & coding in an embedded development environment.
- Expertise in Object-Oriented Analysis & Design (OOAD) and familiarity with UML is strongly desired.
- Knowledge in field-bus technology (EtherCAT preferred) and standard embedded communication protocols (DDS, SPI, I2C, AXI, UART, etc.).
- Experience with RTOS like Linux/WinCE/ThreadX and strong knowledge of multi-threading and IPC.
- Experience in hardware/software interfacing and design issues.
- Experience working in a structured software development environment following a well-defined software development process like Agile / Lean.
- Experience with software risk analysis (per ISO 14971), including software failure mode and effects analysis (FMEA).
- Strong analytical skills and ability to multi-task.
- Superior written and verbal communication skills are required.
- Strong interpersonal, presentation, and organizational skills.
- Awareness of Medical Device standards such as IEC 60601-1, IEC 62304, ISO 13485, ISO 14971, and applicable FDA standards.