Intuitive Surgical Careers

Senior Software Engineer - New Product Development

Sunnyvale, California

Job Description

Job: Engineering
Primary Location: United States-California-Santa Clara County-Sunnyvale
Schedule: Full-time


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:

The successful candidate will architect the user interface and define the behaviors of a novel surgical robot system. The engineer will design, implement, debug and verify the high level state machine that oversees the system behavior. The candidate should be comfortable developing high level state machines using modern modeling tools. The engineer will also be responsible for extending and maintaining the embedded C/C++ code that interfaces the state machine with the rest of the system.

The successful candidate must excel in a high-energy 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, as is the ability to make work fun and interesting.

Roles and Responsibilities:

• Work on a cross-functional team to architect and implement new user interface features in a complex, distributed, hierarchical state machine
• Collaborate with designers of robotic control algorithms to define the behaviors of the robotic system
• Develop and maintain external interfaces between state machine and embedded host environment in C/C++
• Perform formal risk analysis and develop and verify software mitigations
• Document according to Intuitive’s development guidelines

Skill/Job Requirements:

• Bachelors degree in Software, Electrical, or Computer Engineering
• Minimum 5 years industry experience in developing and supporting embedded systems
• Skilled in designing and developing cross-platform C++ code
• Experience developing for embedded Linux devices at multiple levels (Yocto distribution management, kernel customization, drivers, applications, algorithms)
• Comfortable developing utilities using Python and Qt
• Familiarity with design patterns
• Strong ability to isolate and debug embedded hardware and software problems
• Experience working on product-focused designs in a team environment
• Excellent communication and documentation skills
• A desire to deliver a quality and innovative product that improves many people’s lives

Additional Pluses:

• In addition to Linux, experience developing for other operating systems such as QNX and Windows
• Experience using unit test frameworks such as Google Test
• Desire to contribute to engineering tools development to enhance team productivity
• Comfortable working with revision control systems such as Git and SVN; and build systems such as CMake, GNU Make, and Ninja
• Demonstrated experience in and comfort with all phases of the product development lifecycle including design, implementation, debug, verification, validation, and transfer to manufacturing
• Experience designing software products in an FDA or other regulated industry or for mission critical applications; comfortable with concepts of design input, design output, traceability, risk analysis, and mitigations

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.