Senior Embedded Software Engineer
Company | Intuitive Surgical |
---|---|
Location | Sunnyvale, CA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Senior, Expert or higher |
Requirements
- Minimum Bachelor’s degree or above in Computer Science, Electrical Engineering or Computer Engineering, or similar technical field
- 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
- 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), including application, board bring-up, device drivers for multi-core and multi-processor architectures
- Working knowledge of Python or Matlab for automation, diagnostics and testing
- Familiarity with communication protocols such as TCP/IP, CAN and serialization protocols such as protobuf
- Strong problem-solving skills and debugging of complex embedded software and electromechanical systems
- In-depth knowledge of failure mode and risk analysis, with experience working on safety-critical, product-focused designs
Responsibilities
- Responsibility for all aspects related to the development of embedded software and associated tooling for robotic surgical systems
- Cross-functional requirements discussions, ranging from customer-facing clinical needs to safety requirement
- Translating early requirements into prototype implementations for early evaluation and assessment for a novel and sophisticated robotic system
- Contributing to hazard and failure mode analysis and defining appropriate mitigations
- Methodically refining and iterating to finalize the design that meets the requirements, while balancing feasibility, schedule, and resource needs
- Developing, documenting, and implementing detailed software designs and conducting unit tests ahead of system integration and human use
- Generating supporting documentation according to Intuitive development and documentation guidelines
- Ensuring that medical device designs meet product quality and safety requirements, in compliance with design control processes defined in the Quality Management System
Preferred Qualifications
- Fluent working with version control systems such as Git or SVN and build systems such as GNU Make and CMake
- Familiarity with CUDA programming and memory management concepts
- Integration of third-party libraries including cross-compilation
- Cyber-security concepts such as secure boot, authentication and encryption
- Hands-on engineering experience with proven ability to work effectively in a team environment
- Ability to build and maintain relationships across supported organizations
- 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