# Senior Software Engineer - Foundation DB
**Company:** [Snowflake](https://scaleengineer.com/companies/snowflake)
Join Snowflake's FoundationDB team as a Senior Software Engineer to architect and scale a mission-critical, open-source distributed database that handles millions of transactions per second. In this role, you'll design high-performance systems, rebuild core database components for massive scale, and directly impact Snowflake's shared-metadata architecture that powers the entire Data Cloud platform. You'll need 6+ years of hands-on systems engineering experience with deep expertise in distributed systems, strong C++/C/Java proficiency, and a proven track record shipping complex distributed database projects.
**Role:** Senior Software Engineer
**Seniority:** Senior
**Locations:** US-CA-Menlo Park
**Salary:** 200000–287000 USD
[Apply](https://jobs.ashbyhq.com/snowflake/5a4a6ea7-fcfb-4639-83ce-90266cad1548)
Canonical: https://scaleengineer.com/jobs/snowflake/senior-software-engineer-foundation-db
---
## Responsibilities

- Design and Implement High-Performance Database Systems: Engineer critical, high-performance systems capable of processing the constantly increasing request rate of FoundationDB. Design scalable architectures for transaction processing, multi-tenancy, and caching layers that handle millions of transactions per second across thousands of processes in production environments.
- Lead End-to-End Project Delivery: Own complete project lifecycle from problem identification and solution design through implementation, comprehensive testing, and safe production rollout. Take full ownership of strategic initiatives that directly impact Snowflake's core infrastructure and architectural evolution.
- Architect Next-Generation Database Components: Build the next generation transaction system, storage engine, caching mechanisms, and multi-tenant capabilities. Re-architect core system components to handle an order of magnitude increase in scale and support emerging workloads requiring extreme reliability and strong consistency semantics.
- Performance Analysis and Bottleneck Resolution: Identify, analyze, and resolve performance and scalability bottlenecks in distributed systems. Instrument system components to isolate problems, develop data-driven solutions, and optimize critical paths in the database infrastructure that powers thousands of organizations.
- Strategic Problem Identification and Optimization: Proactively identify strategically important problems, inefficiencies, and opportunities for impactful improvements. Drive innovation in database architecture and operations to improve reliability, availability, performance, and operability across the platform.
- Technical Leadership and Best Practices Evangelization: Evangelize best practices in database design, distributed systems architecture, and end-to-end system optimization across the team. Share knowledge through technical discussions, code reviews, and documentation that elevates team capabilities and architectural quality.

## Requirements

### education

- {"name":"Bachelor's Degree in Computer Science (Required)","description":"BS in Computer Science or equivalent technical degree required. Foundation in formal computer science education including algorithms, data structures, systems architecture, and distributed systems theory."}
- {"name":"Master's or PhD (Preferred)","description":"Advanced degree in Computer Science or related field strongly preferred. May include research or thesis work in distributed systems, database technology, or systems optimization."}

### technical

- {"name":"Distributed Systems Architecture","description":"Deep expertise in designing, building, and operating large-scale distributed systems and services. Must demonstrate experience with complex architectural patterns including ACID transaction systems, high-availability strategies, consensus mechanisms, and fault tolerance."}
- {"name":"Systems Programming and Concurrency","description":"Proficiency in systems-level programming including multi-threading, concurrent data structures, lock-free algorithms, memory management, and performance optimization. Strong understanding of CPU cache behavior, latency analysis, and throughput optimization."}
- {"name":"C++, C, or Java Proficiency","description":"Fluency in at least one systems programming language. C++ expertise highly valued for performance-critical database work. Comfortable with low-level memory management, pointer manipulation, and performance profiling."}
- {"name":"Database Engine Knowledge","description":"Experience with database internals including query processing, storage engines, indexing structures, transaction management, and replication. Familiarity with key-value stores such as FoundationDB, RocksDB, LevelDB, DynamoDB, or Redis is a significant plus."}
- {"name":"Computer Science Fundamentals","description":"Strong foundation in data structures, algorithms, distributed systems theory, and formal computer science concepts. Ability to apply theoretical knowledge to solve practical large-scale engineering problems."}
- {"name":"Performance Profiling and Debugging","description":"Hands-on experience with performance analysis tools, profiling, debugging complex distributed systems issues, and instrumenting code for observability. Ability to correlate metrics across distributed components to identify root causes."}

### experience

- {"name":"6+ Years of Hands-On Software Engineering","description":"Minimum six years of professional hands-on software engineering experience shipping production systems. Must demonstrate consistent track record of delivering complex projects, not management-focused roles."}
- {"name":"Large-Scale Distributed Systems Delivery","description":"Proven track record designing, building, and operating large-scale distributed systems or web services that handle significant transaction volume or data scale. Experience with systems serving thousands of concurrent users or processing massive data volumes."}
- {"name":"Complex Distributed Systems Projects","description":"Demonstrated success delivering highly complex projects in the distributed systems space. Evidence of leading architectural initiatives, solving novel technical challenges, and delivering solutions that significantly improved system performance or scalability."}

## Skills

### required

- {"name":"Large-Scale Database Architecture","description":"Deep expertise in designing and operating database systems at massive scale, including understanding of ACID guarantees, transaction processing, and consistency models required for critical infrastructure."}
- {"name":"Distributed Systems Design","description":"Proficiency in distributed system patterns, consensus algorithms, replication strategies, failure handling, and distributed debugging. Understanding of CAP theorem and practical tradeoffs in large-scale systems."}
- {"name":"Performance Optimization","description":"Ability to identify performance bottlenecks in complex systems, instrument code for observability, analyze metrics, and implement solutions that significantly improve throughput, latency, or resource efficiency."}
- {"name":"Technical Communication","description":"Strong ability to clearly articulate complex technical concepts, explain architectural decisions, communicate trade-offs, and collaborate effectively with distributed teams on challenging problems."}
- {"name":"Problem-Solving and Debugging","description":"Exceptional ability to isolate and debug complex issues in distributed systems, think through edge cases, and implement robust solutions. Comfort with ambiguity and iterative problem-solving."}

### preferred

- {"name":"FoundationDB or Similar KV Store Experience","description":"Prior experience with FoundationDB, RocksDB, LevelDB, DynamoDB, or similar distributed key-value stores. Understanding of how these systems achieve consistency and high performance."}
- {"name":"Open Source Database Contribution","description":"Contributions to open-source database or distributed systems projects. Experience with open-source development workflows, community engagement, and transparent development practices."}
- {"name":"Cloud Infrastructure Experience","description":"Experience designing systems for cloud environments, understanding of cloud-native architectures, and familiarity with cloud service provider models and constraints."}
- {"name":"Metadata and Consistency System Expertise","description":"Experience building metadata systems, consistency layers, or replication engines in large-scale platforms. Understanding of shared metadata architecture patterns and strong consistency requirements."}
- {"name":"AI-Native Problem Solving Mindset","description":"Comfort using AI as a collaborative tool for code generation, debugging assistance, and architectural exploration. Experimental mindset for rapidly testing emerging technologies and capabilities."}

## Tech stack

### tools

- {"name":"Performance Profiling Tools","description":"Profilers, debuggers, and monitoring tools (e.g., perf, flamegraph, VTune) essential for identifying and optimizing performance bottlenecks in distributed systems."}
- {"name":"Distributed Tracing and Observability","description":"Tools for instrumenting, tracing, and debugging distributed system behavior across multiple components and processes."}
- {"name":"Version Control and Open Source Workflows","description":"Git and collaborative development practices required for working with open-source FoundationDB codebase and managing complex infrastructure changes."}

### others

- {"name":"Snowflake Data Cloud Architecture","description":"Understanding of Snowflake's cloud-native data platform, shared metadata architecture, and how FoundationDB serves as the foundational consistency layer powering all products and services."}
- {"name":"Multi-Tenancy Architecture Patterns","description":"Experience designing and implementing multi-tenant systems with isolation, resource management, and strong consistency requirements across tenant boundaries."}
- {"name":"Scalability and Reliability Engineering","description":"Expertise in scaling systems by orders of magnitude, ensuring high availability, handling failure scenarios, and maintaining system reliability under extreme load."}

### databases

- {"name":"FoundationDB","description":"Core database system being enhanced. Open-source, highly scalable ACID transaction engine capable of millions of transactions per second. Directly impacts Snowflake's shared-metadata architecture."}
- {"name":"RocksDB/LevelDB","description":"High-performance key-value storage engines relevant to understanding storage layer optimization and embedded database design patterns."}
- {"name":"DynamoDB/Redis","description":"Distributed key-value store systems relevant to understanding scalable storage solutions and performance characteristics at massive scale."}

### languages

- {"name":"C++","description":"Primary systems programming language for FoundationDB. Required for high-performance database development, low-level memory management, and performance-critical code paths."}
- {"name":"C","description":"Essential for systems-level programming and compatibility with FoundationDB's core bindings. Used for performance-critical sections and cross-platform compatibility."}
- {"name":"Java","description":"Alternative systems programming language for certain components. Used in Snowflake's broader ecosystem and supported by FoundationDB bindings."}

### frameworks

- {"name":"ACID Transaction Framework","description":"Deep understanding of transaction processing frameworks, MVCC (multi-version concurrency control), and strong consistency guarantees required in mission-critical databases."}
- {"name":"Distributed Consensus Protocols","description":"Familiarity with consensus mechanisms and protocols for distributed coordination, ensuring reliability and consistency across thousands of processes."}

## Benefits

### benefits

- {"name":"Health Insurance","description":"Comprehensive medical, dental, and vision coverage with company-subsidized premiums for employees and eligible dependents."}
- {"name":"Retirement Plans","description":"401(k) retirement savings plan with company matching to help build long-term financial security."}
- {"name":"Flexible Work Environment","description":"Flexibility in work arrangements supporting work-life balance in a fast-moving, dynamic technology environment."}
- {"name":"Professional Development","description":"Opportunities to work on cutting-edge database and distributed systems technology, learn from world-class engineers, and contribute to open-source FoundationDB project."}
- {"name":"Equity Compensation","description":"Stock options or equity participation allowing engineers to share in company success and growth of Snowflake's Data Cloud platform."}
- {"name":"Competitive Benefits Package","description":"Additional benefits including life insurance, disability coverage, employee assistance programs, and wellness initiatives. Visit careers.snowflake.com for comprehensive details."}

## Compensation

- **max:** 260000
- **min:** 180000
- **currency:** USD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Initial Screening and Application Review","description":"Snowflake recruiting team reviews your resume, application materials, and technical background. Focus on demonstrating 6+ years of hands-on distributed systems experience, relevant programming language proficiency, and specific database engine or large-scale system projects."}
- {"name":"Technical Phone Screen","description":"Conversation with a senior engineer to assess systems programming fundamentals, distributed systems knowledge, and problem-solving approach. Expect discussions about past projects, architectural decisions, and how you approach complex technical challenges."}
- {"name":"System Design Deep Dive","description":"Technical interview focused on distributed systems design. Be prepared to design high-scale systems, discuss trade-offs (consistency vs. availability, latency vs. throughput), explain architectural patterns, and demonstrate deep systems thinking."}
- {"name":"Database and Performance Problem Session","description":"Technical interview addressing database internals, performance optimization, and debugging. May involve analyzing slow queries, optimizing storage engine behavior, or designing components like transaction systems or caching layers."}
- {"name":"FoundationDB and Distributed Systems Discussion","description":"Conversation with FoundationDB team members about your experience with distributed systems, approach to building reliable systems, and specific knowledge of or interest in FoundationDB architecture. Discuss how you'd approach scaling systems by orders of magnitude."}
- {"name":"Engineering Leadership and Collaboration Assessment","description":"Discussion with engineering leaders about your approach to owning projects end-to-end, communicating complex technical concepts, collaborating across teams, and evangelizing best practices. Assessment of cultural fit with Snowflake's innovation-focused values."}

## 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.

[FoundationDB](https://www.foundationdb.org/) (FDB) is an open source, highly scalable database capable of ACID transactions at high frequencies and low latencies. FDB has been a core component in Snowflake's unique shared-metadata architecture since 2014, making possible Snowflake's vision to build the greatest data warehouse for the cloud. FDB performs millions of transactions per second across thousands of processes. The FDB team builds features on open-source FDB that improve the performance, scale, reliability and operability of the product.

We are looking for an outstanding Senior Software Engineer with a passion for large scale databases and distributed systems to help us take FoundationDB to the next level. FoundationDB powers all of Snowflake’s products and services and is rapidly evolving to meet Snowflake’s future needs. We are growing at a fast rate and we need to scale FoundationDB by at least one order of magnitude over the next few years. Additionally, new workloads are emerging that need FoundationDB’s reliability, high availability and strong consistency semantics. These workloads will require innovation to re-architect the core components of our system.

**AS A SENIOR SOFTWARE ENGINEER AT SNOWFLAKE, YOU WILL:**

* Identify strategically important problems, inefficiencies or opportunities for impactful improvements
* Own the end to end delivery of your projects, from identifying a solution, to design, implementation, test and safe production rollout
* Design and implement critical high performance systems to handle the ever growing request rate of our database
* Build the next generation transaction system, caching, storage engine and multi tenant capabilities
* Evangelize best practices in database usage and end-to-end architecture.
* Analyze and understand performance and scalability bottlenecks in the system and solve them.
* Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions.

**OUR IDEAL SENIOR SOFTWARE ENGINEER WILL HAVE:**

* 6+ years hands-on software engineering experience.
* Systems programming skills including multi-threading, concurrency, etc. Fluency in C++, C, or Java is preferred.
* Experience designing, building, and operating large-scale distributed systems or web services
* Experience with scalable Key-Value stores such as FoundationDB, RocksDB/LevelDB, DynamoDB, Redis, etc. a plus.
* Strong CS fundamentals including data structures, algorithms, and distributed systems.
* Track record of delivering highly complex projects in the distributed systems space
* Intense curiosity, willingness to question and passion for making systems better
* Strong technical problem solving, communication, and collaboration skills
* Excitement by the challenge of hard technical problems
* BS in Computer Science; Masters or PhD Preferred.

About Snowflake:

[Snowflake SIGMOD 2016 paper](https://www.snowflake.com/wp-content/uploads/2019/06/Snowflake%5FSIGMOD.pdf)

About FoundationDB:

[FDB SIGMOD 21 Paper](https://www.foundationdb.org/blog/fdb-paper/)

[FoundationDB Summit 2018](https://www.youtube.com/playlist?list=PLbzoR-pLrL6q7uYN-94-p%5F-Q3hyAmpI7o) and [FoundationDB Summit 2019](https://www.youtube.com/playlist?list=PLbzoR-pLrL6oWYrC950yAhbLk8FRRB%5FBt)

[How FDB powers Snowflake Metadata Forward!](https://www.snowflake.com/blog/how-foundationdb-powers-snowflake-metadata-forward/)

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)
