Snowflake Metadata team builds a scalable metadata system that allows Snowflake to query across petabyte-scale data efficiently. The team develops distributed and multi-layered caches, transactions, cloning, time travel and other core Snowflake services. It is also responsible for providing the foundation of global features like cross-region replication, data sharing, and data marketplace.
We are looking for strong system engineers who are interested in solving some of the most challenging problems in distributed systems, performance and scalability, and passionate about building system software with high quality.
AS A SENIOR SOFTWARE ENGINEER - METADATA, YOU WILL:
- Solve real business needs at large scale by applying your software engineering and analytical problem solving skills.
- Build the next-generation transaction system, storage engine and multi-tenant database system.
- Design, develop, and support a highly-parallel and fault-tolerant database system including a decentralized caching system of terabytes of metadata.
- Design and implement critical high-performance systems to handle the ever growing request rate of our database.
- Design and implement core foundational features including transactions, DDL/DML logs, global messaging mesh as well as advanced features built on top of the metadata, such as cloning, time travel, backup/restore and replication.
- Analyze and understand performance and scalability bottlenecks in the system and solve them.
- Have the opportunity to work on various background services that power Snowflake's proprietary multi-level metadata system to support fast compilation and query optimization.
- Ensure operational readiness of the services and meet the commitments to our customers regarding availability and performance.
OUR IDEAL SENIOR SOFTWARE ENGINEER WILL HAVE:
- 5+ years industry experience designing, building and supporting large scale systems in production.
- Strong computer science fundamentals including data structures, algorithms, and distributed systems.
- Systems programming skills including multi-threading, concurrency, caching, etc. Fluency in C++ or Java (or other similar procedural object-oriented language) is preferred.
- Track record of identifying and implementing creative solutions.
- Knowledge of database internals is a big plus.
- BS in Computer Science; Masters or PhD Preferred.
Snowflake delivers the Data Cloud—a global network where thousands of organizations mobilize data with near-unlimited scale, concurrency, and performance. Inside the Data Cloud, organizations unite their siloed data, easily discover and securely share governed data, and execute diverse analytic workloads. Wherever data or users live, Snowflake delivers a single and seamless experience across multiple public clouds. Snowflake’s platform is the engine that powers and provides access to the Data Cloud, creating a solution for data warehousing, data lakes, data engineering, data science, data application development, and data sharing. Join Snowflake customers, partners, and data providers already taking their businesses to new frontiers in the Data Cloud.