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
AS A STAFF SOFTWARE ENGINEER AT SNOWFLAKE, 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.
OUR IDEAL STAFF SOFTWARE ENGINEER WILL HAVE
8+ 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
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.
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