Embedded Software Engineer

Intuitive Surgical, Inc.

Sunnyvale (CA)

On-site

USD 158,000 - 228,000

Full time

47 hours ago
Be an early applicant
Application generator

A complete application in a minute — tailored resume and cover letter, ready to send.

Get past ATS filters

Job summary

Intuitive Surgical, Inc. in Sunnyvale, CA seeks a software engineer to develop embedded application software and platform services for the Ion endoluminal system.

You will work with hardware, systems, and test teams to design and debug reliable software on a heterogeneous platform including CPUs, GPUs, FPGAs, and accelerators. The role emphasizes C/C++ development, software architecture, data management, and building reusable services and APIs for scalable robotic software platforms.

Qualifications

  • 6+ years of industry experience in embedded software or equivalent.
  • Bachelor's degree in CS/CE or related field, or a Master's with experience.
  • Experience with Linux/POSIX-based development and debugging tools.
  • Experience with multi-threaded programming, IPC, and API design.

Responsibilities

  • Design, implement, test, and maintain C/C++ apps and middleware on embedded Linux.
  • Develop reusable system services, libraries, and APIs.
  • Create software for configuration, diagnostics, and system management.
  • Integrate software across CPUs, GPUs, FPGAs and other accelerators.
  • Perform debugging, verification, and bring-up activities.

Skills

C/C++ development
Embedded Linux
Multi-threaded programming
IPC / inter-process communication
API design
Object-oriented design
Linux debugging tools
Python or shell scripting
Linux / POSIX
Software architecture

Education

Bachelor's degree in CS/EE or related
Master's degree in CS/EE or related

Tools

Git
Yocto/OpenEmbedded
SQLite
gdb

Job description

Company Description

It started with a simple idea: what if surgery could be less invasive and recovery less painful? Nearly 30 years later, that question still fuels everything we do at Intuitive. As a global leader in robotic-assisted surgery and minimally invasive care, our technologies-like the da Vinci surgical system and Ion-have transformed how care is delivered for millions of patients worldwide.

We're a team of engineers, clinicians, and innovators united by one purpose: to make surgery smarter, safer, and more human. Every day, our work helps care teams perform with greater precision and patients recover faster, improving outcomes around the world.

The problems we solve demand creativity, rigor, and collaboration. The work is challenging, but deeply meaningful-because every improvement we make has the potential to change a life.

If you're ready to contribute to something bigger than yourself and help transform the future of healthcare, you'll find your purpose here.

Job Description
Primary Function of Position

The Ion™ endoluminal system is Intuitive's robotic platform designed for minimally invasive biopsy in the peripheral lung, with the goal of improving early lung cancer diagnosis.

This position is part of the New Product Development Platform Software team and will focus on developing embedded application software, middleware, and system services that enable applications and subsystems across the robotic platform.

The engineer will work with software, systems, hardware, and test teams to design, implement, integrate, and debug reliable software for a heterogeneous embedded computing platform incorporating CPUs, GPUs, FPGAs, and other specialized hardware. The successful candidate should have strong C/C++ application development skills, an understanding of software architecture and data management, and an interest in building reusable platform services and APIs.

Essential Job Duties
Middleware & Application Software Development
  • Design, implement, test, and maintain C/C++ applications and middleware running on embedded Linux platforms.
  • Develop reusable system services, libraries, and APIs used by multiple applications and subsystems.
  • Develop software for configuration, preferences, persistent system data, diagnostics, and system management.
  • Design and implement software for structured data storage and retrieval.
  • Develop multi-threaded applications and software using inter-process communication mechanisms.
  • Integrate application and middleware software across heterogeneous computing elements, including CPUs, GPUs, FPGAs, and other specialized processors.
  • Develop and maintain software interfaces between applications, platform services, and hardware-accelerated components.
  • Extend existing software frameworks to support new product features and system capabilities.
  • Participate in API, interface, and software design reviews.
Software Integration & Debugging
  • Debug issues across application, middleware, operating system, and hardware interfaces.
  • Investigate software defects and perform root-cause analysis.
  • Diagnose issues involving interactions between CPU-hosted software and GPU-, FPGA-, or hardware-accelerated components.
  • Use Linux debugging and diagnostic tools such as gdb, logs, tracing tools, and command-line utilities.
  • Work with other software functions, EE, and FPGA engineers to understand interfaces and troubleshoot integration issues.
  • Support software integration, verification, validation, and product bring-up activities.
Software Quality & Reliability
  • Develop maintainable, modular, and testable software.
  • Write unit and integration tests for new software components.
  • Design software with robustness, fault handling, data integrity, and serviceability in mind.
  • Participate in code reviews and contribute to team coding and design practices.
  • Support CI/CD and automated software testing.
Qualifications
Required Skills and Experience
  • Strong programming skills in C or C++ (C++11 or newer), with experience developing production software.
  • Experience developing applications or middleware on Linux or another POSIX-based operating system.
  • Understanding of object-oriented design, modular software architecture, and API design.
  • Experience with multi-threaded software and concurrency concepts.
  • Understanding of inter-process communication and client/server software architectures.
  • Experience designing or developing software that manages persistent application or system data.
  • Understanding of data modeling, schemas, transactions, concurrency, and data integrity.
  • Experience debugging application and system-level software using Linux development tools.
  • Familiarity with networking concepts and protocols such as TCP/IP.
  • Ability to understand and work with software interfaces in heterogeneous computing systems involving CPUs and hardware-accelerated components.
  • Experience with software configuration management, code reviews, and unit/integration testing.
  • Working knowledge of Python or shell scripting for development, testing, or automation.
  • Strong written and verbal communication skills and ability to work effectively in a cross-functional engineering team.
