Senior System Software Engineer - GPU Virtualization

NVIDIA NVIDIA · Semiconductors · Pune, India

Senior System Software Engineer role at NVIDIA focusing on GPU Virtualization. Responsibilities include designing, developing, optimizing, debugging, and maintaining next-generation graphics and computing features for NVIDIA GPUs across user and kernel stacks. Requires strong C/C++ skills, deep understanding of Windows/Linux device drivers, PC architecture, and debugging complex software. Experience with virtualization concepts is a plus.

What you'd actually do

  1. Work closely with passionate engineers to design, develop, optimize, debug, unit test, document and maintain next-generation graphics and computing features for NVIDIA GPUs.
  2. We work on next-generation GPU hardware and software features through all phases of development, and you will get an opportunity to work across user and kernel stacks.
  3. Also work on customer issues and provide timely root cause of the problem and resolution.
  4. Collaborate with many internal teams (software, hardware, architecture, QA and OEM support), partners and customers to define new products and features, and resolve issues.

Skills

Required

  • BS degree or higher or equivalent experience (computer science or related)
  • 5+ years of industry experience
  • In depth understanding of Windows or Linux device drivers
  • PC architecture
  • ability to work close to the hardware
  • C/C++
  • strong software development skills
  • optimization skills
  • analytical skills
  • Strong debugging skills
  • experience using gdb/kgdb/windbg to analyze complex pieces of software
  • Strong articulation skills for crafting and improving technical documents
  • engage globally distributed engineering team

Nice to have

  • Virtualization concepts
  • system software for ESX, Hyper-V or KVM
  • DX/OGL graphics technologies
  • WDDM model
  • computer system architecture
  • microprocessor fundamentals
  • microcontroller fundamentals

What the JD emphasized

  • 5+ years of industry experience
  • In depth understanding of Windows or Linux device drivers, PC architecture and ability to work close to the hardware
  • Proficient in C/C++ with strong software development, optimization and analytical skills
  • Strong debugging skills and extensive experience using gdb/kgdb/windbg to analyze complex pieces of software