Member, Technical Staff - System Firmware at NetApp
From the newest ideas in cluster computing to the latest web framework, NetApp software products embrace innovation to deliver compelling solutions to our business.
As a Firmware Engineer you will work as part of a team responsible for participating in the development, testing and debugging of operating systems that run NetApp storage applications. In addition, you will participate in activities that include testing and debugging of operating systems that run NetApp storage applications. As part of the Research and Development function, the overall focus of the group is on competitive market and customer requirements, supportability, technology advances, product quality, product cost and time-to-market. Firmware engineers focus on enhancements to existing products as well as new product development.
This position requires an individual to be creative, a quick learner, driven to produce results and demonstrates the ability to lead small teams or projects.
Hands on experience in hardware-firmware co-design and board bring-up experience with SoCs and/or Customer Reference Platforms. Proven experience in ARM/Intel based Server platform firmware development. Experience with various subsystems such as PCIe, SATA, USB, I2C, SPI, Flash, SD/MMC. Platform firmware/UEFI BIOS development experience in C/C++, scripting languages, Windows and/or Linux OS/Kernel debugging skills. In-depth knowledge of C.
Experience reading datasheets / schematics, and developing drivers, ACPI code accordingly. Development experience in UEFI BIOS/GRUB, linux secure boot, device drivers / networking stack, memory model on X86 CPU architectures. Development experience on x86 PCH and peripherals PCI, I2C, SPI and FPGA handling, handling special devices and peripherals. Exposure to AMI BIOS is a plus. Debugging skills and experience using various hardware, memory debugging tools like Arium, gdb and / or intel tools. Platform infrastructure: Device drivers (Ethernet, FPGA drivers, security modules) on Linux Operating systems, eMMC drivers, Power management, Chassis management is a plus. Work with hardware engineers to debug various hardware issues in lab. Understanding of networking protocols.
Typically requires a minimum of 5 years of related experience with a Bachelor’s degree; or 3 years and a Master’s degree; or a PhD without experience; or equivalent work experience.
Education & Experience: