The Multiport Servo Software team at Intuitive is responsible for the real-time software and supervisory state machines that support critical performance, safety, and user-facing features of the da Vinci™ Surgical System. This includes infrastructure for motion control, audio, data streaming, and platform support for their next-generation simulator. The role requires someone to excel in a fast-paced, cross-functional environment, drive solutions from requirements, and ensure high product quality and reliability.
Requirements
- Experience in developing real-time embedded software for one or more of the following areas (or similar): motion-control, robotics, system state machines.
- Experience in C++, familiarity with design patterns and object-oriented software architectures.
- Experience in software support for custom hardware development including diagnostic tests, utilities, and self-tests.
- Experience in top-level state machine development for complex products with human user interface provisions and critical safety considerations.
- Experience using tools like IBM Rational Rhapsody.
- Experience in developing applications for Embedded Linux and/or QNX is ideal
- Experience with scripting languages (e.g. Python) for diagnostic/test automation.
Responsibilities
- Leverage control-systems software building blocks to provide servo functionality for multiple Intuitive Surgical robotic systems, maximizing flexibility and modularity while maintaining peak performance.
- Contribute to the design, extension, and testing of our supervisory state machine software that serve as the system’s top-level behavioral command control center.
- Develop and maintain the state machine software responsible for validating robotic instruments and transitioning between robotic surgical procedures.
- Design and develop product-focused, robust, efficient, and elegant C++ software in a heterogeneous, multi-processor real-time-embedded environment.
- Interface and collaborate effectively and respectfully with other teams, including Platform Software, Mechanical Engineering, System Analysis, System Test, User Interface Software Engineering, Manufacturing and Clinical Engineering.
- Participate in product risk analysis, performance and safety analysis, defining requirements, implementing mitigations, and drafting and executing verification tests.
- Document software designs according to Intuitive's development guidelines.
Other
- minimum five (5) years (or three (3) years for PhD) of industry experience in developing embedded systems
- Develop a thorough system-level knowledge from a clinical user perspective.
- Engage in cross-functional resolution of critical problems.
- Identify and prove out new architectural enhancements to the software infrastructure and development processes that elevate the broader organization beyond your own team.
- Comfort with concepts of design input, design output, traceability, and risk analysis.