The Developer Technology Engineer (DevTech) plays a crucial role in the success of NVIDIA and the developer community. We work with Technologists from industry and academia to investigate performance of their applications, design parallel algorithms and implement optimizations in a GPU accelerated computing environment. As recognized experts in the field we publish our findings in developer blogs and at relevant conferences and workshops. With such high visibility to our customers in industry, academia, and the developer community we stand as important representatives of NVIDIA as a technology leader. Within NVIDIA we contribute valuable application expertise that influences next generation hardware and software products. As critical problem solvers, we deepen our expertise, expand our knowledge, and work across domains and organizations.
NVIDIA is hiring passionate, world-class computer scientists and engineers to work in its Public Sector Developer Technology (Devtech) team. In this role, you will research and develop techniques to GPU-accelerate leading applications in fields targeting applications in the federal ecosystem.
What you will be doing:
Engage directly with experts in their field to understand and address the problems they are solving.
Guide key application developers, contribute directly to the applications and benchmarks, and develop reference codes and libraries.
Create and optimize core parallel algorithms and data structures to provide the best solutions using the NVIDIA platform.
Perform in-depth analysis and optimization to ensure the best possible performance on the current and next generation of CPUs (Arm and x86 architectures), NVIDIA GPUs and DPUs, and/or network architectures.
Occasional travel from time to time for conferences and on-site visits with developers.
What we need to see:
A Bachelors, Masters or PhD (or equivalent experience) in Computer Engineering, Computer Science, or a domain science with a strong focus on the related computational methods.
6+ years of relevant software development experience
Strong knowledge of C/C++ and/or Fortran with solid understanding in software design, programming techniques, and algorithms.
A passion for performance optimization.
Hands-on experience with parallel programming, e.g., in MPI, OpenMP, CUDA, and/or OpenACC.
Good communication and organization skills, with a logical approach to problem solving, good time management, and task prioritization skills.
Strong mathematical fundamentals, including linear algebra and numerical methods.
Experience working within the Federal Government and the ability to hold a US security clearance is also beneficial.
This position requires US Citizenship