Senior System Software Engineer, ML and Vector Search

NVIDIA Corporation

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

Job summary

NVIDIA in Santa Clara, California, seeks an outstanding software engineer to advance unstructured data processing libraries cuVS and cuML, crafting optimized C++/CUDA and exposing to Python and Java. You will research, develop, benchmark, and implement high-performance vector preprocessing, indexing, and ML algorithms for large-scale systems.

You will collaborate with a team of engineers on performance analysis, cross-language integration, and contributions to open source projects, while

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: 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

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
Java
ML concepts
Performance optimization

Education

Bachelor's degree in CS/related
MS/PhD preferred

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.

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. Applications for this job will be accepted at least until September 12, 2026.

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. NVIDIA pioneered accelerated computing. Today, our AI infrastructure powers global intelligence, transforming every industry. Learn more about NVIDIA.

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 • Santa Clara (CA)

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

NVIDIA Corporation • Northern (KY)

Hybrid
USD 184,000 - 357,000
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 Gruppe • California (MO)

On-site
USD 184,000 - 357,000
Equity
Benefits
Senior Software Engineer, At Scale Compute Analysis
Senior Software Engineer, At Scale Compute Analysis

NVIDIA Corporation • Santa Clara (CA)

On-site
USD 152,000 - 242,000
Health insurance
401(k) with company match
Employee stock purchase program (ESPP)
Senior Software Engineer, C++ and CUDA - Analytics and Data Intelligence
Senior Software Engineer, C++ and CUDA - Analytics and Data Intelligence

NVIDIA Corporation • Santa Clara (CA), Northern (KY)

Hybrid
USD 184,000 - 357,000
Equity
Comprehensive benefits
Senior Staff Engineer - Employee Productivity
Senior Staff Engineer - Employee Productivity

NVIDIA Corporation • Santa Clara (CA)

On-site
USD 200,000 - 322,000
Equity
Health benefits
Senior Solutions Architect, Data Processing
Senior Solutions Architect, Data Processing

Socket.dev • South Carolina

Hybrid
USD 184,000 - 357,000
Software Engineer - AI Research Clusters
Software Engineer - AI Research Clusters

NVIDIA Corporation • Santa Clara (CA), Northern (KY)

Hybrid
USD 124,000 - 196,000
Senior Software Engineer, CUDA UMD - Graphs and GPU Sharing
Senior Software Engineer, CUDA UMD - Graphs and GPU Sharing

NVIDIA Corporation • Santa Clara (CA), Northern (KY)

Hybrid
USD 184,000 - 357,000