Senior Embedded Software Engineer - Servo Software

Intuitive SurgicalSunnyvale, CA
39d

About The Position

Our Multiport Servo Software team 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, Intuitive's flagship product. Our real-time software includes infrastructure for motion control algorithms, audio intercom and system sounds, data streaming and logging, and platform support for our next-generation da Vinci Simulator product line. Our workstreams depend upon and enable the work of other teams so we occupy an exciting intersection of real-time architecture, feature development, and demonstration of product safety and reliability. The successful candidate must excel in a high-energy, focused, small-team and cross-functional environment, be able to drive to solutions from rough requirements, and have a commitment to high product quality. They must demonstrate ownership of their areas of responsibility and of the overall product. A strong sense of shared responsibility and shared reward is required. A demonstrated experience and comfort working with modern C++ and State machines in an embedded environment is required.

Requirements

  • Bachelor's, Master's or PhD degree (Master's or PhD degree preferred), with minimum 5 years (or 3 years for PhD) of industry experience in developing embedded systems.
  • 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 hardware development including diagnostic tests, utilities, and self-tests.

Nice To Haves

  • 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 with scripting languages (e.g. Python) for diagnostic/test automation.
  • Experience in developing applications for Embedded Linux and/or QNX is ideal
  • Comfort with concepts of design input, design output, traceability, and risk analysis.
  • Demonstrated experience and comfort with all phases of the product development lifecycle (design, implementation, debug, verification, validation, and transfer to manufacturing).
  • Experience with designing safety critical software products in an FDA or other regulated industry or for mission critical applications.

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 real-time software and 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 SoC/FPGA/real-time-embedded environment.
  • Analyze and quantify overall system performance and safety, including verification of adherence to specifications as well as identification of improvement opportunities, such as reduced latency and increased reliability/determinism. Extend existing tools and create new tools to support such analysis efforts.
  • Interface and collaborate effectively and respectfully with other teams, including Platform Software, Electrical Engineering, System Analysis, System Test, User Interface Software Engineering, Manufacturing and Clinical Engineering.
  • Develop a thorough system-level knowledge from a clinical user perspective.
  • Participate in product risk analysis, defining requirements, implementing mitigations, and drafting and executing verification tests.
  • Document software designs according to Intuitive's development guidelines.
  • 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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service