Source description
About the role
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.
-
Responsibility
-
Solve complex technical challenges that are often non-routine and require innovative approaches.
-
Apply technical expertise and experience to drive solutions and deliver high-quality results.
-
Take ownership of key deliverables and contribute to the successful execution of projects.
-
Interaction
-
Collaborate effectively with engineers, project teams, and stakeholders across the organization.
-
Communicate and influence technical decisions with employees ranging from individual contributors to vice president-level leadership.
-
Partner with cross-functional teams to ensure successful product delivery and customer satisfaction.
-
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.
More at NetApp