Principal Software Engineer - Metadata

See more jobs from Snowflake Inc.

8 months old

Apply Now

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.