About the job
Job Description
Join the Future Forward organization as a Senior Embedded Research Software Engineer, where you will lead innovation, rapid prototyping, and new product development initiatives. Collaborate with a talented team of engineers, clinicians, and product managers to enhance Intuitive’s robotic surgical platform, guiding the product lifecycle from initial concept through to market launch.
Your role will involve designing, developing, and integrating embedded and platform software for a sophisticated robotic system. This encompasses interfacing with hardware, firmware, control algorithms, vision pipelines, user interfaces, and test infrastructures, including fault-injection and diagnostic frameworks. You will play a critical role in the architecture, implementation, and system-level integration of advanced features into comprehensive surgical robotic platforms, contributing to early-stage product exploration and development.
To thrive in this position, you must excel in an agile, small-team environment, transforming initial ideas into robust prototypes, methodically iterating, and consistently ensuring high product quality with a patient-centric approach.
Roles and Responsibilities
- Collaborate with cross-functional teams during the early stages of product exploration, prototyping, and development to meet clinical, functional, performance, and safety requirements.
- Translate initial requirements into prototype implementations to assess, iterate, and advance innovative robotic systems.
- Design and develop comprehensive embedded software to support system infrastructure, including OS drivers, hardware interfaces, real-time data pipelines, inter-processor communication, error handling, and user/test applications.
- Act as a subject matter expert in embedded software development by rapidly iterating prototypes from early requirements and creating functional products for research studies, employing systems thinking to integrate technology, users, and workflows.
- Refine and iterate designs while balancing technical requirements, feasibility, schedules, and resource constraints.
- Apply strong software engineering principles, including writing maintainable code, developing modular architectures, and ensuring thorough testing and documentation.
- Adapt to project needs by initially exploring a wide range of software technology stacks and focusing deeper into specific areas as the project evolves.
- Identify, document, and communicate intellectual property generated during the development process.

