Senior Developer Technology Engineer, High-performance Databases

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA +3 · Remote

Senior Developer Technology Engineer focused on GPU-accelerating high-performance databases and ETL applications. This role involves researching and developing techniques to optimize data-intensive workloads, analyzing hardware/system bottlenecks, and influencing next-generation hardware and software design. The position requires expertise in C/C++, parallel programming (CUDA, OpenMP, MPI), CPU/GPU architecture, and domain knowledge in high-performance databases and data analytics.

What you'd actually do

  1. In this role, you will research and develop techniques to GPU-accelerate high performance database and ETL applications.
  2. 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.
  3. 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

Skills

Required

  • C/C++
  • algorithms
  • software design
  • low-level parallel programming
  • CUDA
  • OpenACC
  • OpenMP
  • MPI
  • pthreads
  • TBB
  • CPU/GPU architecture
  • memory subsystem
  • high performance databases
  • ETL
  • data analytics

Nice to have

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

What the JD emphasized

  • Masters or PhD in Computer Science, Computer Engineering, or 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, etc.
  • In-depth expertise with CPU/GPU architecture fundamentals, especially memory subsystem.
  • Domain expertise in high performance databases, ETL and data analytics