Fueled by innovation at the intersection of biology and technology, we’re developing the next generation of smarter, less invasive, more personalized treatments.
Are you passionate about improving and expanding the possibilities of surgery? Ready to join a team that’s reimagining how we heal? Our Surgery team will give you the chance to deliver surgical technologies and solutions to surgeons and healthcare professionals around the world. Your contributions will help effectively treat some of the world’s most prevalent conditions such as obesity, cardiovascular disease and cancer. Patients are waiting.
Your unique talents will help patients on their journey to wellness. Learn more at https://www.jnj.com/medtech
As a Senior Principal Software Engineer, you will serve as a senior technical leader responsible for the architecture, design, development, integration, and evolution of software for complex embedded medical-device systems.
This position combines deep hands-on software engineering expertise with system-level technical leadership. You will work across embedded software, distributed communication, device interfaces, system integration, build and deployment infrastructure, and software architecture to deliver highly reliable solutions for robotic and digital surgery platforms.
The role requires an engineer who can operate effectively across the complete software development lifecycle, from early architectural concepts and proof-of-concept development through implementation, integration, verification, release, and product maintenance.
You will collaborate closely with Software, Systems Engineering, Hardware, Robotics, Clinical Engineering, Test, Quality, Cybersecurity, and external development partners to solve complex problems spanning multiple software components and subsystems.
The ideal candidate combines strong C/C++ and Linux expertise with broad systems knowledge, excellent problem-solving skills, and the ability to provide technical direction across multiple teams and programs.
At the Senior Principal level, you will be expected not only to solve difficult engineering problems, but also to define technical direction, identify system-level risks, influence architecture, drive engineering decisions, and mentor other engineers.
Key Accountabilities
- Provide senior technical leadership for the architecture, development, integration, and maintenance of complex embedded software systems.
- Lead the design and implementation of major software components, subsystems, interfaces, and platform-level capabilities.
- Develop robust embedded software primarily in C and C++ on Linux-based platforms.
- Define and evolve software architecture for distributed systems containing multiple embedded devices, applications, and services.
- Design and troubleshoot inter-process and inter-device communication, including middleware and DDS-based distributed communication.
- Drive system-level integration between software components, embedded devices, robotic subsystems, and external platforms.
- Lead investigation and resolution of complex problems involving software architecture, communication, performance, startup behavior, compatibility, device state, and system integration.
- Make architectural decisions that balance product requirements, safety, reliability, maintainability, performance, technical debt, and delivery risk.
- Establish clear technical interfaces and ownership boundaries between software components and collaborating development teams.
- Support integration and interoperability across multiple product platforms and software generations while managing backward compatibility and interface evolution.
- Provide technical leadership throughout feature development, integration testing, release readiness, verification and validation, and production support.
- Drive resolution of software release blockers and complex CI, build, integration, and deployment issues.
- Partner with Systems Engineering, Test, Quality, Cybersecurity, Clinical Engineering, and other stakeholders to translate system requirements into robust software solutions.
- Work effectively with globally distributed internal teams and external engineering partners to coordinate architecture, implementation, integration, and delivery.
- Lead technical discussions, design reviews, root-cause investigations, and architecture reviews involving multiple teams and engineering disciplines.
- Identify technical risks early and drive appropriate mitigation strategies.
- Mentor engineers in software architecture, C/C++ development, debugging, design practices, code quality, and system-level problem solving.
- Improve software engineering practices, development workflows, CI/CD infrastructure, code quality, testability, and maintainability.
- Serve as a technical authority for critical software areas and provide engineering guidance to project and program leadership.