Embedded Software Engineer

Intuitive

Sunnyvale (CA)

On-site

USD 120,000 - 180,000

Full time

4 days ago
Be an early applicant
Application generator

Get a reply from this employer — a resume and cover letter tailored to exactly what they’re hiring for.

Get past ATS filters

Job summary

Intuitive is seeking an embedded software engineer to join the New Product Development Platform Software team. You will develop C/C++ applications and middleware on embedded Linux, enabling configurations, diagnostics, and data management across CPUs, GPUs, FPGAs, and specialized hardware.

You will collaborate with software, systems, hardware, and test teams to build reusable platform services, APIs, and robust, scalable software for a heterogeneous robotic platform.

Qualifications

  • Strong C/C++ application development skills on embedded platforms.
  • Understanding of software architecture and data management for embedded systems.
  • Interest in building reusable platform services and APIs.

Responsibilities

  • 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 (CPUs, GPUs, FPGAs).
  • 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.
  • Debug issues across application, middleware, OS, and hardware interfaces.
  • Investigate software defects and perform root-cause analysis.
  • Diagnose issues involving CPU-hosted software and GPU/FPGA/hardware-accelerated components.
  • Use Linux debugging and diagnostic tools (gdb, logs, tracing tools).
  • Work with EE and FPGA engineers to understand interfaces and troubleshoot integration issues.
  • Support software integration, verification, validation, and product bring-up activities.
  • 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.

Skills

C/C++ development
Embedded Linux
Multi-threading
IPC
APIs

Tools

GDB
Linux tooling
CI/CD tooling
Hardware interfaces

Job description

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.

  • undefined

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Robotics Embedded Software Engineer – Healthcare Platform
Robotics Embedded Software Engineer – Healthcare Platform

Xapply • Sunnyvale (CA)

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

Intuitive • Sunnyvale (CA)

On-site
USD 150,000 - 210,000
Senior Embedded Software Engineer - Robotic Surgery Systems
Senior Embedded Software Engineer - Robotic Surgery Systems

Intuitive • Sunnyvale (CA)

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

Intuitive Surgical, Inc. • Sunnyvale (CA)

On-site
USD 158,000 - 228,000
Future opportunities - Senior Embedded Software Engineer - Video Systems
Future opportunities - Senior Embedded Software Engineer - Video Systems

Intuitive • Sunnyvale (CA)

On-site
USD 120,000 - 160,000
Sr Software Engineer, PlanPoint
Sr Software Engineer, PlanPoint

Intuitive • Sunnyvale (CA)

On-site
USD 150,000 - 230,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
Mechanical Design Engineer
Mechanical Design Engineer

Intuitive • Sunnyvale (CA)

On-site
USD 100,000 - 140,000
Senior Robotic Software Engineer – Embedded & Algorithms
Senior Robotic Software Engineer – Embedded & Algorithms

Intuitive • Sunnyvale (CA)

On-site
USD 150,000 - 210,000
Senior FPGA Design Engineer
Senior FPGA Design Engineer

Intuitive • Sunnyvale (CA)

On-site
USD 140,000 - 180,000