Senior System Software Engineer, ML and Vector Search

NVIDIA

Santa Clara (CA)

On-site

USD 184,000 - 288,000

Full time

5 days ago
Be an early applicant
Application generator

A complete application in a minute — tailored resume and cover letter, ready to send.

Get past ATS filters

Benefits offered by this job

Equity
Benefits

Job summary

NVIDIA in Santa Clara, CA, is seeking an outstanding software engineer to advance unstructured data processing libraries, cuVS and cuML. You will craft optimized C++/CUDA code for vector preprocessing, indexing, and search, and contribute to high-performance ML algorithms.

You will collaborate with a multi-disciplinary team, implement solutions in C++, CUDA and Python, and help push open source projects like cuML, cuVS, and RAFT.

Qualifications

  • BS, MS, or PhD in Computer Science, Data Science or AI, Applied Math, or related field (or equivalent experience).
  • 8+ years of experience programming in C++ or ability to learn it, by moving from a similar language: C, Rust, Java
  • Experience with ML concepts, writing ML algorithms, and using ML to solve problems.
  • Strong analytical problem-solving skills, algorithms and mathematics fundamentals.
  • Excellent software development skills: programming, debugging, performance analysis, and test design
  • Ability to work independently and manage your own development efforts.
  • Good communication and documentation habits.
  • You care deeply about robust, readable, high-performance code
  • Familiar with CUDA, OpenMP, OpenACC, Java concurrency, pthreads, etc

Responsibilities

  • Analyze, design, and implement optimized GPU algorithms for large-scale vector search, databases, and machine learning.
  • Drive performance analysis, benchmarking, and optimization of associated libraries.
  • Collaborate with a multi-functional team to understand requirements and implement or improve solutions
  • Developing and improving machine learning algorithms.
  • Implementing solutions in C++, CUDA and Python.
  • Contributing to open source projects (like cuML, cuVS, and RAFT)

Skills

C++
CUDA
Python
ML concepts
GPU programming
Parallel programming
Software development
Communication

Education

BS, MS, or PhD in CS/AI/Applied Math

Tools

cuVS
cuML
RAFT
Milvus

Job description

It's an exciting time for NVIDIA as we expand our capabilities into the world of data science, data processing, and database acceleration. We're looking for an outstanding software engineer to apply their skills in the development of our unstructured data processing libraries, NVIDIA cuVS and cuML.

These libraries compile highly optimized C++ and CUDA algorithms and expose them to higher-level languages like Java and Python. These higher-level languages are then used directly or to accelerate other libraries and database systems. In this role, you will research, develop, benchmark, and explore novel tuned custom algorithms for accelerating vector preprocessing, indexing, and search, as well as building high-performance ML algorithms for clustering and visualization. This is a great chance to take advantage of your CUDA/C++ skills and make a huge impact across a rapidly growing industry. Vector search is an exciting new field at the intersection of database and machine learning. You'll work closely with a team of stellar engineers redefining what's possible.

What you will be doing:
  • Analyze, design, and implement optimized GPU algorithms for large-scale vector search, databases, and machine learning.

  • Drive performance analysis, benchmarking, and optimization of associated libraries.

  • Collaborate with a multi-functional team to understand requirements and implement or improve solutions

  • Developing and improving machine learning algorithms.

  • Implementing solutions in C++, CUDA and Python.

  • Contributing to open source projects (like cuML, cuVS, and RAFT)

What we need to see:
  • BS, MS, or PhD in Computer Science, Data Science or AI, Applied Math, or related field (or equivalent experience).

  • 8+ years of experience programming in C++ or ability to learn it, by moving from a similar language: C, Rust, Java

  • Experience with ML: ML concepts (approximation vs exact, iterative vs. closed-form), writing ML algorithms, and using ML to solve problems.

  • Strong analytical problem-solving skills, algorithms and mathematics fundamentals.

  • Excellent software development skills: programming, debugging, performance analysis, and test design

  • Ability to work independently and manage your own development efforts.

  • Good communication and documentation habits.

  • You care deeply about robust, readable, high-performance code

  • Familiar with at least one parallel programming or concurrency framework, such as CUDA, OpenMP, OpenACC, Java concurrency, pthreads, etc

Ways to stand out from the crowd:
  • Experience developing distributed algorithms and running on distributed systems: HPC, Cloud, etc

  • Strong debugging skills, including for complex multi-language, multi-hardware systems.

  • Familiarity with vector databases and nearest-neighbor algorithms (for example, Milvus, Pinecone, LanceDB; graph and IVF indexes).

  • ML background, including clustering and dimensionality reduction; probability and formal methods; applied research

  • GPU programming is a plus, though we’re happy to teach GPU development.

With a competitive salary package and benefits, 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. Are you a creative and autonomous Systems Software Engineer who loves challenges? Do you have a genuine passion for advancing the state of Systems Analytics and Data Intelligence across a variety of industries? If so, 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. The base salary range is 184,000 USD - 287,500 USD.

You will also be eligible for equity and benefits.

This posting is for an existing vacancy.

NVIDIA uses AI tools in its recruiting processes.

NVIDIA is committed to fostering an inclusive 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.

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Senior System Software Engineer, ML and Vector Search
Senior System Software Engineer, ML and Vector Search

NVIDIA Corporation • Santa Clara (CA)

On-site
USD 184,000 - 288,000
Senior Solutions Architect, Data Processing
Senior Solutions Architect, Data Processing

Socket.dev • South Carolina

Hybrid
USD 184,000 - 357,000
Senior Solutions Architect, Data Processing
Senior Solutions Architect, Data Processing

NVIDIA Gruppe • California (MO)

On-site
USD 184,000 - 357,000
Equity
Benefits
Senior Solutions Architect, Data Processing
Senior Solutions Architect, Data Processing

NVIDIA Corporation • California (MO)

Hybrid
USD 214,000 - 357,000
Equity
Benefits
Senior Solutions Architect, Data Processing
Senior Solutions Architect, Data Processing

NVIDIA • California (MO)

On-site
USD 184,000 - 357,000
Senior Solutions Architect, Data Processing
Senior Solutions Architect, Data Processing

NVIDIA • United States

On-site
USD 224,000 - 357,000
Senior Solutions Architect, Data Processing
Senior Solutions Architect, Data Processing

NVIDIA Corporation • Northern (KY)

Hybrid
USD 184,000 - 357,000
Senior Software Engineer - Image and Data Processing Libraries
Senior Software Engineer - Image and Data Processing Libraries

NVIDIA • Santa Clara (CA)

On-site
USD 224,000 - 357,000
Equity
Benefits
Software Engineer, CUDA Deep Learning Systems
Software Engineer, CUDA Deep Learning Systems

NVIDIA • Town of Texas (WI)

On-site
USD 124,000 - 196,000
Equity
Benefits
System Software Engineer, Multi-Node Analysis
System Software Engineer, Multi-Node Analysis

NVIDIA • Champaign (IL)

On-site
USD 152,000 - 242,000
Equity
Benefits