Required Education and Training
  • Bachelor's degree with 6+ years of industry experience, or Master's degree with 4+ years of industry experience, in Computer Science, Computer Engineering, or a related engineering discipline.
  • 4+ years of hands‑on experience developing and supporting embedded systems in a production environment.
Working Conditions

None

Preferred Skills and Experience
  • Experience developing middleware, platform services, or reusable software frameworks.
  • Experience developing software for heterogeneous computing platforms involving CPUs, GPUs, FPGAs, DSPs, or other accelerators.
  • Experience integrating software with GPU‑accelerated or FPGA‑based subsystems.
  • Experience with embedded or local data persistence technologies such as SQLite.
  • Experience developing configuration, preferences, or system‑state management services.
  • Experience with IPC technologies such as sockets, shared memory, message queues, or RPC frameworks.
  • Familiarity with serialization technologies such as protobuf or JSON.
  • Experience developing embedded Linux applications.
  • Familiarity with systemd or similar Linux service‑management frameworks.
  • Experience with asynchronous or event‑driven application architectures.
  • Familiarity with Yocto/OpenEmbedded or embedded Linux build environments.
  • Experience with medical devices, robotics, automotive, industrial automation, or other complex embedded systems.
  • Experience working in regulated, safety‑critical, or mission‑critical product development environments.
Additional Information

Due 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.

Intuitive is an Equal Opportunity Employer. We provide equal employment opportunities to all qualified applicants and employees, and prohibit discrimination and harassment of any type, without regard to race, sex, pregnancy, sexual orientation, gender identity, national origin, color, age, religion, protected veteran or disability status, genetic information or any other status protected under federal, state, or local applicable laws.

U.S. Export Controls Disclaimer: In accordance with the U.S. Export Administration Regulations (15 CFR §743.13(b)), some roles at Intuitive Surgical may be subject to U.S. export controls for prospective employees who are nationals from countries currently on embargo or sanctions status.

Certain information you provide as part of the application will be used for purposes of determining whether Intuitive Surgical will need to (i) obtain an export license from the U.S. Government on your behalf (note: the government's licensing process can take 3 to 6+ months) or (ii) implement a Technology Control Plan ("TCP") (note: typically adds 2 weeks to the hiring process).

For any Intuitive role subject to export controls, final offers are contingent upon obtaining an approved export license and/or an executed TCP prior to the prospective employee's start date, which may or may not be flexible, and within a timeframe that does not unreasonably impede the hiring need. If applicable, candidates will be notified and instructed on any requirements for these purposes.

We will consider for employment qualified applicants with arrest and conviction records in accordance with fair chance laws.

Preference will be given to qualified candidates who do not reside, or plan to reside, in Alabama, Arkansas, Delaware, Florida, Indiana, Iowa, Louisiana, Maryland, Mississippi, Missouri, Oklahoma, Pennsylvania, South Carolina, or Tennessee.

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.

Accommodation & Accessibility Notice: Intuitive is committed to providing reasonable accommodations to qualified individuals with disabilities. If you require assistance or an accommodation during any part of the application or interview process, please contact People Services at (email protected) .

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.

Base Compensation Range Region 1:

$158,300 USD - $227,700 USD

Base Compensation Range Region 2:

$134,600 USD - $193,500 USD

Shift: Day

Workplace Type: Onsite - This job is fully onsite.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Embedded Software Engineer
Embedded Software Engineer

Xapply • Sunnyvale (CA)

On-site
USD 140,000 - 210,000
Sr. Robotic Software Engineer
Sr. Robotic Software Engineer

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 189,000 - 271,000
Senior Embedded Software Engineer
Senior Embedded Software Engineer

Intuitive • Sunnyvale (CA)

On-site
USD 100,000 - 130,000
Market-competitive compensation packages
Health care benefits
Professional development opportunities
Staff Embedded Software Engineer
Staff Embedded Software Engineer

Intuitive • Sunnyvale (CA)

On-site
USD 224,000 - 322,000
Staff Software Engineer, Architecture
Staff Software Engineer, Architecture

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 224,000 - 322,000
Senior Manufacturing Software Engineer
Senior Manufacturing Software Engineer

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 189,000 - 271,000
Senior Software Engineer - UI Software Architecture & Display Systems
Senior Software Engineer - UI Software Architecture & Display Systems

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 185,000 - 266,000
Managing Staff Software Engineer - Embedded UI
Managing Staff Software Engineer - Embedded UI

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 224,000 - 322,000
Software Quality Engineering - CoE structure
Software Quality Engineering - CoE structure

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 140,000 - 210,000
Senior Full-Stack / AI Platform Engineer
Senior Full-Stack / AI Platform Engineer

Worky • Sunnyvale (CA)

On-site
USD 170,000 - 260,000