Senior Developer Technology Engineer, High-Performance Databases

at Nvidia

πŸ“ Santa Clara, United States

$180,000-339,200 per year

SENIOR
βœ… Hybrid

SCRAPED

Used Tools & Technologies

Not specified

Required Skills & Competences ?

Spark @ 4 ETL @ 4 GitHub @ 4 Algorithms @ 4 Machine Learning @ 4 Hiring @ 4 Communication @ 4 Data Engineering @ 4 Networking @ 4 Parallel Programming @ 4 Prioritization @ 4 CUDA @ 4

Details

NVIDIA is currently seeking a Senior Developer Technology Engineer for High-Performance Databases!

Would you enjoy researching new algorithms and memory management techniques to accelerate databases on modern computer architectures? Do you like investigating hardware and system bottlenecks, and optimizing performance of data intensive applications? Are you excited about the opportunity to work on the leading edge of technology with both visibility and impact to the success of a leader like NVIDIA? If so, the Developer Technology Team invites you to consider this opportunity.

Responsibilities

  • In this role, you will research and develop techniques to GPU-accelerate high performance database and ETL applications.
  • Work directly with other technical experts in their fields (industry and academia) to perform in-depth analysis and optimization of complex data intensive workloads to ensure the best possible performance of 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.

Requirements

  • A Masters or PhD in Computer Science, Computer Engineering, or related computationally focused science degree (or equivalent experience).
  • At least 6+ 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, etc.
  • In-depth expertise with CPU/GPU architecture fundamentals, especially memory subsystem.
  • Domain expertise in high performance databases, ETL and data analytics.
  • Good communication and organization skills, with a logical approach to problem solving, and prioritization skills.

Benefits

  • Experience optimizing the performance of distributed database systems and frameworks (e.g. production database or Spark).
  • Background with compression, storage systems, networking, and distributed computer architectures.

Data Analytics is one of the rapidly growing fields in GPU accelerated computing. Data preprocessing and data engineering are traditionally CPU based and are becoming the bottleneck for Machine Learning (ML) and Deep Learning (DL) applications, as performance of the frameworks and core ML/DL libraries has been highly optimized leveraging GPUs. Many of today’s applications have complex data analytics pipelines that can benefit from optimizations in memory management, compression, parallel algorithms like sort, search, join, aggregation, groupby, scaling up to multi GPU systems, and scaling out to many nodes. Take a look at some of the open-source projects that our Devtech team have worked on: NVIDIA nvcomp, NVIDIA Distributed join, NVIDIA cuCollections.

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.