Senior Software Engineer - Dpu Platform

NVIDIA NVIDIA · Semiconductors · Westford, MA

Senior Software Engineer role focused on developing system software components for NVIDIA's DPU platform, including firmware, bootloaders, kernel drivers, and user-space applications. Requires strong C/Python skills, embedded systems experience, and understanding of software/hardware interactions.

What you'd actually do

  1. Develop system software components such as processor firmware, bootloaders, kernel drivers/modules, and user space applications and libraries
  2. Collaborate with hardware and product design teams to build software for sophisticated SOC platform designs
  3. Support global teams with various customer and internal DPU projects
  4. Address complex system-level optimization and resource utilization challenges
  5. Engage in all levels of the product development lifecycle, prioritizing clear requirements, software quality, and performance

Skills

Required

  • Bachelor's degree in Computer Science/Engineering or equivalent experience
  • 5+ years of experience in developing software for embedded systems
  • Proficiency in C and Python
  • Understanding of the system software stack, focusing on software/hardware interactions, including platform firmware, device drivers, Linux kernel, and user-space application performance
  • Knowledge of high-performance processor architecture, including CPU and cache coherency concepts, and hardware accelerators
  • Engineering skills, including technical investigation, building, testing, and agile software development processes
  • Excellent written and oral communication skills
  • Competence with build environment tools such as gcc, git, github, make, bitbake, shell scripts, gerrit, and jenkins

Nice to have

  • Experience with ARMv8 microarchitecture, ATF, and/or UEFI software
  • Familiarity with multiple Linux distributions
  • Expertise in developing security key management solutions
  • Knowledge of secure boot flows and/or trusted computing environments

What the JD emphasized

  • 5+ years of experience in developing software for embedded systems
  • Proven understanding of the system software stack, focusing on software/hardware interactions
  • In-depth knowledge of high-performance processor architecture