Algorithms Software Engineer
IntuitiveAbout the role
Company Description
At Intuitive, we are united behind our mission: we believe that minimally invasive care is life-enhancing care. Through ingenuity and intelligent technology, we expand the potential of physicians to heal without constraints.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 Description
Primary Function of Position:
As a member of the Future Forward engineering team, you will be tasked with contributing to the implementation of complex surgical robotic functionalities into complete solutions and bringing them to fruition through human use and product release. Your contribution will be focused on the supervisory state machines and software infrastructure, to lay the foundation of a novel surgical robotic architecture.
The successful candidate must excel in a focused, high-energy small-team environment, be able to translate rough and approximate requirements into working prototypes, so to collaborate with the team to arrive at high quality, complete solutions through methodical iterations. Quick learning and a desire to understand requirements from a user’s and engineering’s perspective are essential to become a valuable system developer. A strong sense of shared responsibility and shared reward is required.
Roles and Responsibilities:
As part of the design team, immediate responsibilities include:
• Design, development and testing of the supervisory state machines that serve as the system’s top-level behavioral command control center, coordinating the real-time control system and user-driven events.
• Integration of the supervisory state machines within the overall system software infrastructure, by leveraging existing components and interfaces that are shared across all Intuitive Surgical robotic systems, to maximize flexibility, modularity, and performance.
• Support prototyping and development activities of novel surgical robotic platforms, by leveraging and adapting the existing C/C++ heterogeneous, multi-processor infrastructure that is shared across all Intuitive robotic systems; learn from each iteration, refine, and extend code quickly and methodically.
• Analysis and quantification of the overall system performance and responsiveness; identification of improvement opportunities, such as reduced latency and increased reliability/determinism.
• Failure mode analysis and implementation of safety mitigations to guarantee safe operation.
• Collaborate to the definition of requirements, specifications, and verification procedures.
Additional responsibilities include:
• Development of a thorough system-level knowledge from a clinical user perspective. • Work on a cross-functional team at multiple levels, understanding needs and requests and weighing them against safety risks and technical constraints.
• Lead the team adoption of object-oriented software modeling and state machine implementation tools.
• Contribution to multiple areas of software development, including but not limited to the following:
- configuration and monitoring of custom motion control hardware.
- real-time processing performance analysis.
- extension of current processing frameworks to new processors, operating systems, and hardware designs.
- design, development, and extension of offline hardware simulation environments to facilitate rapid software development and testing.
- development of research prototypes used to evaluate new product concepts.
- design and development of hardware / software diagnostic tools.
• Detailed design, development, documentation, and verification of embedded software, in compliance with regulatory requirements and I
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