Intuitive Surgical Careers
Servo Software Engineer
Primary Location: United States-California-Sunnyvale-US-CA-Sunnyvale
Requisition ID: 180932
Who is Intuitive Surgical? The numbers tell an amazing story. Learn more about our company.
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.
• 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-performanceprocessors, 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 offlinetesting.• Design and development of embedded software for the next-generation product simulator, leveraging and maximizing commonality with product softwaremodules.
• Working on a cross-functional team at multiple levels, from architecturaldefinition 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 hardwareo real-time processing performance analysiso extension of current processing frameworks to new processors andhardware designso design and development of offline hardware simulation environments tofacilitate rapid software development and testo development of research prototypes used to evaluate new productconceptso hardware / software diagnostic-tool design and development
Qualifications• 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
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