Staff Embedded Software Engineer
IntuitiveAbout the role
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
We are looking for an experienced embedded software engineer with strong system architecture design and GPU systems engineering expertise to design, build, and optimize reusable software frameworks and infrastructure for compute-intensive applications on the dV5 system and future platforms. This role will help establish shared software foundations that can be leveraged across multiple platforms to deliver consistent capabilities with reduced engineering overhead. The primary focus of this position is edge compute architecture, including distributed compute frameworks, data transfer mechanisms, graph-based execution pipelines, GPU/CPU workload optimization, system observability, and performance engineering for production embedded systems.
With a passion for transforming hardware capabilities into reliable, scalable, and high-performance software platforms, you will work across the software stack — from embedded Linux, OS/kernel interfaces, device drivers, CUDA kernels, inference engines, middleware, and application frameworks — to make data-driven architectural and implementation decisions that improve system performance, robustness, maintainability, and developer productivity. Our team empowers application and algorithm developers by providing easy-to-use frameworks, tooling, and reliable run-time software ecosystems. This is an opportunity to work on complex and rewarding problems at the intersection of embedded Linux software development, hardware/software integration, edge compute architecture, performance optimization, UI and interaction software infrastructure, hybrid compute design, and ML/AI application enablement within the da Vinci production ecosystem.
The successful candidate is a self-directed, hands-on developer who can operate effectively in a high-energy, focused, and cross-functional environment. The candidate is expected to demonstrate end-to-end ownership, strong systems thinking, and a shared responsibility for delivering high-quality frameworks and production-ready software solutions.
Roles and Responsibilities
- Design and develop robust, multi-threaded C++ embedded Linux software infrastructure, libraries, and tool suites that enable modular, configurable, and reusable edge compute architectures across heterogeneous hardware environments.
- Design and evolve distributed compute frameworks, data transfer mechanisms, and graph-based execution pipelines for compute-intensive applications, including ML inference, perception algorithms, and other high-performance workloads.
- Define, profile, and optimize end-to-end compute performance across CPU/GPU pipelines and multi-node systems, including latency, throughput, jitter, memory bandwidth, power, thermal behavior, resource utilization, and determinism.
- Develop automated performance tests, reproducible benchmarking workflows, and CI integrations to maintain performance baselines, prevent regressions, and provide empirical evidence for architecture and product design decisions.
- Partner with hardware, platform software, application software, algorithms, and systems engineering teams to define architecture requirements, performance targets, integration strategies, and reusable framework capabilities.
- Improve software modularity, portability, instrumentation, observability, and field diagnosability through shared mechanisms such as metrics, structured logs, health monitoring, performance monitoring, and analysis tooling.
- Create high-quality technical documentation capturing architecture decisions, design concepts, trade-offs, and implementation principles.
Qualifications
Required Skills and Experience
- Strong experience wit
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s
Similar roles
Member of Technical Staff, Software Co-Design AI HPC Systems - MAI Superintelligence Team
Microsoft
$331,200/yr
Deputy Director, Strategic Partnerships/Chief of Staff
City of Philadelphia
$155,000/yr
Staff Systems Engineer - (GWS Product Owner)
Northrop Grumman
$244,800/yr