Nvidia
Senior System Software Engineer Platform - Server Embedded Firmware
Nvidia, Santa Clara, CA
NVIDIA’s invention of the GPU in 1999 fueled the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. Today, we are increasingly known as “the AI computing company.” We're looking to grow our company, and form teams with the smartest people in the world.Are you ready to change the next generation of computing? Join us at the forefront of technological advancement.What you’ll be doing:Design and implement Microcontroller Firmware for GPU Server platforms, focusing on but not limited to ARM M-class microcontrollers.Develop C/C++ server manageability features in an RTOS embedded-optimized environment.Perform hands-on work with microcontroller firmware bring-up, debugging, performance analysis, and coding manageability features for NVIDIA’s Server platforms.Develop embedded management software to enable reporting and connectivity between server management devices.Implement register-based communication and DMTF standard messaging protocols for seamless interaction between BMC, GPUs, switches, memory, I/O expanders, sensors, and local microcontroller peripherals.Design a highly portable microcontroller framework that will be implemented across a wide variety of server management subsystems. Develop and review code, write and review design documents, and collaborate with team members to meet product requirements.Instrument code for maximum coverage, automate unit tests, maintain detailed test case reports, and provide software quality reports based on static analysis, code coverage, and microcontroller load.Collaborate with security and hardware teams to ensure code aligns with security goals and influence hardware design and architecture review. Develop performance-optimized active monitoring BMC solutions using DMTF Standards such as MCTP, Redfish, SPDM, and PLDM specifications.What we need to see:A Bachelor of Science Degree (or higher) in Electrical Engineering or Computer Science or equivalent experience.5+ years of experience in low level microcontroller Firmware development on embedded microcontrollers using Zephyr or FreeRTOSDemonstrated experience in developing BMC and/or microcontroller firmware for managing CPU, GPU, Network and Storage Devices.Experience with the following embedded interfaces - USB and I3C. Sound experience working with ARM Integrated Development Environments (IDE), debuggers, logic and protocol analyzers, and oscilloscopes.A deep understanding of interrupt schemes, multi-threading, DMA, memory management, and working in resource restricted embedded environments.Strong embedded programming and scripting skills using C/C++, Bash, Python, Go, etc.Experience reviewing and using hardware schematics, reference manuals, and datasheets for embedded development.Expertise working with server manageability protocols such as MCTP, PLDM, SPDM, SMBUS, and OCP recovery.Solid understanding of Linux fundamentals, various distributions, packages, upgrade mechanisms, and image building/deployment.Ways to stand out from the crowd:Hands on experience working with microcontroller embedded firmware development and OOB managementHands-on experience implementing MCTP stack in embedded environments or FPGA. Contributor to industry groups like Open Compute, OpenBMC, DMTF and open source.Expertise in system software and platform security for x86/ARM based Rack/Blade server systems.NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. If you're creative and autonomous, we want to hear from you!The base salary range is 148,000 USD - 339,250 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis. NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.SummaryLocation: US, CA, Santa Clara; US, RemoteType: Full time