Build the future of data. Join the Snowflake team.
A massive new market opportunity is being created at the intersection of Cloud and Data, and the Snowflake Data Cloud is leading the way, all powered by the database engine we are building from the ground up.
Key to Snowflake’s Database Engine is our large scale distributed transactional Key-Value store - called FDB - which powers all of Snowflake’s products and services and is rapidly evolving to meet Snowflake’s future needs.
FDB runs on multiple cloud providers including Amazon Web Services, Microsoft Azure and Google Cloud. The elastic infrastructure FDB runs on is being built from the ground up and is envisioned to be a cloud agnostic, fully automated manageability platform that provides:
- Autoscaling and auto-balancing of clusters based on utilization, traffic and workloads
- Auto-provisioning of new clusters with zero manual intervention
- Self-healing capabilities that prevent, mitigate and resolve any production impact
- Built-in configuration management that guarantees FDB runs correctly and on the intended topologies
- Self-optimizing COGS efficiency, ensuring we run our clusters at optimal utilization
We are looking for an outstanding Senior Software Engineer with a passion for large scale databases and distributed systems to help us take the FDB platform to the next level.
AS A SENIOR SOFTWARE ENGINEER ON THIS TEAM, YOU WILL:
- Design and implement scalable distributed system solutions for our cloud agnostic platform.
- Analyze fault-tolerance and high availability issues, performance and scale challenges, and solve them.
- Own the end to end delivery of your projects, from identifying a solution, to design, implementation, test and safe production rollout
- Understand trade-offs between consistency, durability and costs to build solutions which can meet the demands of rapidly growing services.
- Build the next generation transaction system, caching, storage engine and multi tenant capabilities
- Evangelize best practices in database usage and end-to-end architecture.
- Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions.
AN IDEAL CANDIDATE WILL HAVE:
- 5+ years industry experience designing, building and supporting large scale infrastructure in production.
- Experience designing, building, and operating large-scale distributed systems infrastructure supporting stateful services
- Experience in container orchestration, cluster management, or autoscaling.
- Excellent understanding of operating systems concepts including multi-threading, memory management, networking and storage, performance and scale.
- Systems programming skills including multi-threading, concurrency, etc. Fluency in Java, C++, or C is preferred.
- Solid understanding of the internals of Kubernetes, Mesos, OpenShift, or other container platforms
- Experience with scalable Key-Value stores such as FoundationDB, RocksDB/LevelDB, DynamoDB, Redis, etc. a plus.
- Track record of delivering highly complex projects in the distributed systems space
- Intense curiosity, willingness to question and passion for making systems better
- Experience with one or more of the following highly desired:
- Big Data storage technologies and their applications (HDFS, Cassandra, Columnar Databases, etc.)
- Scalable Key-Value stores such as FoundationDB, RocksDB/LevelDB, DynamoDB, Redis, Cassandra, etc.
- BS in Computer Science; Masters or PhD Preferred.
About Snowflake:
About FoundationDB:
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?