Software Engineer - Core Systems and Storage ; Individual Contributor Levels
Listed on 2026-10-08
-
Software Development
Software Engineer, Unix/Linux, Backend Developer, C++ Developer
Job Summary
We are hiring experienced Systems Software Engineers across multiple Net App engineering organizations. This pipeline posting is designed to attract strong C/C++ systems-level engineers who can contribute to core storage and data management technologies across ONTAP and other Net App products. Candidates will be considered for roles on several teams, including ONTAP, WAFL, Replication/HA, Protocols (NFS/SMB/SAN/NVMe), Distributed Systems, Cloud Platforms, and Performance Engineering.
Engineers in these roles design, build, and optimize foundational components of Net App’s storage stack. You will work on real-world problems involving file systems, storage internals, distributed systems, performance, scalability, reliability, and data integrity. Work may include developing new features, enhancing subsystems, analyzing complex code paths, improving throughput and latency, debugging customer issues, or driving proofs of concept. You will collaborate with senior engineers, product teams, hardware teams, and cloud engineering groups to deliver high-quality software used globally by enterprise customers.
This posting can support multiple levels (3, 4, and
5). Team and level placement will be determined during the interview process based on experience, technical depth, and demonstrated capabilities.
Design, implement, and enhance features within ONTAP and related Net App storage systems
Write high-quality C/C++ code that is efficient, reliable, and maintainable
Analyze and improve existing code paths for performance, scalability, and correctness
Debug complex issues using system-level tools, logs, tracing, and profiling
Collaborate across engineering teams, including file system, protocol, cloud, hardware, and QA
Participate in design and code reviews, contributing to engineering best practices
Investigate performance bottlenecks and implement optimizations
Support prototyping, research, and feasibility analysis for new ideas and features
Communicate design decisions, technical findings, and progress clearly with peers
Use AI-assisted tools to accelerate design, development, testing, and troubleshooting
Software Engineer 3 (5–8 years)
Owns well-defined components or features
Implements end-to-end functionality with guidance
Performs profiling, debugging, and testing across subsystems
Contributes to design discussions and supports cross-team integration
Ramps quickly on ONTAP, WAFL, protocols, or storage technologies
Software Engineer 4 (9–15 years)
Designs and owns complex subsystems or multi-sprint epics
Drives cross-team delivery with minimal supervision
Mentors junior and mid-level engineers
Leads deep-dive debugging and performance analysis
Improves reliability, observability, and architecture patterns
Software Engineer 5 (12–16 years)
Leads major technical initiatives across teams or product line
Defines long-term architectural direction and technical strategy
Resolves highly complex system-wide issues in performance, data integrity, HA, scale, or protocols
Mentors senior engineers and influences engineering culture
Demonstrates deep domain expertise in file systems, operating systems, HA/replication, or distributed systems
Strong proficiency in C/C++ for systems-level development
Understanding of data structures, algorithms, memory management, and concurrency
Experience with Unix/Linux systems programming
Experience with one or more: file systems, storage systems, networking/protocol stacks, distributed systems, high-availability architectures
Strong debugging and performance analysis skills (gdb, perf, tracing, profiling tools)
Ability to write maintainable, well-documented code
Effectiv…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).