Build the future of data. Join the Snowflake team.
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, transaction frameworks, declarative entity management, 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.
AS A PRINCIPAL SOFTWARE ENGINEER - METADATA, YOU WILL:
- Solve real business needs at large scale by applying your software engineering and analytical problem solving skills.
- Create architecture and design, influence our product roadmap, and take ownership and responsibility over new projects.
- Design, develop, and support a highly-parallel and fault-tolerant database system including a decentralized caching system of terabytes of metadata with an ever growing request rate.
- Design and implement core foundational features including transactions, DDL/DML logs, metadata API as well as advanced features built on top of the metadata, such as declarative entity management and integrations to support developer toolchains.
- Analyze and understand performance and scalability bottlenecks in the system and solve them.
- Ensure operational readiness of the services and meet the commitments to our customers regarding availability and performance.
OUR IDEAL PRINCIPAL SOFTWARE ENGINEER WILL HAVE:
- 14+ years industry experience designing, building and supporting large scale systems in production.
- Strong computer science fundamentals including data structures, algorithms, and distributed systems.
- Sharp original thinking to make the right choices and guide teams
- Systems programming skills including multi-threading, concurrency, caching, etc. Fluency in Java or other similar procedural object-oriented language is preferred.
- Track record of identifying and implementing creative solutions to complex problems.
- Knowledge of database internals is a big plus.
- Ability to work effectively across engineering teams in multiple locations
- BS in Computer Science; Masters or PhD Preferred.