Intuitive Surgical Careers

Servo Software Engineer

US-CA-Sunnyvale, California

Job Description

Job: Engineering
Primary Location: United States-California-Sunnyvale-US-CA-Sunnyvale
Schedule: Full-time
Requisition ID: 180932


Company Description:

Who is Intuitive Surgical? The numbers tell an amazing story. Learn more about our company.

Joining Intuitive Surgical means joining a team dedicated to using technology to benefit patients by improving surgical efficacy and decreasing surgical invasiveness, with patient safety as our highest priority. 

Primary Function of Position:

Contribute broadly to the Algorithmic Software Engineering Group, responsible for the control-systems software infrastructure, and supervisory state machines, at the heart of the da Vinci™ Surgical System.

The successful candidate must excel in a high-energy, focused, small-team environment, be able to drive to solutions from rough requirements, and have a commitment to high product quality. A strong sense of shared responsibility and shared reward is required. The successful candidate must also thrive in a collaborative, interactive environment, working with other engineering teams, such as System Analysis and Research, to provide platform infrastructure to foster the prototyping, development and integration of new technologies.

As part of the servo software design team, immediate responsibilities may include:

• Architecture and development of the control-systems software infrastructure,
shared across all Intuitive Surgical robotic systems, to maximize flexibility and modularity while maintaining peak performance.
• Bring-up and integration of new custom hardware (FPGAs, high-performance
processors, sensor/motor/communication interfaces), to build the foundation for our next-generation real-time processing platform.
• Analysis and optimization, to deliver a real-time processing platform and software infrastructure with minimal jitter/latency and maximum throughput.
• Design and development of product-focused, modular, rock-solid C/C++ software in a heterogeneous, multi-processor SoC/FPGA/real-time-embedded environment.
• Provisions for the virtualization of software applications and configuration of fully or partially virtualized systems with simulated components to enable offline
• Design and development of embedded software for the next-generation product simulator, leveraging and maximizing commonality with product software

Additional responsibilities include:

• Working on a cross-functional team at multiple levels, from architectural
definition to driver-level implementation.
• Contributing to multiple areas of software development, including but not limited to the following:
o configuration and monitoring of custom motion control hardware
o real-time processing performance analysis
o extension of current processing frameworks to new processors and
hardware designs
o design and development of offline hardware simulation environments to
facilitate rapid software development and test
o development of research prototypes used to evaluate new product
o hardware / software diagnostic-tool design and development
• Detailed design, development, and verification of embedded software for daVinci™ Surgical System products
• Contribution to formal risk analysis and development of software mitigations
• Documenting according to Intuitive's development guidelines

Skill/Job Requirements:

Competency Requirements: Competency is based upon education, training, skills and experience. In order to adequately perform the responsibilities of this position the individual must have:
• Master's or PhD degree, with minimum two (2) years of industry and/or academic graduate level hands-on experience in developing embedded systems
• Experience in developing real-time embedded software for motion-control and robotics (implementation of complex control algorithms into embedded systems) is ideal
• Experience in object-oriented software architecture, and familiarity with design patterns, is ideal
• Experience in developing for embedded Linux and/or QNX at multiple levels (hardware bring-up, driver, application) is ideal
• Experience in SW support for custom hardware development including diagnostic tests, utilities, and power-on self-tests; experience with scripting languages (e.g.Python, Matlab, etc.) for diagnostic/test automation is desired
• Demonstrated experience and comfort with all phases of the product development lifecycle, including design, implementation, debug, verification, validation, and transfer to manufacturing
• Experience with designing software products in an FDA or other regulated industry or for mission critical applications is a plus; comfort with concepts of design input, design output, traceability, and risk analysis

We are an AA/EEO/Veterans/Disabled employer.
We will consider for employment qualified applicants with arrest and conviction records in accordance with fair chance laws.