Logo
Intuitive

Senior Software Engineer - Robotics

Intuitive, Sunnyvale, California, United States, 94087

Save Job

Senior Software Engineer - Robotics

At Intuitive, we are united behind our mission: we believe that minimally invasive care is life-enhancing care. Through ingenuity and intelligent technology, we expand the potential of physicians to heal without constraints. As a pioneer and market leader in robotic-assisted surgery, we strive to foster an inclusive and diverse team, committed to making a difference. For more than 25 years, we have worked with hospitals and care teams around the world to help solve some of healthcare's hardest challenges and advance what is possible. Intuitive has been built by the efforts of great people from diverse backgrounds. We believe great ideas can come from anywhere. We strive to foster an inclusive culture built around diversity of thought and mutual respect. We lead with inclusion and empower our team members to do their best work as their most authentic selves. Passionate people who want to make a difference drive our culture. Our team members are grounded in integrity, have a strong capacity to learn, the energy to get things done, and bring diverse, real world experiences to help us think in new ways. We actively invest in our team members to support their long-term growth so they can continue to advance our mission and achieve their highest potential. Join a team committed to taking big leaps forward for a global community of healthcare professionals and their patients. Together, let's advance the world of minimally invasive care. Primary Function Multiport Servo Software team (Supervisory State machine 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. Because our workstreams depend upon and enable the work of other teams, 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. Essential Job Duties 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. Develop a thorough system-level knowledge from a clinical user perspective. 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. 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. Required Skills and Experience Bachelor's, Master's or PhD degree (Master's or PhD degree preferred), with minimum five (5) years (or three (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 custom hardware development including diagnostic tests, utilities, and self-tests. Preferred Skills and Experience 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. 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.