Logo
NVIDIA

Senior Systems Software Engineer, C+ and CUDA - Accelerated Apache Spark

NVIDIA, Santa Clara, California, us, 95053


We are seeking System Software Engineers to join our Accelerated Apache Spark team. As NVIDIA is leading the world in accelerated computing, we are building the next generation data processing ecosystem. Apache Spark is the most popular distributed data processing engine in data centers. It is used for a wide variety of workloads, from data preparation, feature generation, reporting, analytics, and more. 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.

At NVIDIA, we are passionate about working on hard problems that have an impact. You will need to have strong programming skills, a deep understanding of software building and packaging, especially related to C++. You will work with a team that is using open source libraries – RAPIDS libcudf, RMM and cuIO – to accelerate operations in Apache Spark ETL and ML.

What You'll Be DoingDevelop CUDA/C++ libraries that will be used by distributed data processing engines, accelerating operations in Apache SparkImprove OSS RAPIDS through technical discussion and code contributionsCollaborate with distributed systems teams to craft solutions to distributed processing problems challenges at large scaleProvide recommendations and feedback to teams regarding decisions surrounding topics such as infrastructure, continuous integration and testing strategyBuild, test and optimize CUDA/C++ libraries across different platformsBuild automation and tools that will increase the efficiency of teams developing distributed systems

What We Need To SeeBS, MS, or PhD in Computer Science, Computer Engineering, or closely related field or equivalent experience8+ years of work experience in software developmentOutstanding technical skills in designing and implementing high-quality distributed systemsExcellent programming skills in C++, Java, and/or ScalaAbility to work with multi-functional teams across boundaries and geographiesHighly motivated with strong interpersonal skills

Ways To Stand Out From The CrowdFamiliarity with RAPIDS libcudf, RMM and cuIOExperience in writing performant distributed software at scaleExperience in OS kernel developmentExperience with developing in CUDA on GPUsSolid understanding of C++ 17/20

We are widely considered to be one of the technology world’s most desirable employers, and as a result have some of the most forward-thinking and hardworking people in the world working for us. If you're passionate, creative, and driven, we'd love to have you join the team. With competitive salaries and a generous benefits package, we have some of the most forward-thinking and hardworking people in the world working for us and, due to unprecedented growth, our exclusive engineering teams are rapidly growing. If you're a creative and autonomous engineer with a real passion for technology, we want to hear from you.

The base salary range is 176,000 USD - 333,500 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. You will also be eligible for equity and benefits.

NVIDIA accepts applications on an ongoing basis.

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.

#J-18808-Ljbffr