Joining Intuitive Surgical means joining a team dedicated to using technology to benefit patients by improving surgical efficacy and decreasing surgical invasiveness, with patient safety as our highest priority.
Eligibility: Must be concurrently enrolled in a degree-seeking program with an accredited university or enrolled in an upcoming program in the fall.
Primary Function of Position: We are seeking a summer Software Engineer Intern to assist the Simulation Content Team. Virtual reality surgical simulation provides a risk-free training environment with the advantage of quick-and-easy setup of various training scenarios, unlimited training materials, and automated, objective, quantitative assessment of surgical skills. A simulation software framework is an integral part of developing new simulation technologies and productizing advanced surgical simulation contents. The Simulation Software Intern position offers an opportunity for a candidate with exceptional software engineering and programming skills to be part of developing and improving the simulation software framework.
Roles and Responsibilities: The candidate will collaborate with key software and research engineers to develop a planned VR-based simulation software framework. The candidate will develop software components in a Windows-based multi-threading programming environment for interoperable simulation of graphics and physics. The candidate must have experience using C++ and Python for several extensive projects to rapidly assist in the design and development of the software framework. The candidate must excel in a high-energy team environment, and be capable of owning and completing tasks with the time pressures typical of new products.
The candidate will also assist in various tasks related to simulation research, simulation validation studies and other interesting aspects of the surgical simulation field.
Specific responsibilities for the Simulation Software Intern include:
• Design and develop solid C++ software in a real-time multi-threading programming environment (high graphics and physics rates, and various data streaming refresh rates) and integrate it into the da Vinci robotic simulator system. • Design and develop an interface that Python binds the C++ software • Contribute broadly to many areas of software development • Understand the da Vinci Robotics Platform streaming API’s and be able to consume streaming data inside the simulation software. • Develop software adhering to the ISI coding standards and good software development practices (unit testability, source code control, etc.) • Execute systematic and aggressive evidence based troubleshooting techniques
Qualifications
Skill/Job Requirements: • In process of Master’s or PhD degree in Computer Science or Software Engineering or similar. • Minimum 2 years of experience in developing software and/or supporting software development teams, preferably in video game or VR simulation development. • Minimum 2 years of experience OOP programming in C/C++ or C# and Python in Windows OS. • Multi-threading programming in Windows OS. • Debugging using but not limited to Visual Studio. • Performance profiling in Windows OS. • An interest in the medical applications of robotics, with the ability to view surgical procedures and medical images. • Ability to learn rapidly, driving to creative – yet practical – solutions from rough requirements. • The ability to excel within a high-energy, small, focused team environment, maintain a strong sense of shared responsibility and shared reward, and to make work fun and interesting. • Preferred 3D graphics programming experience using OpenGL • Preferred API and SDK design and development experience • Preferred extensive experience developing 3D simulation software framework Learning Outcomes: • Help develop simulation software modules and move closer to product quality • Become skilled in the entire simulation development process
Commitment: •Must be available to work full-time hours, M-F for 10-12 weeks beginning Summer of 2018. We are an AA/EEO/Veterans/Disabled employer.