Principal Engineer - Database Internals

See more jobs from Snowflake Inc.

about 3 years old

Apply Now

Build the future of data. 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.