Senior Systems Software Engineer - Performance Engineer - Accelerated Spark



Software Engineering
Shanghai, China
Posted on Tuesday, November 28, 2023

Data scientists spend a considerable amount of time exploring data and iterating over machine learning (ML) experiments. Every hour of compute required to sort through datasets, extract features and fit ML algorithms impedes an efficient business workflow. NVIDIA believes that data science workflows can benefit tremendously from being accelerated, to enable data scientists to explore many more and larger datasets to drive towards their business goals, faster and more efficiently.

At NVIDIA, we are passionate about working on hard problems that have an impact. You will need to have previous experience working with Apache Spark applications, implementing big data applications for a variety of customers, programming skills, and familiarity with open source big data processing frameworks. You should be comfortable working with interdisciplinary teams. You will work with an engineering team accelerating Apache Spark with GPUs using CUDA and open source libraries. This is an opportunity to work with a team that is developing the Spark RAPIDS open source library to accelerate Spark applications. This is a strategic investment for NVIDIA. The code is being adopted by multiple cloud service providers and Apache Spark distributions.

What you'll be doing:

  • Prototype state of the art data analytics algorithms and applications. Analyze trade-offs in performance and cost

  • Performance benchmark and profile on Apache Spark workloads on GPUs for accelerated performance across on-prem and cloud environments

  • Build tools to analyze data processing workloads to identify opportunities for acceleration and cost savings

  • Help define a reference architecture for next-generation computing cloud

  • Work with major cloud service providers and Spark vendors globally to enable accelerated computing for data processing use cases

  • Train and support solution architects and technical marketing team members on latest big-data technologies.

What we need to see:

  • BS/MS/PhD in computer science or equivalent experience

  • 8+ years of experience in software development, with the majority in data processing

  • 3+ years hands on experience with Apache Spark application design and development

  • 3+ years working experience on Spark application performance tuning

  • Familiarity with the modern data open source ecosystem (Apache Hadoop/Hive, Apache Flink, Presto, Delta Table, Apache Iceberg, Apache Hudi, TensorFlow, PyTorch etc)

  • Experience working on public and private cloud platforms

  • Knowledge of SQL, Python, Shell script and Scala/Java. Familiarity with CUDA is a plus.

  • Excellence at communicating, presenting and explaining technical topics

  • Understanding and expertise in hardware configuration options as it pertains to performance and cost

  • Deep understanding of performance optimization in low-level environments

  • In-depth understanding on performance modeling and performance analysis techniques will be a big plus

Ways to stand out from the crowd:

  • Experience with performance optimizations in CSPs for big data use cases

  • Prior experience in writing performant distributed software at scale

  • Experience with working with and developing on GPUs

We are an AA/EEO/Disabled employer and with highly competitive salaries and a comprehensive benefits package. NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. Are you creative and autonomous? Do you love a challenge? If so, contact us!