Job Description
Primary Function of Position
The Core Technologies Engineering (CTE) group within Intuitive has a summer opening in Sunnyvale, CA for a software engineering intern with a focus on the internal da Vinci emulator. You will be on a small team responsible for building, deploying, and supporting our full-system emulator and hybrid hardware-in-the-loop setups.
A successful intern candidate will be able to work with our team but also make independent progress on a project improving our emulator. Multiple projects are possible, so a candidate will need to select a project to work to their strengths in prototyping, implementing, and deploying a software project. A deep sense of shared responsibility and shared reward is required, as is the ability to make work fun and interesting
Essential Job Duties
- Expanding the functionality of the internal da Vinci emulator, which might be user interface, microcontroller simulation, Linux kernel module support, or virtualization efforts, depending on candidate background.
- Learn and practice our team’s methodology for developing, deploying, and supporting an internal tool within the Intuitive engineering organization.
- Continually communicate with engineers outside of our group throughout the course of the internship.
Qualifications
Required Skills and Experience
- Working experience with C++ or Python (preference will be given to candidates who can demonstrate ability in both languages.)
- Experience on a software project lasting at least three months. (You will be expected to present on this existing project during hiring.)
University Hiring Program Eligibility Requirements:
- University Enrollment: Must be currently enrolled in and returning to an accredited degree-seeking academic program in the Fall.
- Internship Work Period: Must be available to work full-time (approximately 40 hours per week) during a 10-12 week period starting May or June. Specific start dates are shared during the recruiting process.
Required Education and Training
- Current enrollment in any degree-seeking program which includes some software development (Computer Science, Computer Engineering, but Electrical Engineer if software electives are present) coursework at the Bachelor’s, Master’s, or Doctorate level.
Preferred Skills and Experience
- Working knowledge of the Linux operating system
- Working knowledge of Docker containerization
- Experience developing software for embedded microcontrollers
- Any virtualization software experience (VMWare, QEMU, etc.) beyond causal use.