This job listing expired on Jul 9, 2021
Tweet

NVIDIA GeForce NOW is our cloud-based offering that seeks to enable users worldwide to get instant access to their gaming collection, play the latest games in high-definition at efficient settings and smooth frame rates streamed right to their desktop, browsers and mobile devices.

Within GeForce NOW, The Platform Foundation team has the charter to build and sustain robust and high performant server systems and software that run in the cloud and power the core technologies behind GeForce NOW.

As we onboard new games and advance our streaming and virtualization technologies, there is an increased need to understand, improve and scale our platform designs to sustain software innovations in these core areas and extract maximum performance, stability and resource utilization from the system.

What You’ll Be Doing

We are now looking for a versatile system engineer who will help us bridge the gap between software and hardware, influencing improvements in game and core kernel interactions. You'll bring your passion and expertise in kernel and user space optimization and multiple-component full-stack performance analysis to tackle problems all the way down to the microprocessor level.

The breadth of work will involve studying gaming and streaming workloads to understand factors that influence their performance and stability in a multi-dimensional world that involves interactions with variable system elements like the Guest OS, DirectX API’s, GPU Drivers, underlying Hypervisor etc. and work with specialists within NVIDIA to optimize these software stacks.

This role will also require understanding details of x86 CPU architecture, and how they map to concepts such as VT-x/EPT, AMD-V/RVI, interrupt virtualization, memory virtualization/management/RDMA along with storage concepts.

What We Need To See

  • B.S. in Computer Science with 4+ years of prior industrial experience (or equivalent)
  • Excellent knowledge of x86 architecture
  • Knowledge of OS kernel internals, including memory management, resource management, and interrupt architecture
  • Extensive development experience working on low-level, performance-critical software; e.g. CPU/GPU scheduling, I/O block drivers, memory management, multiprocessing etc
  • Strong software engineering background with a passion for delivering enterprise-quality software
  • Excellent hands-on implementer with strong C programming skills
  • Self-motivated and able to work independently across time zones
  • Excellent spoken and written communication skills

Ways To Stand Out From The Crowd

  • Industry experience in Hypervisors and Game engines
  • Past experience with exposure to tools like GPUView, NVIDIA Nsight, Kernel Shark, Kubernetes etc.
  • Proficiency in C/C++, systems software development, optimization, and debugging skills.