Staff Software Engineer - Emulation
Core
Building, deploying, and supporting a full-system emulator and hybrid hardware-in-the-loop setups for the internal da Vinci surgical system.
Role type
Staff Software Engineer (Emulation)
Builds
Full-system emulators and hybrid hardware-in-the-loop setups for the da Vinci surgical system
Domain
Medical robotics / Surgical systems
Deliverable
production ML models | product features
Required skills
C++, Python, complex system debugging, Software Engineering fundamentals, rapid system learning
Preferred skills
CUDA, graphics acceleration, Linux process management, microcontrollers, embedded software, Docker, Git
Technologies
C++, Python, CUDA, Linux, Docker, Git, FPGAs, microcontrollers
Responsibilities
Lead emulation team on industry-standard or innovative approaches to developing performance system emulators; Expand functionality of the internal da Vinci emulator by faithfully emulating microcontrollers, sensors, FPGAs, and physics models; Advocate for hardware 'simulation first' to educate developers on productivity benefits; Continuously follow up with developers to support feature requests, bug fixes, and system integration
Seniority
Staff, hands-on IC with strategic leadership
