Logo for NVIDIA

Senior Debugger Software Engineer

Roles & Responsibilities

  • BS or MS or equivalent experience in Computer Science
  • 5+ years of experience
  • Strong programming ability in C++20 and Python
  • Excellent knowledge of computer architecture of x86 or ARM CPUs

Requirements:

  • Develop the compute debugger tools for GPUs on Linux, Windows, and embedded RTOS, including the CUDA Debugger API, and extend them to new use cases.
  • Design, implement, and verify new features in the compute debugger and CUDA Debugger API, collaborating with tool, compiler, architecture, and driver teams and learning about new compute drivers, GPU architectures, and operating systems.
  • Write fast, maintainable, reliable, and well-documented code; provide peer reviews and mentor junior engineers.
  • Estimate and prioritize tasks to create realistic delivery schedules and document requirements and designs while coordinating with internal and external partners across NVIDIA.

Job description

Join the NVIDIA Developer Tools team and empower engineers throughout the world developing groundbreaking products in Automotive, VR, Gaming, Deep Learning, and High Performance Computing. See your efforts in action as developers use your products to debug, profile and analyze the performance of their systems/applications. Watch with satisfaction as 3rd-party developers use the CUDA Debugger API that you helped develop to create custom debug tools to tackle complex customer debugging problems. Innovate as you develop the debug and performance analysis capability of future generations of NVIDIA GPUs. Be a part of the team that brings new GPU technologies to market with sophisticated simulation/emulation systems and be among the first to breathe life into new silicon.

NVIDIA is looking for a senior software engineer to join our efforts to advance our compute debugger products to the next level. The position will be part of a dynamic, worldwide team that develops and maintains a portfolio of debug tools and libraries that are hosted and targeting OSes including Windows, Linux, and other embedded system real time OSes (RTOS).

What you’ll be doing:

You will apply your knowledge of debuggers, binary instrumentation and computer architecture to enhance existing compute debugger tools and libraries, and extend them to new use cases. You should be comfortable working in C++20 and Python on a wide range of supported platforms: Linux, Windows, and embedded real time OSes. You should also be comfortable interacting with different user and kernel mode driver and compiler teams, and have an eagerness to learn about new compute drivers, GPU architectures and operating systems.

  • Develop the compute debugger tools for GPUs running on Linux, Windows, and embedded operating systems

  • Work with tools, compiler, architecture and driver teams to design, implement and verify new features in the compute debugger and CUDA Debugger API

  • Work closely with internal and external partners including other peer organizations within NVIDIA

  • Effectively estimate and prioritize tasks in order to create a realistic delivery schedule

  • Write fast, effective, maintainable, reliable and well-documented code

  • Provide peer reviews to other engineers, including feedback on code performance, scalability and correctness

  • Document requirements and designs, and review documents with teams throughout NVIDIA

  • Mentor junior engineers

What we need to see:

  • BS or MS or equivalent experience in Computer Science

  • 5+ years of experience

  • Strong programming ability in C++20 and Python

  • Excellent knowledge of computer architecture of x86 or ARM CPUs

  • Strong problem solving and debugging skills

  • Familiarity with low-level programming using assembly languages

  • Source control understanding (git, Perforce, etc.)

  • Ability to self-manage, communicate, and adapt in a fast paced, high demand environment with changing priorities and direction

  • Ability to work remotely across multiple time zones

  • Excellent communication skills, written and verbal

Ways to stand out from the crowd:

  • Good understanding of runtime code patching

  • Experience with LLVM/LLDB development

  • Familiarity with Debugger Adapter Protocol

NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. If you're creative, driven, and passionate about software tools, we want to hear from you!

Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. For Poland: The base salary range is 221,250 PLN - 383,500 PLN for Level 3, and 292,500 PLN - 507,000 PLN for Level 4.




Software Engineer Related jobs

Other jobs at NVIDIA

We help you get seen. Not ignored.

We help you get seen faster — by the right people.

🚀

Auto-Apply

We apply for you — automatically and instantly.

Save time, skip forms, and stay on top of every opportunity. Because you can't get seen if you're not in the race.

AI Match Feedback

Know your real match before you apply.

Get a detailed AI assessment of your profile against each job posting. Because getting seen starts with passing the filters.

Upgrade to Premium. Apply smarter and get noticed.

Upgrade to Premium

Join thousands of professionals who got noticed and hired faster.