OpenNash Jobs
Intuitive · Sunnyvale, CA

Embedded Software Engineer

Sunnyvale, CA, United StatesFull-timeSoftware Engineering

Listed on Intuitive’s official careers site. Posted September 30, 2026. Check that it is still open and apply there.

Apply on Intuitive’s careers site →

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

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.

More jobs at Intuitive

Equipment Engineering - Software

Sunnyvale, CA, United States

Full Stack Engineer

Sunnyvale, CA, United States

Manager, PMO - MP Software

Sunnyvale, CA, United States

Similar jobs at other companies

Principal Embedded Software Development Engineer

Fortinet · Sunnyvale, CA, United States

Senior Embedded Software Engineer

Fortinet · Sunnyvale, CA, United States

Software Engineer II – Embedded Software

BAE Systems · Merrimack, New Hampshire, United States

Embedded Software Engineer - E2

Lockheed Martin · Hanover, MD

Embedded Software Engineer - E2

Lockheed Martin · Owego, NY

OpenNash lists jobs from employers’ own careers sites and does not handle applications. Dates come from the employer where stated; “first seen” and “last checked” are our own observations.