Principal Software Engineer - Unistore Query Processing

See more jobs from Snowflake Inc.

6 months old

Apply Now

Build the future of data. Join the Snowflake team.

Snowflake is built on the belief that any data silo is one too many. For far too long, organizations have used two separate systems to handle transactional and analytical workloads. With Unistore, Snowflake delivers one system, one product, and one experience for both transactional and analytical data needs. This provides one place to get more value from your data while also benefiting from the many features of Snowflake, including unified data governance and security.

We are looking for an experienced Principal Software Engineer to drive strategic initiatives and shape the future of Unistore. We are solving some unique technical challenges related to hybrid query processing and we are at the beginning of the journey with a ton of opportunities to make a great impact. 


  • 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


  • 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.