Principal Platform Software Engineer - OpenBMC Platform Architect
at Nvidia
📍 Santa Clara, United States
$272,000-419,800 per year
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Security @ 6 Software Development @ 4 Linux @ 4 CI/CD @ 4 Communication @ 4 JSON @ 4 OAuth @ 4 QA @ 4Details
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 most inquisitive people in the world. Join us at the forefront of technological advancement.
Are you ready to change the next generation of computing? Join us at the forefront of technological advancement. We are looking for a principal platform software architect who can lead next generation data center server product platform architecture, bring up and drive a solution to production.
Responsibilities
- Platform architecture and hardware bring up of NVIDIA HGX GPU baseboards. 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.
- Working closely with hardware teams to influence hardware design and review HW architecture & schematics.
- 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 coding, code review, and BMC firmware development including 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 maintaining detailed unit test case reports.
- Mentor the 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 the 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.
Requirements
- Bachelor of Science Degree (or higher) or equivalent experience in Electrical or Computer Engineering or Computer Science.
- 15+ overall years of active development using C / C++ as primary programming languages using Linux as OS.
- 8+ years of experience in technically leading a good size of team in terms of delivering large firmware or software projects. 5+ years of experience in working across internal and external stakeholders to narrow down on requirements and converting those requirements in architecture and drive with a team to deliver it with quality.
- Proven track record of delivering solutions to customers. Deep understanding of deployments at scale.
- 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, Mailbox 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 teamwork, 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.
Ways to stand out from the crowd:
- Consistent track record in delivering 100,000+ lines of code for a single project.
- Proven record in technically leading org of 30+ engineers.
- 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 on the planet working for us. If you're creative and autonomous, we want to hear from you.