# Senior Software Engineer, Compute Service
**Company:** [Snowflake](https://scaleengineer.com/companies/snowflake)
Join Snowflake's Compute Service team as a Senior Distributed Systems Engineer to design and operate mission-critical scheduling and queueing systems powering the Data Cloud across AWS, Azure, and Google Cloud. This role combines large-scale distributed systems architecture with hands-on systems programming in Java, requiring extensive experience building fault-tolerant, high-availability services that manage admission control, resource isolation, and capacity optimization for warehouse-backed workloads serving thousands of organizations globally.
**Role:** Senior Backend Engineer
**Seniority:** Senior
**Locations:** US-CA-Menlo Park
**Salary:** 200000–287500 USD
[Apply](https://jobs.ashbyhq.com/snowflake/95b87897-68dc-47c0-a4c0-2320d36dafac)
Canonical: https://scaleengineer.com/jobs/snowflake/senior-software-engineer-compute-service
---
## Responsibilities

- Design and Implement Scalable Distributed Systems: Architect and build large-scale distributed systems for scheduling, queueing, dispatch, and completion of warehouse-backed compute work. Design systems that handle fault tolerance, high availability, performance optimization, and horizontal scaling across multi-region cloud deployments.
- Solve Distributed Systems Challenges at Scale: Analyze and resolve complex technical challenges in fault tolerance, high availability, performance, and scalability. Apply deep understanding of distributed systems theory to production systems handling millions of transactions and managing massive computational workloads.
- Build Admission Control and Capacity Management Systems: Design and implement admission control layers, workload isolation mechanisms, and capacity management systems that ensure fair resource allocation and predictable performance for shared compute infrastructure serving multiple tenants and use cases.
- Lead Cross-Functional System Architecture Initiatives: Collaborate with engineers, product managers, and technical program managers across teams to align on system requirements, architecture decisions, and implementation roadmaps. Lead architectural discussions on consistency, durability, latency, and cost trade-offs to meet evolving business demands.
- Ensure Operational Excellence and Reliability: Drive operational readiness of compute services, implement monitoring and alerting systems, and maintain SLA commitments to customers on availability and performance. Design systems that self-optimize and provide high availability and data protection across multi-cloud environments.
- Solve Real Business Problems at Scale: Apply software engineering and analytical problem-solving to address production challenges impacting thousands of organizations. Implement creative solutions that balance competing priorities of usability, performance, cost, and reliability while supporting rapid customer growth.

## Requirements

### education

- {"name":"Computer Science Degree or Equivalent","description":"Bachelor's degree in Computer Science, Computer Engineering, or related technical discipline. Equivalent practical experience in large-scale systems engineering can substitute for formal education. Advanced degree in Computer Science or related field is a plus."}

### technical

- {"name":"Distributed Systems Architecture and Design","description":"Proven expertise designing, building, and supporting large-scale distributed, fault-tolerant services in production. Deep understanding of control plane architecture, compute placement algorithms, queueing systems, and scheduling logic for managing heterogeneous workloads at scale."}
- {"name":"Systems Programming and Concurrency","description":"Strong systems programming skills with proficiency in multi-threading, concurrency patterns, and synchronization primitives. Fluency in Java required; experience with C++ or Go is beneficial for understanding low-level system optimization."}
- {"name":"Operating System Concepts and Performance","description":"Deep understanding of operating-system fundamentals including multi-threading, memory management, networking protocols, storage systems, performance analysis, and scalability optimization. Experience profiling and optimizing system-level bottlenecks."}
- {"name":"Cloud Infrastructure and Multi-Cloud Operations","description":"Substantial hands-on experience with cloud infrastructure platforms, particularly AWS, Microsoft Azure, or Google Cloud. Understanding of cloud-native architecture patterns, containerization, infrastructure-as-code, and multi-region deployment strategies."}
- {"name":"Computer Science Fundamentals","description":"Strong foundation in core computer science disciplines including data structures, algorithms, computational complexity analysis, distributed systems theory, and database systems. Ability to apply algorithmic thinking to solve production system challenges."}

### experience

- {"name":"Large-Scale Production Systems Experience","description":"Minimum 7-10 years of industry experience designing, building, and operating large-scale distributed systems in production environments. Track record of shipping systems that handle massive scale, high throughput, and complex failure scenarios."}
- {"name":"Distributed Systems and Control Planes","description":"Proven experience building fault-tolerant distributed services including compute schedulers, resource managers, queueing systems, or similar control plane infrastructure. Experience with systems serving thousands of concurrent users or managing large compute clusters."}
- {"name":"Problem Identification and Creative Problem-Solving","description":"Demonstrated track record of identifying complex production problems, analyzing root causes, and implementing innovative solutions. Experience working on systems where performance, reliability, and cost optimization are critical business drivers."}
- {"name":"Cross-Functional Collaboration at Scale","description":"Experience leading technical initiatives across multiple teams, communicating architectural decisions to stakeholders, and balancing competing priorities. Proven ability to work effectively with product, infrastructure, and platform teams in fast-moving environments."}

## Skills

### required

- {"name":"Java","description":"Fluency in Java for systems programming, concurrency control, and building production services. Must demonstrate expertise in multi-threading, memory management, and performance optimization in Java."}
- {"name":"Distributed Systems Design","description":"Deep expertise in distributed systems theory and practice, including consensus algorithms, eventual consistency, state machine replication, and fault-tolerance patterns. Understanding of CAP theorem and practical trade-off decisions."}
- {"name":"Queueing and Scheduling Systems","description":"Experience designing or working with queueing systems, task scheduling, resource allocation algorithms, and workload management. Understanding of queue data structures, scheduling theory, and fairness algorithms."}
- {"name":"Performance Analysis and Optimization","description":"Ability to profile, benchmark, and optimize systems for latency, throughput, and resource efficiency. Experience using profiling tools and analyzing performance bottlenecks in complex distributed systems."}
- {"name":"Database and Storage Systems","description":"Fundamental understanding of database concepts, transaction semantics, consistency models, and distributed storage. Knowledge of replication, partitioning, and backup strategies for cloud data platforms."}

### preferred

- {"name":"Go or C++","description":"Experience with compiled systems languages like Go or C++ for high-performance distributed systems work. Valuable for understanding low-level optimization and systems-level programming patterns."}
- {"name":"Kubernetes and Container Orchestration","description":"Hands-on experience with Kubernetes, Docker, or container orchestration platforms. Understanding of how modern container schedulers solve resource management and workload placement problems."}
- {"name":"Apache Spark or Big Data Frameworks","description":"Familiarity with Apache Spark, MapReduce, or other big data processing frameworks. Understanding of how distributed computing frameworks schedule and execute tasks across clusters."}
- {"name":"Terraform or Infrastructure-as-Code","description":"Experience with Terraform, CloudFormation, or other infrastructure-as-code tools for managing cloud infrastructure deployment and scaling."}
- {"name":"Observability and Monitoring Systems","description":"Experience building or working with monitoring, logging, and distributed tracing systems (e.g., Prometheus, Jaeger, ELK stack) for operational visibility into complex distributed systems."}
- {"name":"SQL and Data Warehousing","description":"Working knowledge of SQL, data warehousing concepts, and OLAP systems. Understanding of how queries execute in distributed data warehouses to better design supporting infrastructure."}

## Tech stack

### tools

- {"name":"AWS","description":"Amazon Web Services for cloud infrastructure, compute instances, networking, storage, and cloud-native services powering Snowflake deployments."}
- {"name":"Microsoft Azure","description":"Azure cloud platform services including compute, networking, and storage for multi-cloud Snowflake deployments and operations."}
- {"name":"Google Cloud Platform","description":"GCP services including Compute Engine, networking, and storage for Snowflake's multi-cloud infrastructure strategy."}
- {"name":"Terraform","description":"Infrastructure-as-code tool for provisioning, managing, and scaling cloud resources across multiple cloud providers."}
- {"name":"Git and Version Control","description":"Essential for collaborative development, code review processes, and managing complex distributed systems codebases."}
- {"name":"Monitoring and Observability Tools","description":"Tools like Prometheus, Grafana, DataDog, or similar for metrics collection, alerting, and operational visibility into distributed systems."}

### others

- {"name":"Distributed Tracing","description":"Systems for tracking requests through distributed services, understanding latency bottlenecks, and debugging production issues (e.g., Jaeger, Zipkin)."}
- {"name":"Load Balancing and Service Mesh","description":"Understanding of load balancing algorithms, service discovery, and service mesh architectures (e.g., Istio) for managing communication between distributed components."}
- {"name":"Linux System Administration","description":"Proficiency with Linux operating systems, kernel tuning, network configuration, and system-level performance optimization for production systems."}

### databases

- {"name":"Snowflake Data Cloud","description":"The core platform; deep understanding of how Snowflake's architecture handles compute, storage separation, and multi-tenant resource isolation."}
- {"name":"Distributed State Stores","description":"Experience with distributed consensus and state management systems like Zookeeper, etcd, or custom consensus implementations for control planes."}

### languages

- {"name":"Java","description":"Primary language for building Snowflake's compute service systems, used for implementing scheduling logic, control planes, and worker orchestration."}
- {"name":"SQL","description":"Essential for query optimization and understanding how the data platform processes and schedules SQL workloads across the compute infrastructure."}
- {"name":"Python","description":"Used for scripting, automation, testing frameworks, and operational tooling within the Compute Service infrastructure."}

### frameworks

- {"name":"Apache Spark","description":"Large-scale distributed data processing framework that Snowflake integrates with; understanding how Spark schedules and executes distributed workloads is valuable."}
- {"name":"Kubernetes","description":"Container orchestration platform relevant for understanding modern workload scheduling, resource management, and multi-cluster orchestration patterns."}
- {"name":"gRPC","description":"High-performance RPC framework commonly used for inter-service communication in distributed systems and cloud platforms."}

## Benefits

### benefits

- {"name":"Equity and Stock Options","description":"Competitive stock option grants that align your success with company growth and provide long-term wealth-building opportunities as a publicly-traded cloud platform company."}
- {"name":"Comprehensive Health Coverage","description":"Medical, dental, and vision insurance coverage with choice of plans, subsidized by Snowflake to provide comprehensive healthcare protection for you and your family."}
- {"name":"401(k) Retirement Plan","description":"Employer-matched 401(k) retirement savings plan with competitive matching contributions to help you build long-term financial security."}
- {"name":"Professional Development and Learning","description":"Investment in your growth through training budgets, conference attendance, online learning platforms, and opportunities to work with industry-leading technical talent and solve complex distributed systems problems."}
- {"name":"Flexible Work Arrangements","description":"Flexible work options and remote work capabilities that support work-life balance while maintaining strong collaboration with distributed teams."}
- {"name":"Generous Paid Time Off","description":"Competitive vacation and paid time off policies, plus paid holidays and sick days to support your wellness and personal priorities."}
- {"name":"Parental Leave Benefits","description":"Paid parental leave supporting both primary and secondary caregivers, recognizing the importance of family time during major life transitions."}
- {"name":"Technical Growth Opportunities","description":"Opportunity to work on world-class distributed systems infrastructure, lead architectural initiatives, and contribute to a technology stack that powers thousands of organizations globally."}

## Compensation

- **max:** 220000
- **min:** 160000
- **currency:** USD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Initial Recruiter Screening Call","description":"30-minute conversation with a technical recruiter to understand your background, relevant experience with distributed systems, systems programming expertise, and career interests. Discussion of role expectations, compensation band, and work arrangement preferences."}
- {"name":"Technical Phone Screen","description":"45-60 minute technical assessment with a senior engineer focused on distributed systems concepts, Java programming, system design thinking, and problem-solving approach. Expect questions on scheduling algorithms, fault-tolerance patterns, and trade-offs in distributed systems design."}
- {"name":"System Design Deep Dive","description":"90-minute session with 1-2 Compute Service team engineers covering architectural design of complex distributed systems. You will be asked to design scheduling systems, queueing infrastructure, or similar control plane components at scale, discussing trade-offs between consistency, availability, latency, and cost."}
- {"name":"Code Implementation Exercise","description":"Take-home or live coding exercise in Java demonstrating systems programming skills, multi-threading proficiency, and algorithmic problem-solving. Exercise typically focuses on implementing concurrent data structures, scheduling logic, or distributed systems primitives."}
- {"name":"Cross-Functional Collaboration Interview","description":"Conversation with product managers, technical program managers, or partner team engineers to assess collaboration skills, communication ability, and how you approach working across teams to solve complex problems in fast-moving environments."}
- {"name":"Compute Service Team Round","description":"Opportunities to meet with members of the Compute Service team leadership and engineers to discuss current technical challenges, team culture, and how your experience aligns with the platform's architectural direction and operational needs."}
- {"name":"Executive or Principal Engineer Discussion","description":"Optional conversation with senior technical leadership to discuss your vision for distributed systems architecture, your approach to building world-class infrastructure, and alignment with Snowflake's platform strategy."}

## Full description
At Snowflake, we are powering the era of the agentic enterprise. To usher in this new era, we seek AI-native thinkers across every function who are energized by the opportunity to reinvent how they work. You don’t just use tools; you possess an innate curiosity, treating AI as a high-trust collaborator that is core to how you solve problems and accelerate your impact. We look for low-ego individuals who thrive in dynamic and fast-moving environments and move with an experimental mindset — who rapidly test emerging capabilities to discover simpler, more powerful ways to deliver results. At Snowflake, your role isn't just to execute a function, but to help redefine the future of how work gets done.

There is only one Data Cloud. Snowflake’s founders started from scratch and designed a data platform built for the cloud that is effective, affordable, and accessible to all data users. But it didn’t stop there. They engineered Snowflake to power the Data Cloud, where thousands of organizations unlock the value of their data with near-unlimited scale, concurrency, and performance. This is our vision: a world with endless insights to tackle the challenges and opportunities of today and reveal the possibilities of tomorrow.

Our product offering runs on multiple cloud providers, including Amazon Web Services, Microsoft Azure, and Google Cloud. Our infrastructure self-optimizes and provides high availability and data protection across cloud providers, so our users can focus on using their data, not managing it.

Our team is the Compute Service team. We build and operate the systems that schedule and run warehouse-backed work beyond a user’s interactive query: asynchronous and scheduled compute, elastic capacity for parts of live queries, and the scheduling control plane those workloads run on. We balance usability, performance, cost, and reliability for the teams and customers that depend on this compute.

We are actively hiring talented distributed systems developers. This role is an opportunity to shape the architecture and operation of core services that the rest of Snowflake runs on.

## As a Senior Distributed Systems Engineer at Snowflake you will:

* Solve real business needs at large scale by applying software engineering and analytical problem solving.
* Design and implement scalable distributed systems for scheduling, queueing, dispatch, and completion of warehouse-backed work.
* Analyze fault tolerance, high availability, performance, and scale challenges, and solve them.
* Build admission control, isolation, and capacity management so shared compute stays fair and predictable.
* Lead cross-functional initiatives, and collaborate with engineers, product managers, and technical program managers across teams.
* Judge trade-offs among consistency, durability, latency, and cost, and build systems that meet the demands of rapidly growing services.
* Ensure operational readiness of the services, and meet commitments to customers on availability and performance.

## Our ideal distributed systems engineer will have:

* Substantial industry experience designing, building, and supporting large-scale systems in production.
* Experience building large-scale, distributed, fault-tolerant services and control planes, including compute placement, queueing, and monitoring.
* A strong understanding of operating-system concepts, including multi-threading, memory management, networking, storage, performance, and scale.
* Strong computer-science fundamentals, including data structures, algorithms, and distributed systems.
* Systems programming skills, including multi-threading and concurrency. Fluency in Java is preferred.
* A track record of identifying problems and implementing creative solutions.
* Experience with cloud infrastructure on AWS, Azure, or Google Cloud.
* A BS in Computer Science, or equivalent practical experience. An advanced degree is a plus.

## Why join the engineering team at Snowflake?

* Build an industry-leading cloud data platform.
* Solve challenging technical problems in parallel and distributed systems, resource management, scheduling, and large-scale system operation.
* Work closely with partner teams, understand their use cases and needs, and choose the right problem to solve at the right time.
* Contribute to a highly scalable and reliable cloud platform that runs on a very large fleet of machines, and to the Java systems that schedule and execute work on it.
* Join a world-class team of industry veterans and rising engineers.

Snowflake is growing fast, and we’re scaling our team to help enable and accelerate our growth. We are looking for people who share our values, challenge ordinary thinking, and push the pace of innovation while building a future for themselves and Snowflake.

How do you want to make your impact?

For jobs located in the United States, please visit the job posting on the Snowflake Careers Site for salary and benefits information: [careers.snowflake.com](http://careers.snowflake.com)
