Senior Software Engineer, Profiling Services
Track this application
Get Started FreeMatch score against your CV
Get Started FreeTailor your resume to this job
Get Started FreeAbout interviewing at NVIDIA
Recruiter screen, a technical screen mixing resume deep-dive with live coding, a hiring-manager conversation, then a panel of three to five 45–60 minute rounds: coding, systems design under hardware constraints, a domain deep-dive, and behavioral. Highly team-specific — you interview directly with the team — with C++ depth expected almost universally and decisions sometimes taking five-plus weeks after the panel.
Read the full NVIDIA interview process →Description
Help build an Always-On, low-overhead GPU profiling service that runs in production, scales across cluster environments, and delivers actionable insights for ML workloads. You will be hands-on delivering our profiling solutions across system software, drivers, and CUDA to make profiling continuously available and reliable.
What you’ll be doing:
Develop low-overhead, high-reliability implementations in C/C++, with bounded CPU/memory budgets.
Lead end-to-end feature delivery spanning user-mode components, driver/platform layers, and performance counter/trace providers.
Establish profiling models that integrate with existing ML/AI workflows (e.g., PyTorch/XLA) to turn low-level signals into actionable insights.
What we need to see:
BS or MS degree or equivalent experience in Computer Engineering, Computer Science, or related degree.
5+ years of system-level C/C++ development, including concurrency, memory management, and performance engineering.
Familiarity with system software design, operating systems fundamentals, computer architectures, performance analysis, and delivering production-quality software.
Strong interpersonal, verbal, and written communication; able to influence across organizations and build trust with external collaborators.
Ways to stand out from the crowd:
Extensive experience with profiling/tracing stacks for CPU/GPU (e.g., CUPTI, Nsight, performance counters, event correlation) and debugging highly concurrent systems.
Deep hands-on knowledge of CUDA and GPU architecture, including runtime/driver APIs, CUDA streams/graphs, and kernel behavior.
Track record building continuous, always-on, or multi-client profiling systems designed for predictable overhead at scale.
Hands-on experience tuning ML training/inference loops based on deep profiling analysis, with familiarity in ML ecosystems (e.g., PyTorch, JAX) and correlating application events with GPU metrics to translate data into actionable performance insights (e.g., bottleneck triage, compute vs. memory bound).
Experience with user-mode driver development and integration within platform security and permissions models.