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






