Primary Function of PositionOur Servo Frameworks and Simulator team is responsible for the real-time software infrastructure that supports critical performance, safety and user-facing features of the da Vinci™ Surgical System, Intuitive's flagship product. Our real-time software includes robotics frameworks, infrastructure for motion control algorithms, audio intercom and system sounds, data streaming and logging, and platform support for our next-generation da Vinci™ product line. Our team occupies an exciting intersection of real-time architecture, feature development, and demonstration of product safety and reliability.
The successful candidate must excel in a 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 C++ in an embedded environment is required.
Essential Job Duties- Design and develop product-focused, robust, efficient, and elegant C++ software in a heterogeneous, multi-processor real-time-embedded environment.
- Lead efforts to modularize and unify robotics software frameworks across multiple platforms and product lines.
- Leverage systems software building blocks to provide software functionality for multiple Intuitive Surgical robotic systems, maximizing flexibility and modularity while maintaining peak performance.
- Analyze and quantify overall system performance and safety, including verification of adherence to specifications as well as identification of improvement opportunities.
- Extend existing tools and create new tools to support such analysis efforts.
- Interface and collaborate effectively and respectfully with other teams, including Platform Software, Hardware, System Analysis, System Test, User Interface Software Engineering, Manufacturing and Clinical Engineering.
- Participate in product risk analysis, defining requirements, implementing mitigations, and drafting and executing verification tests.
- Contribute to multiple areas of software development, including but not limited to the following:
- design and development of robotic frameworks and middleware
- configuration and monitoring of custom motion control hardware.
- real-time processing performance analysis.
- extension of current processing frameworks to new processors and hardware designs.
- design, development, and extension of offline hardware simulation environments to facilitate rapid software development and testing.
- bring-up of research prototypes used to evaluate new product concepts.
- design and development of hardware / software diagnostic tools.
- apply appropriate inter-thread or process communication software design principles.
QualificationsRequired Education, Skills & Experience- Minimum of 8 years of experience and a Bachelor's degree; or 6 years of experience and a Master's degree; or a PhD with 3 years of experience; or equivalent experience.
- Experience developing embedded software for RTOS and/or embedded Linux devices.
- Experience in C++ and familiarity with design patterns.
Preferred Skills & Experience- Experience developing common frameworks and middleware for robotic applications or embedded devices.
- Experience with 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 safety critical software.
Additional InformationDue to the nature of our business and the role, please note that Intuitive and/or your customer(s) may require that you show current proof of vaccination against certain diseases including COVID-19. Details can vary by role.
This position may be filled at a different job level than listed here depending on
business need and/or on the selected candidate's experience, knowledge and skills.
Compensation will be based primarily on the job level at which the role is filled and the
candidate's qualifications, consistent with applicable law.
We provide market-competitive compensation packages, inclusive of base pay, incentives, benefits, and equity. It would not be typical for someone to be hired at the top end of range for the role, as actual pay will be determined based on several factors, including experience, skills, and qualifications. The target compensation ranges are listed.