Intern - Software Engineer (Systems)

NetApp•San Jose, NC

About The Position

NetApp is hiring an intern to contribute to software that powers its data infrastructure across cloud, hybrid, and on-premises environments. The intern will work with experienced engineers on a Systems team to design, develop, test, debug, and enhance system-level software. Depending on team and project assignment, work may involve ONTAP, storage and file systems, data protection and replication, distributed systems, business continuity, systems infrastructure, or performance. The internship provides hands-on experience across the software development lifecycle, from design and implementation through testing, debugging, and delivery. Interns receive mentorship, resources, and feedback while contributing to meaningful engineering work. Projects vary according to team priorities and business needs. This is a pipeline position for internship opportunities across multiple engineering teams. The internship is 10–12 weeks during summer 2027, with start dates in May or June.

Requirements

  • Programming experience with C and/or C++ through coursework, projects, research, internships, or other hands-on experience.
  • Understanding of data structures, algorithms, operating systems, and software engineering fundamentals.
  • Familiarity with Linux or Unix environments.
  • Exposure to systems programming concepts such as processes, threads, memory management, concurrency, or synchronization.
  • Strong analytical, debugging, and problem-solving skills.
  • Strong communication and collaboration skills, with the ability to learn and apply new technologies.
  • Must be enrolled in an educational or professional program through summer 2027.
  • Candidates pursuing a Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or a related technical field are encouraged to apply.

Nice To Haves

  • Coursework, projects, or experience in operating systems, computer architecture, file systems, distributed systems, storage, networking, multithreading, or performance analysis.
  • Curiosity about AI and emerging technologies, with exposure through coursework, projects, or hands-on use.

Responsibilities

  • Design, develop, test, debug, and enhance system-level software using C and/or C++.
  • Apply operating system and systems programming concepts, including processes, threads, concurrency, synchronization, and memory management.
  • Contribute to software supporting storage, file systems, replication, data protection, or distributed systems.
  • Investigate software defects and performance issues and help identify root causes.
  • Develop automated unit, integration, or system tests to validate functionality, reliability, and performance.
  • Participate in the software development lifecycle, from design and implementation through debugging, testing, and delivery.
  • Collaborate across engineering teams to solve technical problems and improve system reliability, scalability, and performance.
  • Depending on project assignment, contribute to ONTAP and storage systems, system reliability and data integrity, business continuity, replication and distributed systems, performance optimization, or test automation.

Benefits

  • Health Insurance
  • Life Insurance
  • Retirement or Pension Plans
  • Paid Time Off (PTO)
  • Various leave options
  • Performance-Based Incentives
  • Employee stock purchase plan
  • Restricted stocks (RSUs)
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service