Senior Systems Software Engineer – GPU Software

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA

Senior Systems Software Engineer focused on GPU kernel drivers and embedded software for datacenter and gaming markets. Requires deep C programming, low-level driver experience, kernel experience (Linux, Android, Chrome, or Windows), and system-level debugging skills.

What you'd actually do

  1. Design, develop and verify features for our next generation GPU driver architecture; collaborating with hardware engineers and fellow software engineers
  2. Help identify and solve performance bottlenecks in our driver, both in markets of scale like datacenter as well in gaming markets where applications need to run as fast as possible
  3. Get opportunities to collaborate and communicate effectively with teams from all around the globe

Skills

Required

  • BS or MS degree in Computer Engineering, Computer Science, or related fields (or equivalent experience)
  • 10+ years of relevant software development experience
  • Proven leadership skills and strong ownership of past projects
  • Hands on technical experience and demonstrated excellence in an environment with complex software and hardware designs
  • Exceptional C programming and low-level driver experience
  • background and strength with complex system-level debugging
  • Kernel experience with Linux, Android, Chrome, or Windows systems
  • Familiarity and comfort with computer system architecture, microprocessor, and microcontroller fundamentals (caches, buses, memory controllers, DMA, etc.)

Nice to have

  • Experience as a maintainer or contributor to large open source software projects
  • Knowledge of virtualization platforms (XenServer, KVM, Hyper-V)
  • Familiarity with kernel level security concepts; this includes testing techniques and a familiarity with static code analysis, dynamic analysis, fuzzing, negative testing and other techniques
  • Experience with embedded system SW concepts, e.g.: RTOS and overlay programming models

What the JD emphasized

  • 10+ years of relevant software development experience
  • Exceptional C programming and low-level driver experience
  • background and strength with complex system-level debugging
  • Kernel experience with Linux, Android, Chrome, or Windows systems