
Senior Embedded Software Engineer
- Sunnyvale, CA
- Permanent
- Full-time
As a pioneer and market leader in robotic-assisted surgery, we strive to foster an inclusive and diverse team, committed to making a difference. For more than 25 years, we have worked with hospitals and care teams around the world to help solve some of healthcare's hardest challenges and advance what is possible.
Intuitive has been built by the efforts of great people from diverse backgrounds. We believe great ideas can come from anywhere. We strive to foster an inclusive culture built around diversity of thought and mutual respect. We lead with inclusion and empower our team members to do their best work as their most authentic selves.
Passionate people who want to make a difference drive our culture. Our team members are grounded in integrity, have a strong capacity to learn, the energy to get things done, and bring diverse, real world experiences to help us think in new ways. We actively invest in our team members to support their long-term growth so they can continue to advance our mission and achieve their highest potential.
Join a team committed to taking big leaps forward for a global community of healthcare professionals and their patients. Together, let's advance the world of minimally invasive care.Job DescriptionPrimary Function of PositionAs a Senior Embedded Software Engineer, you will collaborate with a talented team to advance Intuitive's robotic product lines.Your role will focus on embedded and platform software, impacting firmware, user interface, and test infrastructure. You will contribute to the design, implementation, and integration of complex functionalities into complete surgical robot solutions, ensuring product release and human use.Success in this role requires excelling in a dynamic small team environment, driving solutions from rough requirements through methodical prototype iterations, and maintaining a high commitment to product quality with a patient-first approach.Essential Job Duties
- Engage in cross-functional requirements discussions, addressing clinical needs and safety requirements.
- Translate early requirements into prototype implementations for evaluating novel robotic systems.
- Collaborate cross-functionally to define overall system architecture, selecting hardware components and specifying interfaces across various compute nodes, with emphasis on timing requirements, inter-processor communication, and product life cycle.
- Contribute to hazard and failure mode analysis, defining appropriate mitigations.
- Refine and iterate designs to meet requirements while balancing feasibility, schedule, and resources.
- Develop and document software modules in areas of servo control, hardware monitoring, high speed communication, conducting unit tests before system integration and human use.
- Produce supporting documentation in compliance with Intuitive's development and documentation guidelines.
- Ensure medical device designs meet quality and safety requirements per the Quality Management System.
- A minimum of 8 years of experience in developing and supporting embedded systems; or 6 years with a Master's degree; or 3 years with a PhD
- Proficient in designing and developing mission-critical cross-platform code in C++ or C, focusing on embedded and real-time systems (e.g., QNX), including application, board bring-up, and device drivers for multi-core and multi-processor architectures.
- Fluent with version control systems and collaborative development environments.
- Familiar with communication protocols such as TCP/IP, CAN, I2C, SPI and serialization protocols like protobuf.
- Strong problem-solving skills and debugging capabilities for complex embedded software and electromechanical systems.
- In-depth understanding of failure mode and risk analysis, with experience in safety-critical, product-focused designs.
- Excellent verbal and written communication skills for effective interaction across all organizational levels.
- Passionate about learning, solving technical problems, and positively impacting patient lives.
- Experience with robotics and embedded software for complex electro-mechanical systems.
- Knowledgeable in Python or Matlab for automation, diagnostics, and testing.
- Familiarity with FPGA development and interfaces.
- Familiarity with CUDA programming and memory management concepts.
- Cyber-security concepts such as secure boot, authentication and encryption.
- Hands-on engineering experience with proven ability to work effectively in a team environment.
- Experience in all phases of the product development lifecycle including design, implementation, debug, verification, validation, and transfer to manufacturing
- Experience designing software products in a regulated industry or for mission critical applications; comfort with concepts of design input, design output, traceability, risk analysis, and mitigations.