Mandatory Skills
Experience in x86 BIOS/UEFI development. Strong understanding of x86 CPU/APU architectures and compilation tools. Expert-level C programming. Experience with at least one BIOS codebase: AMI Insyde Phoenix BIOS Coreboot EDK II Experience preparing BIOS for platform bring-up. Understanding of UEFI boot stages: SEC, PEI, DXE, and BDS. Knowledge of PCDs, UPDs, memory maps, SPI ROM, FSP, device trees, and BIOS hand-off to the OS bootloader. Understanding of BIOS interaction with EC, BMC, security processors, power-management firmware, and memory-training firmware. Working knowledge of I2C, PCIe, SPI, eSPI, ACPI, SMM, IPMI, and UEFI. Experience with hardware-debugging tools such as AMD HDT, BIOS Debugger, ITP, or Arium. Experience with Coreboot and FSP source code. Experience with Coreboot payloads such as EDK II, SeaBIOS, U-Boot, LinuxBoot, and TianoCore. Experience with UEFI bootloaders or UEFI applications involving AHCI, SATA, or NVMe. Ability to read hardware and processor specifications for platform or mainboard porting. Exposure to pre-silicon BIOS development using simulation or emulation environments. Exposure to Synopsys ZeBu, Cadence Palladium, or Siemens Veloce.
Requirements
Additional Skills
Git knowledge for code reviews, source-code management, and BIOS releases. Strong understanding of SATA, NVMe, AHCI, PCIe, SPI, eSPI, and IPMI. Strong understanding of ACPI, SMM, x86-64 architecture, and UEFI BIOS boot flow. Experience with Android UEFI-based bootloaders would be advantageous. Ability to manage multiple tasks and custom BIOS requirements.
Education
Bachelor’s degree in Computer Science Engineering. A relevant master’s degree would be an advantage.