Software Engineer (Embedded Firmware & C/C++)
NetApp, Inc. · Bangalore, Karnataka, India
Software Development · 10,001+ employees
About the role
Lead end-to-end product development for embedded software and firmware for storage systems and performance modules. Provide technical leadership, mentor junior engineers, and collaborate with cross-functional teams to solve complex problems.
What they look for
Requirements
Requires a degree in Electrical Engineering, Computer Engineering, or Computer Science with 4 to 6 years of experience. Must have strong C/C++ skills and expertise in embedded systems, x86 architectures, and storage technologies.
Full description
Job Summary
As a Software Engineer, you will work as part of a team that’s responsible for delivering high-quality embedded software and firmware for a wide range of NetApp storage systems and flash-based performance enhancement modules. Whether you’re supporting the latest processors, memory technologies, and protocols, or developing new system management capabilities on industry-leading baseboard controllers, your work will be at the heart of NetApp’s cutting-edge products.
Job Requirements
Lead end-to-end product development, including requirements analysis, architecture, design, coding, integration, testing, debugging, performance optimization, and customer support. Provide technical leadership, collaborate with cross-functional teams, and mentor junior engineers.
Required Skills:
- Strong C/C++ programming and x86 assembly debugging skills
- Experience in embedded software/firmware development
- Hands-on expertise with Linux or FreeBSD
- Knowledge of low-level drivers, hardware platforms, and x86 architectures
- Familiarity with storage technologies (SATA, SAS, PCIe, NVMe)
- Exposure to platform management and interfaces such as IPMI, Redfish, I2C, SPI, CAN, USB, and Ethernet
- Strong communication, problem-solving, and teamwork skills
- Ability to learn new technologies and deliver high-quality solutions in a fast-paced environment.
Responsibility:
- The tasks this individual is responsible for are often non-routine and unstructured, requiring creative solutions.
- This individual will apply attained experiences and knowledge in solving complex problems.
Interaction:
- This individual must work effectively with staff to vice-president levels employees within the function, and the technical team on assigned projects. There may be communication with employees in other functions as required.
- Limited management direction is provided to employee on new projects or assignments; general guidance is provided on new assignments.
- The ideal candidate will be a proactive contributor and subject matter expert on team projects.
- To be successful, this individual must demonstrate favorable results through coaching and influencing others.
Education
- A Bachelor of Science Degree in Electrical Engineering, Computer Engineering, or Computer Science, a Master Degree, or a PhD; or equivalent experience is required.
- A minimum of 4 years of experience is required. 4 to 6 years of experience is preferred.