Senior System Software Engineer, ML and Vector Search

Nvidia

Confirmed live yesterday High trust
Remote

Quick summary

Work type
Remote
Location
Remote
Salary
$184,000–$287,500 / yr
Posted
3 days ago
Freshness
Confirmed live yesterday

Market check

Salary context

Above market

How this pay compares to similar roles

Similar $199k
This role $236k
$126k most similar roles pay here $305k

This role pays more than 84% of similar roles. Most pay $169,837–$227,825 — the shaded band above. At the midpoint, this role pays about $236k versus about $199k for comparable roles.

Based on 240 similar postings.

Employer

About Nvidia

Nvidia is a leading designer of graphics processing units (GPUs) and system-on-chip units, powering gaming, professional visualization, data centers, and artificial intelligence workloads. Industry: Semiconductors & AI Computing

Nvidia currently has 896 open roles on FindRole.

Listed pay typically runs $184,000–$287,500 across 876 roles with salary data.

Most-posted roles

View all roles at Nvidia

At a glance

TL;DR · Senior System Software Engineer, ML and Vector Search

As a Senior System Software Engineer, ML and Vector Search, you will join a team focused on developing unstructured data processing libraries including cuVS and cuML. You will research, develop, benchmark, and explore novel tuned custom algorithms for accelerating vector preprocessing, indexing, and search while building high-performance machine learning algorithms for clustering and visualization. Your daily work involves analyzing, designing, and implementing optimized GPU algorithms for large-scale vector search, databases, and machine learning. You will utilize C++, CUDA, and Python to contribute to open source projects like cuML and RAFT. The role requires expertise in parallel programming frameworks such as OpenMP or pthreads, along with strong mathematics fundamentals and experience with nearest-neighbor algorithms. This position addresses the technical intersection of database systems and machine learning by optimizing high-performance software for data intelligence.

What does a System Software Engineer earn?

Median $235750 from 43 postings across 5 companies.

See salary data

What you'll do

  • Design and implement optimized GPU algorithms for large-scale vector search, databases, and machine learning.
  • Develop and benchmark high-performance C++, CUDA, and Python code for data processing libraries.
  • Research and develop novel tuned algorithms for vector preprocessing, indexing, and search.
  • Build and improve machine learning algorithms for clustering and visualization.
  • Perform performance analysis and optimization of core software libraries.
  • Contribute to open source projects including cuML, cuVS, and RAFT.
  • Develop distributed algorithms for use in high-performance computing and cloud systems.

What we're looking for

  • BS, MS, or PhD in Computer Science, Data Science, AI, Applied Math, or a related field (or equivalent experience).
  • 8+ years of experience programming in C++ or the ability to learn it from a similar language like C, Rust, or Java.
  • Experience with machine learning concepts, writing ML algorithms, and using ML to solve problems.
  • Strong analytical problem-solving skills and fundamentals in algorithms and mathematics.
  • Proficiency in software development including debugging, performance analysis, and test design.
  • Familiarity with at least one parallel programming or concurrency framework such as CUDA, OpenMP, OpenACC, Java concurrency, or pthreads.
  • Experience developing distributed algorithms for HPC or Cloud systems (preferred).
  • Familiarity with vector databases, nearest-neighbor algorithms, clustering, dimensionality reduction, and GPU programming (preferred).

More like this

Similar roles

Senior Math Libraries Engineer, AI and HPC

Nvidia

Remote 156 days ago $184,000$287,500
C++ CUDA HPC Kernel Generation JIT Linear Algebra Assembly MPI OpenMP OpenACC pthreads Python Machine Learning Deep Learning Operator Fusion Agile JIRA
8+ yrs exp Remote