Intuitive Surgical is looking to explore new, promising technologies for future products and services in the emerging computer- and robot-assisted medical interventions field by hiring a Senior Research Software Engineer.
Requirements
- Proficiency in multiple programming languages (e.g., C, C++, Python, Matlab).
- Experience with multi-threaded and multi-processor/multi-core systems.
- Proven track record in building real-time applications and/or embedded software.
- Experience with industrial embedded OS (e.g., Yocto, QNX), interfaces, and the latest tech stack for embedded software development.
- Expertise in building AI/ML-based embedded solutions using the latest tech stack, frameworks, and tools to achieve desired performance through hardware acceleration and other techniques.
- Hands-on experience with integrating the latest AI/ML models to develop embodied AI applications.
- Proficiency in profiling and debugging system software to optimize performance.
Responsibilities
- Design, build, debug, and deploy embedded applications using multiple programming languages on various platforms, including real-time operating systems.
- Develop and prototype embedded software that interfaces with hardware and cloud systems, ensuring technical feasibility and defining product roadmaps.
- Adapt to project needs by initially exploring a broad range of software technology stacks and delve deeper into specific areas as the project evolves.
- Contribute to and lead software architecture discussions, code reviews, and cross-functional requirement analysis, with a focus on both technical and clinical needs.
- Develop prototypes from early requirements to rapidly iterate and create a functional product for research studies, employing systems thinking to integrate technology, users, and workflows.
- Apply strong software engineering practices, including writing maintainable code, modular architecture, testing, and documentation.
- Stay informed about emerging technologies to enhance workflows and propose solutions for complex technical challenges.
Other
- Master's degree or higher in Computer Science, Computer Engineering, or a similar technical field. Advanced degrees are preferred.
- A minimum of 8 years (or 5 years with a Ph.D.) of working experience in developing embedded systems software, including at least 2+ years in an R&D, innovation, or exploratory environment.
- Strong problem-solving skills and the ability to structure and iterate on solutions in ambiguous contexts.
- Excellent written and verbal communication skills.
- Location: Sunnyvale, CA (onsite).
- Travel: Up to 10%, including lab and preclinical environments.