Senior Software Engineer - Query Processing

San Mateo, CA
About Snowflake

Snowflake is growing fast and we’re scaling our team to help enable and accelerate our growth. We’re passionate about our people, our customers, our values and our culture! We’re also looking for people with a growth mindset and the pragmatic insight to solve for today while building for the future. And as a Snowflake employee, you will be accountable for supporting and enabling diversity and belonging.

Snowflake started with a clear vision: make modern data warehousing effective, affordable, and accessible to all data users. Because traditional on-premises and cloud solutions struggle with this, Snowflake developed an innovative product with a new built-for-the-cloud architecture that combines the power of data warehousing, the flexibility of big data platforms, and the elasticity of the cloud at a fraction of the cost of traditional solutions.

In addition, Snowflake’s culture was built on the following values that are even more important to us today:

Put Customers First. We only succeed when our customers succeed
Integrity Always. Be open, honest, and respectful
Think Big. Be ambitious and have big goals
Be Excellent. Quality and excellence count in everything we do
Get It Done. Results matter!
Own It
Make Each Other the Best
Embrace each others Differences

We’re hiring talented Software Engineers who can be part of the team which builds the core query optimization and distributed query and data processing engine which is at the heart of the Snowflake product. This role is a unique opportunity to make a significant impact to our elastic, large scale, high-performance computing environment.

As a Query Processing Engineer at Snowflake you will:

    • Identify and implement novel query optimization or distributed data processing algorithms which allow Snowflake to provide industry leading data warehousing capabilities.
    • Analyze and understand performance and scalability bottlenecks in the system and solve them.
    • Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions.
    • Design, Develop, and Support a highly-parallel and fault-tolerant database system comprised of many technologies.
    • Deal with issues from logical representation of the execution plan to efficient resource management, all the way down to highly specialized vectorized execution.
    • Evaluate and determine priorities with a critical understanding of where performance matters and where performance is irrelevant.

Our ideal Query Processing Engineer will have:

    • 5+ years hands-on software engineering experience.
    • Background in database internals or building core components for large scale data processing systems (i.e. Hadoop, Spark)  especially query execution/processing, and/or optimization.
    • Strong database fundamentals including SQL, performance, multi-threading, and schema design.
    • 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 using big data storage technologies and their applications (HDFS, Cassandra, Columnar Databases, etc.)
    • Track record of identifying and implementing creative solutions.
    • Track record working with data from multiple sources.
    • BS in Computer Science; Masters or PhD Preferred.

Why join the engineering team at Snowflake? Building new enterprise technologies is complex, and our engineering team surmounts the obstacles. As a member of our team, you will:

    • Build an industry-leading data management system that customers love.
    • Solve challenging technical problems related to security, parallel and distributed systems, programming, resource management, large-scale system maintenance, and more!
    • Learn about and contribute to:
    • Super-robust and secure enterprise SaaS platform that services hundreds of customers and millions of complex queries daily.
    • Highly-scalable and reliable data processing platform that runs on hundreds and thousands of machines.
    • User interfaces bridging the enterprise world with the consumer experience.
    • Join a world-class team of both industry veterans and rising stars.

Snowflake is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, color, gender identity or expression, marital status, national origin, disability, protected veteran status, race, religion, pregnancy, sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.