Software Engineer
NetApp Software Engineer
Job Summary
At NetApp, your ideas power innovation. We lead in intelligent data infrastructure—delivering unified storage, integrated data services, and solutions that help organizations unlock the full potential of their data, from AI to multicloud.
Ready to innovate and contribute to our path to $10B? Here, you'll collaborate with passionate teams, tackle real-world challenges, and see your impact in how customers transform and grow. If you're ready to bring curiosity, creativity, and drive to every moment, NetApp is where your journey begins. Join teams that drive results, innovate to elevate, and excel together across every function.
Job Summary
As a Software Engineer, you will be part of a team responsible for developing high-quality embedded software and firmware for NetApp storage systems and flash-based performance enhancement solutions. You will contribute to the design and development of innovative technologies that power industry-leading storage platforms, supporting the latest processors, memory technologies, protocols, and system management capabilities.
Essential Functions
You will participate in all phases of the product development lifecycle, including:
Analyzing and defining software and firmware requirements.
Designing software architectures and technical solutions.
Developing, integrating, testing, and debugging software and firmware.
Performing performance analysis and optimization.
Supporting early customer engagements and sustaining activities.
Providing technical leadership and coordinating cross-functional teams to deliver new platforms and features.
Job Requirements
-
-
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- 5+ years of software development experience, including embedded systems, hardware-oriented software, and low-level driver development.
- Strong programming skills in C, C++, and Python.
- Experience with source control systems such as Git/GitHub.
- Hands-on experience developing and executing unit, functional, and integration tests.
- Experience designing and developing embedded software and firmware.
- Proficiency with Linux, FreeBSD, or other UNIX-based operating systems.
- Experience implementing DevOps and CI/CD practices to enable efficient development and deployment processes.
- Experience leveraging AI-powered tools and frameworks to improve software quality, productivity, and engineering effectiveness.
- Ability to collaborate effectively with cross-functional teams in a fast-paced environment.
- Experience mentoring and supporting junior engineers.
Preferred Qualifications
- Experience with platform management technologies such as IPMI, Redfish, Swordfish, and environmental monitoring frameworks.
- Familiarity with hardware interfaces including RS-232, I2C, SPI, CAN, USB, and Ethernet.
- Experience with x86-based architectures, memory technologies (NVRAM, Flash), and networking hardware.
- Familiarity with storage and interconnect technologies such as SATA, SAS, PCIe, and NVMe.
Desired Skills
- Strong verbal and written communication skills.
- Ability to work collaboratively to deliver high-quality solutions within aggressive timelines.
- Strong analytical and problem-solving skills with a creative approach to technical challenges.
- Demonstrated ability to learn and apply new technologies quickly.
- Solid understanding of computer architecture, data structures, algorithms, and software engineering best practices.
- Ability to apply standard engineering principles and practices to solve complex technical problems.
At NetApp, we embrace a hybrid working environment designed to strengthen connection, collaboration, and culture for all employees. This means that most roles will have some level of in-office and/or in-person expectations, which will be shared during the recruitment process.
-