Senior Developer Technology Engineer, High-Performance Databases
About the role
Research and develop techniques to GPU-accelerate high-performance database and ETL applications. Work directly with technical experts in industry and academia to perform in-depth analysis and optimization of complex data-intensive workloads, ensuring the best possible performance on current GPU architectures. 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.
Data preprocessing and data engineering are traditionally CPU-based and are becoming the bottleneck for Machine Learning (ML) and Deep Learning (DL) applications. Many of today’s applications have complex data analytics pipelines that can benefit from optimizations in memory management, compression, parallel algorithms (e.g., sort, search, join, aggregation, groupby), scaling up to multi-GPU systems, and scaling out to many nodes.
Responsibilities
- Research and develop techniques to GPU-accelerate high-performance database and ETL applications.
- Work directly with technical experts in industry and academia to analyze and optimize complex data-intensive workloads.
- Influence the design of next-generation hardware architectures, software, and programming models.
- Optimize performance of distributed database systems and frameworks (e.g., production databases or Spark).
Requirements
- Master’s or PhD in Computer Science, Computer Engineering, or a related computationally focused science degree (or equivalent experience).
- At least 5+ years of relevant work or research experience.
- Programming fluency in C/C++ with a deep understanding of algorithms and software design.
- Hands-on experience with low-level parallel programming (e.g., CUDA, OpenACC, OpenMP, MPI, pthreads, TBB).
- In-depth expertise with CPU/GPU architecture fundamentals, especially memory subsystems.
- Domain expertise in high-performance databases, ETL, and data analytics.
- Strong communication, organization, problem-solving, and prioritization skills.
Skills
Ways to stand out from the crowd:
- Experience optimizing distributed database systems and frameworks (e.g., production databases or Spark).
- Background in compression, storage systems, networking, and distributed computer architectures.
Explore open-source projects from our Developer Technology team: NVIDIA nvcomp, NVIDIA Distributed join, NVIDIA cuCollections.
Pay
Base salary range: $152,000 – $241,500 USD (Level 3) or $184,000 – $287,500 USD (Level 4), depending on location, experience, and comparable roles. Eligible for equity and benefits.