Intuitive Surgical Careers

Embedded Software Engineer

US-CA-Sunnyvale, California

Job Description

Job: Engineering
Primary Location: United States-California-US-CA-Sunnyvale
Schedule: Full-time
Requisition ID: 182657


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:

Work with an incredibly talented team to design and build the embedded software platform and feature set for next-generation surgical robotic systems. The successful candidate must excel in a high-energy 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.

Roles and Responsibilities:

• Work on a cross functional team to develop technical specifications and evaluate design trade-offs – specifically in the area of platform/infrastructure software
• Design and development of product-focused, rock-solid, C++ software in a heterogeneous, multi-processor SoC/FPGA/real-time-embedded environment
• Develop software for embedded Linux/QNX devices:

o Customize and productize embedded operating system distributions
o Create drivers that interface with custom FPGA devices
o Design and implement multi-threaded, distributed system C++ applications

• Contribute broadly to many areas of software development, including but not limited to:

o Extension of current frameworks to new processors and operating systems
o Development of research prototypes used to evaluate new product concepts
o Distributed communication subsystem development

• Work with electrical engineers to bring up new, custom hardware

Skill/Job Requirements:

• Passionate about developing cross-platform, object-oriented C++ code
• Experience developing for embedded Linux devices
• Strong ability to isolate and debug embedded hardware and software problems
• Experience working on product-focused designs in a team environment
• Excellent communication skills
• A desire to deliver a quality and innovative product that improves many people’s lives
• Minimum, 0-5 years industry experience developing and supporting embedded systems
• Bachelors or Masters degree in Software or Computer Engineering

Additional Pluses: 

• Experience with additional embedded operating systems, such as QNX
• Knowledge of Python
• Understanding of commonly used messaging and RPC frameworks and their associated tradeoffs for use in distributed embedded systems
• 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.