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 doing:
Develop CUDA/C++ libraries that will be used by distributed data processing engines, accelerating operations in Apache Spark
Improve OSS RAPIDS through technical discussion and code contributions
Collaborate with distributed systems teams to craft solutions to distributed processing problems challenges at large scale
Provide recommendations and feedback to teams regarding decisions surrounding topics such as infrastructure, continuous integration and testing strategy
Build, test and optimize CUDA/C++ libraries across different platforms
Build automation and tools that will increase the efficiency of teams developing distributed systems
What we need to see:
BS, MS, or PhD in Computer Science, Computer Engineering, or closely related field or equivalent experience
8+ years of work experience in software development
Outstanding technical skills in designing and implementing high-quality distributed systems
Excellent programming skills in C++, Java, and/or Scala
Ability to work with multi-functional teams across boundaries and geographies
Highly motivated with strong interpersonal skills
Ways to stand out from the crowd:
Familiarity with RAPIDS libcudf, RMM and cuIO
Experience in writing performant distributed software at scale
Experience in OS kernel development
Experience with developing in CUDA on GPUs
Solid 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 are 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 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.