Embedded Software Engineer

Xapply

Sunnyvale (CA)

On-site

USD 140,000 - 210,000

Full time

3 days 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 is seeking an embedded software engineer to develop C/C++ applications and middleware for the Ion endoluminal platform. You will work with software, systems, hardware, and test teams to build reliable software on a heterogeneous embedded platform including CPUs, GPUs, and FPGAs.

The role emphasizes strong C/C++ skills, Linux-based development, and API-driven design, with cross-functional collaboration across engineering teams.

Qualifications

  • Strong programming skills in C/C++ (C++11+), production software.
  • Experience on Linux/POSIX platform software development.
  • Understanding of OO design and API design.

Responsibilities

  • Design, implement, test, and maintain C/C++ apps and middleware on embedded Linux.
  • Develop reusable system services, libraries, and APIs for multiple subsystems.
  • Develop software for configuration, preferences, persistence, diagnostics, and system management.
  • Design software for structured data storage/retrieval.
  • Develop multithreaded apps using IPC.
  • Integrate software across CPUs, GPUs, FPGAs and hardware accelerators.
  • Extend software frameworks to support new product features.
  • Participate in API/interface and design reviews.

Skills

C/C++ development
Embedded Linux
OO design
Multithreading
IPC
Data persistence
Linux debugging
Networking TCP/IP
API design
Python scripting
Cross-functional teamwork

Education

Bachelor’s in CS/CE
4+ years embedded systems

Tools

Linux
gdb/diagnostics
Yocto/OpenEmbedded

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

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.

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.

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 employeeswho 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
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 HRHelpNow@intusurg.com.

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.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

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
Sr. Robotic Software Engineer
Sr. Robotic Software Engineer

Triwill Group • Sunnyvale (CA)

On-site
USD 180,000 - 240,000
Embedded Software Engineer
Embedded Software Engineer

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 158,000 - 228,000
Sr. Software Engineer - Embedded Build and Release
Sr. Software Engineer - Embedded Build and Release

Intuitive • Sunnyvale (CA)

On-site
USD 160,000 - 271,000
Senior Manufacturing Software Engineer
Senior Manufacturing Software Engineer

Xapply • Sunnyvale (CA)

On-site
USD 120,000 - 180,000
Software Quality Engineering - CoE structure
Software Quality Engineering - CoE structure

Intuitive • California (MO)

On-site
USD 140,000 - 190,000
Sr Manager UI Software Engineering
Sr Manager UI Software Engineering

Xapply • San Francisco (CA)

On-site
USD 190,000 - 240,000
Senior (Quality Engineer 4) - Software/Firmware
Senior (Quality Engineer 4) - Software/Firmware

Xapply • Sunnyvale (CA)

On-site
USD 120,000 - 180,000
Service Operations Tech 2 - Graveyard Shift
Service Operations Tech 2 - Graveyard Shift

SmartRecruiters, Inc. • Peachtree Corners (GA)

On-site
USD 39,000 - 54,000
Senior Software (Quality Engineer 4) - CoE structure
Senior Software (Quality Engineer 4) - CoE structure

Xapply • Sunnyvale (CA)

On-site
USD 140,000 - 180,000