Bachelor's degree in Computer Science, Electrical Engineering, or related field.
12+ years of experience in embedded systems development (or 8 years with a Master's, 5 years with a PhD).
Expertise in C++ or C for mission-critical cross-platform code, focusing on embedded and real-time systems.
Proficient in embedded compute architectures and hardware debugging methodologies.
Knowledge of communication protocols (TCP/IP, CAN) and memory management techniques.
Responsibilities
Gather cross-functional requirements across customer, clinical, safety, and cybersecurity domains.
Collaborate with stakeholders to define development plans and timelines.
Identify interfaces between hardware and software components, architecting modular software.
Support prototyping and development of surgical robotic platforms, refining code iteratively.
Lead risk analysis, identifying hardware needs and developing software mitigations.
Act as software lead for high-level specifications and integration of custom PCAs and FPGA IP.
Contribute to software development for distributed multi-processor systems, including user interface and diagnostic applications.
Benefits
Market-competitive compensation packages including base pay and incentives.
Opportunities for equity participation.
Collaborative team environment fostering innovation.
Exposure to cutting-edge medical technology projects.
Potential for professional growth in a regulated industry.
Full Job Description
Gather high-level cross-functional requirements, ranging from customer-facing requirements to clinical and safety requirements, and cybersecurity requirements.
Collaborate with cross-functional stakeholders on the definition of development plans and timelines, that combine technical needs with schedule and resource need.
Identify interfaces and communication requirements between hardware and software components, architect modular and testable software that supports the system high-level behaviors.
Support prototyping and development activities of novel surgical robotic platforms, by leveraging and adapting the existing infrastructure that is shared across all Intuitive robotic systems; learn from each iteration, refine and extend code quickly and methodically.
Lead formal risk analysis; identify additional hardware requirements and develop software mitigations.
Act as software lead in the high-level specification, bring-up and integration of new custom PCAs and FPGA IP.
Perform detailed design, development, documentation and support verification activities of embedded software and supervisory state machines, in compliance with regulatory requirements and Intuitive's internal guidelines.
Contribute broadly to multiple areas of software development for our distributed multi-processor systems, including but not limited to video and servo hardware control and monitoring, inter-processor communication subsystem development, system diagnostic and service application development, user interface development
Apply high level and specialized industry expertise that results in new innovations and problem-solving approaches that can be leveraged across multiple products.
Represent your project ably in interactions externally with key customer collaborators and internally within the company.
Qualifications
Required Education and Training
Bachelor's degree or above in Computer Science, Electrical Engineering or Computer Engineering, or similar technical field.
A minimum of 12 years of experience in developing and supporting embedded systems (or 8 years with a Master's degree, or 5 years with a PhD degree).
Required Skills and Experience
Fluent in designing and developing mission-critical cross-platform code in C++ or C, with focus on embedded and real time systems (e.g. QNX).
Fluent with embedded compute architectures, and their development and testing methodologies, including hardware debugging.
Fluent with communication protocols such as TCP/IP, CAN, serialization protocols.
Fluent with memory management, concurrency, synchronous and asynchronous event handling.
Working knowledge of Python or other scripting languages for automation, diagnostics and testing. Familiarity with Vivado and other FPGA development tools.
Preferred Skills and Experience
Familiarity with servo-controls and electro-mechanical systems.
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.
Familiarity with medical technology projects from inception through field validation to launch. Strong understanding of medical product ecosystem services.
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.
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.
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.
About Intuitive Surgical, Inc
Intuitive Surgical, Inc. is an American corporation that develops, manufactures, and markets robotic products designed to improve clinical outcomes of patients through minimally invasive surgery, most notably with the da Vinci Surgical System. The company is part of the NASDAQ-100 and S&P 500. Intuitive Surgical has installed more than 5,000 surgical systems worldwide, and has more than 4,000 employees.