NVIDIA

Principal Platform Software Engineer - Firmware Architecture

Job Description

Posted on: 
January 14, 2023

We are looking for a senior firmware architect who can lead next generation data center server product architecture and drive a solution to production.

Responsibilities

  • Firmware architect for NVIDIA GPU Server platforms focused on x86 and ARM based platform architectures. Software architecture and design for various firmware understanding embedded system limitations, Linux kernel internals to ensure performance, scalability and resiliency requirements for firmware running on embedded devices.
  • Work with internal and external team members to narrow down on performance and resiliency requirements for firmware running on Nvidia data center products.
  • Hands on development and review of code of BMC firmware, UEFI firmware and various manageability features for NVIDIA’s Server platforms. Actively engaged in designing and developing CI/CD framework to ensure best quality for firmware.
  • Writing and reviewing design documents, reviewing QA test plan and working closely with all collaborators to achieve consensus for design and testability as per product requirements.
  • Designs solutions for errors, stats & configuration appropriate to CPU, GPU, DIMM, SSDs, NICs, IB, PSU, BMC, FPGA, CPLD etc. for enterprise readiness of NVIDIA Server platforms.
  • Actively work with whole org to Instruments code to ensure maximum code coverage, writing and automating unit tests for each implemented module and maintain detailed unit test case reports.
  • Mentor team for best practices on writing efficient and bug free code. Works with internal and external partners to drive design architecture to real products.
  • Works with security team to ensure developed code is in line with product security goals, and with hardware teams to influence hardware design and review HW architecture & schematics.

Job Requirements

  • Bachelor of Science Degree (or higher) or equivalent experience in Electrical or Computer Engineering or Computer Science. 15+ years of active development using C / C++ as primary programming language using Linux as OS.
  • 8+ experience in technically leading good size of team in terms of delivering large firmware or software project.
  • 5+ experience in working across internal and external stakeholders to narrow down on requirements and converting those requirement in architecture and drive with team to deliver it with quality.
  • Domain expertise in Data Center Firmware/software development on X86 or ARM Platforms including BMC-BIOS communication, thermal management, power management, firmware update, device monitoring, firmware security, etc.
  • Board Bring-up expertise with hands-on experience in Device drivers like I2C/I3C, SPI, PCIe, SMBus, Mail-box etc. as well as the device trees for uboot and Linux kernel.
  • Understanding on REST architecture style especially JSON over HTTPs with OAuth.
  • Strong programming in C/C++ in Linux operating environment, strong understanding of Linux kernel internals, strong code review skills.
  • You should possess excellent written and oral communication skills, good work ethics, high sense of team-work, love to produce quality work and commitment to finish your tasks every single day. You are a self-starter who loves to find creative solutions to complicated problems.

Apply now

More job openings