Build the future of the AI Data Cloud. Join the Snowflake team.
In this role at Snowflake you will build new database technology from the ground up. Our future goal is for customers to use our service for all of their database workload needs, as easily as they use the Snowflake data warehouse today. Join us to design and build the next generation database systems technology that will power Snowflake's ground-breaking Data Cloud!
To make the data cloud a reality our team is working on expanding the addressable database workloads of the Snowflake platform. Our long-term vision is to enable our customers to use Snowflake for any database workload with predictable performance and high efficiency. We are looking for a Principal Engineer to provide technical leadership to our world class team and in this role is a unique opportunity to make a significant impact on our elastic, large scale, high-performance computing environment. Be part of the vision to create the best data platform.
AS A PRINCIPAL ENGINEER AT SNOWFLAKE, YOU WILL:
Maintain technical ownership and ensure concise collaboration with the technical leadership of other major parts of Snowflake
Set the technical direction for the team and help guide the engineering vision
Architect critical systems and anticipate strategic challenges and opportunities in key areas such as query processing, transaction management or distributed data processing algorithms
Design, develop, and support highly-parallel and fault-tolerant database systems
Own the production rollout of the features of your area while at the same time leveraging and growing other strong engineering talent in your team
Evaluate and determine priorities with a critical understanding of where performance matters most
Analyze and understand performance and scalability bottlenecks in the system and solve them
Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions
Represent your area to Snowflake’s customers as a technical expert
Influence the industry by participating in conferences and technical forums
OUR IDEAL CANDIDATE WILL HAVE:
10+ years hands-on software engineering experience in distributed stateful systems, databases or other relevant fields
Significant background in database internals or building core components for data processing systems (query compilation, query execution, storage engines, transaction processing, autonomous tuning and workload optimization)
Strong database fundamentals including SQL, performance and schema design
Strong systems fundamentals including multi-threading, IO subsystem and scheduling
Strong CS fundamentals including data structures, algorithms, and distributed systems
Systems programming skills including multi-threading, concurrency, etc. Fluency in C++, C, or Java preferred
Experience with one or more of the following a plus:
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.
Advanced Analytics systems (e.g. Time-Series, Complex Event Processing, Forecasting, etc.)
Distributed systems experience (Consensus protocols, Replication)
Track record of identifying problems, solutions and delivering highly complex projects in distributed systems or databases
BS in Computer Science; Masters or PhD Preferred
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?