Senior Firmware Engineer
Job Summary
As a Firmware Engineer you will work as part of a Research and Development team responsible for developing, testing, and debugging Firmware and embedded system software that interface with NetApp storage Operating System. As part of the Firmware R&D team, 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 teams or projects.
Job Requirements
Essential Functions:
- Proven experience in ARM/Intel based Server platform BIOS development.
- Experience with various subsystems on Intel x86, AMD x86, ARM architectures and peripherals such as PCIe, SATA, USB, I2C, sensors, SPI, Flash, DRAM.
- Development experience in UEFI BIOS/GRUB, Linux secure boot, device drivers / networking stack, memory model on Intel or AMD X86 CPU architectures.
- Experience with Linux/POSIX programming and embedded system development.
- Experience with build tool/kernel updates.
- Platform firmware/UEFI BIOS development and experience in C/C++, Python/Shell programming, Windows and/or Linux OS/Kernel debugging skills.
- Platform infrastructure: Device drivers (Ethernet, FPGA drivers, security modules) on Linux systems.
- Exposure to AMI or Insyde BIOS is a plus.
- Experience reading datasheets / schematics, and developing drivers, ACPI code accordingly.
- Debugging skills and experience using various hardware, memory debugging tools like Arium, gdb or Intel tools.
- Hands on experience in hardware-firmware co-design and board bring-up experience with SoCs and/or Customer Reference Platforms a plus.
- Experience in writing Design and Functional specifications.
- Must have effective interpersonal, teamwork, and communication skills in English
- Great analysis and problem-solving skills.
- Proven record of meeting tight deadlines without sacrificing quality.
- Knowledge of DevOps practices, CI/CD pipelines, Agile and Scrum methodology.
Education
A minimum of 7 years of experience is required. 8 to 9 years of experience is preferred.
A Bachelor of Science Degree in Electrical Engineering or Computer Science, a master’s degree, or a PhD; or equivalent experience is required.