Senior Software Engineer — Distributed Compute / Spark Systems
Build distributed compute systems for enterprise-scale data and AI workloads, optimizing Spark, Trino, Presto, and Flink environments for cost and performance at petabyte/exabyte scale.
- Compensation
- $160K–$240K / yr
- Location
- Bay Area Office
- Work setup
- Hybrid
- Seniority
- Senior
- Employment
- Full time
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Strong engineering depth in distributed systems, data processing systems, query engines, databases, or cloud infrastructure
- Production experience with distributed compute or query systems such as Apache Spark, Spark SQL, Trino, Presto, Flink, Databricks, EMR, Glue, Hive, or similar
- Hands-on experience improving performance, reliability, or cost efficiency for large-scale data-processing workloads
- Understanding of distributed execution, query planning, scheduling, resource management, fault tolerance, and workload isolation
- Experience with Spark internals, Spark SQL, Catalyst, Adaptive Query Execution, shuffle, joins, aggregation, spill, memory management, or task scheduling
- Familiarity with lakehouse formats and columnar data such as Iceberg, Delta Lake, Hudi, Parquet, or ORC
- Familiarity with cloud object storage systems such as S3, GCS, or ADLS and performance tradeoffs of distributed compute on top of them
- Strong programming skills in Scala, Java, Go, Rust, C++, or similar systems-oriented languages
Nice to have
- Experience contributing to Apache Spark, Spark SQL, Trino, Presto, Flink, Velox, DuckDB, DataFusion, Iceberg, Delta Lake, Hudi, Parquet, ORC, or related systems
- Experience with Catalyst, Adaptive Query Execution, cost-based optimization, query planning, vectorized execution, or distributed runtime systems
- Experience optimizing joins, aggregations, shuffles, scans, spills, caching, partitioning, skew handling, or task scheduling
- Experience building workload schedulers, execution control planes, resource managers, or multi-engine compute platforms
- Experience reducing compute cost or improving workload efficiency in large-scale production data environments
- Background in query engines, distributed runtimes, storage-aware execution, indexing, caching, encoding, compression, or adaptive query optimization
- Research or open-source contributions in distributed systems, databases, query processing, data processing, or cloud infrastructure
Full description
Senior Software Engineer — Distributed Compute / Spark Systems
Location: Mountain View, CA — Downtown HQ
Employment Type: Full-time
Work Model: On-site, 5 days/week
Department: Research
About Granica
Granica helps enterprises run AI for less, from the data layer to agent execution.
Granica is building across three related layers:
- Crunch reduces storage and processing costs across enterprise data infrastructure.
- Large Tabular Models unlock predictions and generated data from governed enterprise tables.
- Myelin reduces token and compute overhead for long-running AI agents.
Everything runs inside the customer’s perimeter, so enterprises retain control of their data and the intelligence it creates.
Granica has already processed hundreds of petabytes of enterprise data in production for customers including Snap, Pinterest, Lyft, and ShareChat.
Our research organization is led by Stanford Professor Andrea Montanari.
We operate at the intersection of data infrastructure, AI systems, and applied research, building the efficiency and intelligence layer for enterprise AI.
About the Role
Granica is hiring a Senior Software Engineer to build distributed compute systems for enterprise-scale data and AI workloads.
You will work on the core infrastructure behind Crunch, Granica’s continuous optimization product for enterprise lakehouse data. This includes systems for distributed execution, workload optimization, query performance, scheduling, resource management, and compute cost reduction across petabyte- and exabyte-scale environments.
You will own core systems that directly affect customer compute spend, query latency, workload reliability, cluster efficiency, and the performance of large-scale analytical data processing.
This is a hands-on systems role for engineers who have gone deep on distributed execution — particularly Apache Spark or similar query/runtime systems — and want to own performance, scheduling, reliability, and compute efficiency at massive scale.
What You’ll Do
- Build and optimize distributed compute infrastructure for large-scale analytical and AI workloads
- Improve execution performance across scans, joins, aggregations, shuffles, spills, caching, partitioning, and task scheduling