Firmware Engineer II

Microsoft Microsoft · Big Tech · Bengaluru, KA, IN · Firmware Engineering

This role is for a Firmware Engineer II on the Azure Firmware Center of Excellence team. The engineer will be responsible for firmware development of server, silicon, and rack infrastructure, focusing on innovation for Azure infrastructure. The role involves leading architecture, design, development, and deployment of firmware features, operating and influencing a team of engineers, and being involved in all phases of product development. Requires strong C programming skills, experience with SoC architecture, low-level drivers, and debugging at the firmware/hardware intersection. Experience with AI/ML in hardware is a plus.

What you'd actually do

  1. Lead architecture, design, development and deployment of innovative firmware and Cloud firmware features that deliver competitive advantage and contribute to scale our business growth.
  2. Operate and influence a team of high performing engineers with the ability to motivate, build Firmware solutions for the cloud
  3. You will be involved with all phases of product development, from microarchitecture design through firmware architecture and development.
  4. Build solid engineering design plans, with bottoms up schedule, drive trade off, design decisions to meet top level schedule on time and with high quality

Skills

Required

  • C programming
  • SoC Architecture and Design
  • low level drivers
  • firmware development
  • embedded software solutions
  • X86/X64/ARM Architecture and design
  • C++
  • Rust
  • problem solving
  • debugging
  • troubleshooting
  • advanced design
  • development skills
  • bare metal firmware development
  • UEFI platform development
  • CPU architectures (Intel or AMD or ARM)
  • Platform Server Architecture

Nice to have

  • AI/ML experience in hardware TPU,Nitro, Smart Nics

What the JD emphasized

  • proficient C programing skills
  • experience with SoC Architecture and Design
  • writing low level drivers
  • root causing issues at the intersection of multiple subsystems across firmware and hardware
  • low level firmware development
  • bare metal firmware for peripherals such as GPU,CPLD,TPM PCIe, I2C, eMMC, SPI, USB, UARTs
  • Memory Management, Scheduling, Interrupts and multi-threading
  • UEFI platform development
  • CPU architectures (2Socket,4socket,8socket,16 socket) – Intel or AMD or ARM is a must
  • Platform Server Architecture (CPU, Memory, PCI-e, NVMe, SSD/SAS, Secureboot, UEFI, BMC,GPUs, InfiniBand, Hardware interfaces like MUX/I2C/SPI, schematics, TPM)