Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI
AWS
AWS EMR
CUDA
Cloud Computing
Databricks
Distributed Systems @ 6
ETL
GPU
JSON
Java @ 6
Oracle
Parquet
Presto @ 3
Scala @ 6
Software Development @ 8
Spark @ 3
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
NVIDIA is seeking a Sr. Principal Systems Software Engineer for the Apache Spark Acceleration group. GPU-accelerated data processing has moved from proof of concept to production deployments, and multi-node GPU deployments can reduce cloud computing costs and lower latency for batch ETL workloads.
NVIDIA has invested in accelerating Apache Spark through an open-source plugin. The RAPIDS Spark library accelerates Spark applications on GPUs without requiring code changes and is integrated with services including AWS EMR, Databricks, Google Dataproc, Oracle Cloud Data Flow, Bytedance Volcengine, Tencent Cloud, and Cloudera. The team uses open-source libraries such as cuDF to accelerate reading, writing, and batch data operations in Spark.
Responsibilities
- Develop Java, Scala, and CUDA/C++ libraries to accelerate DataFrame and I/O operations on common file formats such as Parquet, ORC, and JSON.
- Enable interoperability with table formats such as Apache Iceberg and Delta Lake, and metastores such as Unity Catalog.
- Work with open-source communities to enhance libraries including NVIDIA cuDF, CCCL, and UCX through technical discussions and code contributions.
- Collaborate with distributed systems teams to develop solutions to distributed processing challenges at large scale.
- Provide recommendations and feedback regarding infrastructure, continuous integration, and testing strategies.
- Build, test, and optimize CUDA/C++ libraries across different platforms.
Requirements
- Bachelor's, master's, or doctoral degree in Computer Science, Computer Engineering, or a closely related field, or equivalent experience.
- 15+ years of software development experience.
- Outstanding technical skills in designing and implementing high-quality distributed systems.
- Excellent programming skills in C++, Java, and/or Scala.
- Ability to work with teams across organizational boundaries and geographies.
- Familiarity with the open-source data platform ecosystem, including Apache Spark, Velox, Presto, Apache Arrow, and Apache DataFusion. Meaningful contributions to the open-source community are a plus.
- Strong motivation and interpersonal skills.
- Database query optimization experience is a strong plus.
Compensation and Benefits
The base salary range is USD 272,000–431,250 per year, determined by location, experience, and the pay of employees in similar positions. The role also includes eligibility for equity and benefits.
Applications will be accepted at least until July 19, 2026. This posting is for an existing vacancy. NVIDIA uses AI tools in its recruiting processes and is an equal opportunity employer.