Senior Software Engineer - Platform Team
MedtronicAbout the role
At Medtronic you can begin a life-long career of exploration and innovation, while helping champion healthcare access and equity for all. You’ll lead with purpose, breaking down barriers to innovation in a more connected, compassionate world.
A Day in the Life
We are looking for someone who is professione in Communication Protocols DDS, UDP Ethercat, C++ , Python and simulink is a plus.A Day in The Life
As a Platform Software Engineer you will lead and/or participate in the software development efforts in the Software Center of Excellence of the Surgical Robotics Organization. You will work in a fast-paced environment with a group of software engineers, collaborating with cross functional teams to complete requirements definition, design, code implementation, unit test, and software and system verification and validation.
Engineers create our market-leading portfolio of innovations. Combine the best of your experience with training and mentorship to move your career forward. If you want a challenging, energizing, rewarding career that changes lives, join us. Help us bring the next generation of life-changing medical technology to patients worldwide.
Must Have: Minimum Requirements
- Bachelor’s degree and a minimum of 4 years of relevant experience, or advanced degree and minimum of 2 years of relevant experience.
Nice to Have :
As an ideal candidate, you will have any or all the following experience:
Understanding of Windows, Linux, QNX or other operating system operation, drivers, interfaces, and application-level coding is required. Including but not limited to applications, processes, threads, handles, synchronization, drivers, virtual memory, kernel objects, performance counters, performance analysis, networking, root causing, troubleshooting, and debugging in a complex multi-processor mixed OS environment.
Experience in developing and commercializing software products in a fast-paced R&D environment, including understanding of the software development lifecycle (SDLC) and best practices in the medical device industry, experience in providing post product support.
- A minimum of a bachelor’s degree in a technical discipline, preferably software related: Computer Engineering, Electrical Engineering, Computer Science. Advanced degree in related discipline preferred.
- Experience in hands-on development and troubleshooting on targets using modern C++ 11 or greater.
- Experience in object-oriented design and design patterns.
- Experience in relevant scripting languages (e.g. PowerShell, Python, Bash)
- Understanding and appreciation of SDLC process and tools (e.g. JIRA, Bitbucket, Stash, Confluence, JAMA, Git, CMake.)
- Experience in software development in medical device industry or other regulated industry is preferred.
- Experience in the test-driven development methodology and unit test.
- Experience in Agile/Scrum/SAFe software development practices.
- Ability to distill software requirements from system requirements.
- Experience with Windows OS, QNX (x86 and/or Arm target), Linux and/or other Real Time Operating System, including related IDEs, SDKs, and DDKs.
- Experience with Transport layer communications protocols and related network experience (e.g. DDS TCP/IP, UDP, Sockets, Wireshark, etc.)
- Experience Troubleshooting, Debugging, and Root Cause Analysis techniques and tools (e.g. WinDbg, GnuDbg, others)
- Experience performing risk management analysis of software ideally using SW FMEA techniques
- Experience working with the global/multi-development sites environment is a plus.
- Cybersecurity experience is desirable, designing and maintaining secure OS and applications (e.g. SSL/TLS, DTLS, TPM, Trusted/Secure Boot, Root of Trust, Authentication, Encryption, Public/Private Key, Key/Certificate Management, authenticated and secure communications protocols)
Responsibilities may include the following and other duties may be assigned.
- Work with Transport layer communications protocols and related network experience (e.g. DDS TCP/IP, UDP, Sockets, Wireshark, etc.)
- 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.
TECHNICAL SPECIALIST CAREER STREAM: An individual contributor with responsibility in
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s