We’re currently seeking a Senior Developer Technology Engineer, Compute!
Are you interested in developing techniques to accelerate large application workloads on advanced computer architectures? Do you find it rewarding to investigate, find, and eliminate system bottlenecks to achieve the best possible performance on state-of-the-art computer hardware? Could you be thrilled about an opportunity to partner with the developer community, working at the forefront of technology breakthroughs that contribute to the success of an industry leader like NVIDIA? If so, the Developer Technology Team invites you to consider this role.
What you will be doing:
In this position, you will research and develop techniques to accelerate leading applications in high performance computing fields within scientific computing or computational engineering.
Work directly with other technical experts in their fields (industry and academia) to understand and address their computational problems as their field evolves.
Perform in-depth analysis and optimization to ensure the best possible performance on the current and next generation of NVIDIA GPUs, CPUs (Arm and x86 architectures), and/or network architectures.
Craft and optimize core parallel algorithms and data structures to provide the best solutions using the NVIDIA platform.
Guide key application developers, contribute directly to the applications, and develop reference codes and libraries.
Publish and present discovered optimization techniques in developer blogs or relevant conferences to engage and educate the developer community.
Influence the design of next-generation hardware architectures, software, and programming models in collaboration with research, hardware, system software, libraries, and tools teams at NVIDIA.
Occasional travel for conferences and on-site visits with developers.
What we need to see:
A Masters or PhD (or additional equivalent experience) in Computer Engineering, Computer Science, or a domain science with a strong focus on the related computational methods.
5+ years of relevant software development experience.
A passion for performance optimization.
Programming fluency in C/C++ and/or Fortran with a deep understanding of algorithms, programming techniques, and software design.
Hands-on and current experience with parallel programming, ideally CUDA or OpenACC, as well as MPI, OpenMP.
Strong mathematical fundamentals, including linear algebra and numerical methods.
Good communication and organization skills, with a logical approach to problem solving, good time management, and task prioritization skills.
With highly competitive salaries and a comprehensive benefits package, NVIDIA is widely considered to be one of the world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the industry working for us. Our engineering teams are quickly growing in some of the hottest and most innovative fields of technology: Deep Learning, Artificial Intelligence, Autonomous Vehicles, Supercomputing and more. If you are a creative and autonomous computer scientist with a real passion for parallel computing, we want to hear from you!
The base salary range is 180,000 USD - 339,250 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.