Principal Software Engineer I - Metadata

Principal Software Engineer · Principal · Full Time

US-CA-Menlo ParkUSD 264k – 380k5mo ago
Apply for this role

Opens Snowflake's application page

Role

What you'll do.

Snowflake is seeking a Principal Software Engineer to join their Metadata team, responsible for developing critical distributed systems that power Snowflake's data management capabilities. The ideal candidate will design scalable solutions for metadata systems, transaction frameworks, and global features like cross-region replication and data sharing.

Responsibilities

  • Distributed Systems Design: Design, develop, and support fault-tolerant scalable distributed systems for Snowgrid and Data Sharing teams
  • Architecture and Innovation: Create technical architecture, influence product roadmap, and take ownership of new projects
  • System Optimization: Analyze and resolve fault-tolerance, high availability, performance, and scale challenges
  • Engineering Mentorship: Mentor and grow junior engineers, supporting team development and knowledge transfer
  • Strategic Solution Development: Balance trade-offs between consistency, performance, and costs to build scalable solutions
  • Operational Excellence: Ensure operational readiness of services and meet customer commitments for durability, availability, and performance

Qualifications

What we look for.

Technical

  • Distributed Systems

    Extensive experience designing, building, and supporting large-scale distributed services

  • Computer Science Fundamentals

    Strong understanding of data structures, algorithms, and distributed systems principles

  • Operating Systems Expertise

    Deep knowledge of multi-threading, memory management, networking, storage, performance, and scaling

Education

  • Computer Science Degree

    BS in Computer Science required; Masters or PhD preferred

Experience

  • Industry Experience

    Minimum 15+ years of industry experience in software engineering

Skills

Required

  • Java

    Fluency in Java or similar procedural object-oriented programming language

  • Problem Solving

    Track record of identifying and implementing creative solutions to complex technical challenges

  • Cross-Team Collaboration

    Ability to work effectively across engineering teams in multiple locations

Preferred

  • Advanced Degree

    Nice to have

    Masters or PhD in Computer Science or related field

  • Distributed Computing

    Nice to have

    Advanced experience with cloud-native distributed computing architectures

Tech stack

Languages

Java

Frameworks

Cloud Native Technologies

Databases

Metadata Databases

Tools

Distributed Systems Tools

Other

Data Sharing Platforms

Compensation

Pay and benefits.

Base·USD 264,000 – 379,500

Equity·Stock options

Benefits

  • Innovative Work Environment

    Opportunity to build an industry-leading Cloud Data and AI Platform

  • Technical Challenge

    Work on complex problems in security, distributed systems, resource management, and large-scale system maintenance

  • Professional Growth

    Join a world-class team of industry veterans and emerging talent

Process

Interview steps.

  1. 01

    Initial Screening

    Resume and background review by hiring team

  2. 02

    Technical Phone Interview

    Detailed discussion of technical experience and distributed systems expertise

  3. 03

    On-site Technical Interviews

    Multiple rounds of in-depth technical interviews covering system design, problem-solving, and architectural skills

  4. 04

    Leadership and Cultural Fit Interview

    Assessment of mentorship capabilities, cross-team collaboration, and alignment with Snowflake's engineering values

Full posting

Original listing.

Snowflake is about empowering enterprises to achieve their full potential — and people too. With a culture that’s all in on impact, innovation, and collaboration, Snowflake is the sweet spot for building big, moving fast, and taking technology — and careers — to the next level.

We are the Snowflake Metadata team. We own Snowflake’s metadata systems that make it easy for customers to query, modify and manage their petabyte-scale data. We develop distributed systems that store and maintain metadata, transaction frameworks that power Snowflake’s query and DML capabilities, asynchronous systems that provide time travel and lifecycle management capabilities and entity metadata supporting DDL capabilities. We also build foundational capabilities that deliver global features like cross-region replication (Snowgrid), data sharing, and data marketplace.  

AS A PRINCIPAL SOFTWARE ENGINEER AT SNOWFLAKE YOU WILL:

  • Solve real business needs at large scale by applying your software engineering and analytical problem solving skills.

  • Design, develop and support fault-tolerant scalable distributed systems for our Snowgrid and Data Sharing teams.

  • Create architecture and design, influence our product roadmap, and take ownership and responsibility over new projects.

  • Analyze fault-tolerance and high availability issues, performance and scale challenges, and solve them.

  • Mentor and grow junior engineers.

  • Understand trade-offs between consistency, performance and costs to build solutions which can meet the demands of rapidly growing services.

  • Ensure operational readiness of the services and meet the commitments to our customers regarding durability, availability and performance.

OUR IDEAL PRINCIPAL SOFTWARE ENGINEER WILL HAVE:

  • 15+ years of industry experience designing, building and supporting large scale distributed services.

  • Strong computer science fundamentals including data structures, algorithms, and distributed systems.

  • Excellent understanding of operating systems concepts including. multi-threading, memory management, networking and storage, performance and scale.

  • Fluency in Java or other similar procedural object-oriented language is preferred.

  • Track record of identifying and implementing creative solutions to complex problems.

  • Ability to work effectively across engineering teams in multiple locations

  • BS in Computer Science; Masters or PhD Preferred.

WHY JOIN THE ENGINEERING TEAM AT SNOWFLAKE?

  • Build an industry-leading Cloud Data and AI Platform.

  • Solve challenging technical problems related to security, parallel and distributed systems, programming, resource management, large-scale system maintenance, and more!

  • Work closely with our customers & partners, understand their use cases & needs, think strategically to seek the right problem to solve at the right time, and innovate with rigor. 

  • Join a world-class team of both industry veterans and rising stars.

Every Snowflake employee is expected to follow the company’s confidentiality and security standards for handling sensitive data. Snowflake employees must abide by the company’s data security plan as an essential part of their duties. It is every employee's duty to keep customer information secure and confidential.

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

Redirects to Snowflake's application page.

Other roles

More at Snowflake.

View all 78 roles