Snowflake started with a clear vision: develop a cloud data platform that is effective, affordable, and accessible to all data users. Snowflake developed an innovative new product with a 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. We are now a global, world-class organization with offices in more than a dozen countries and serving many more.
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 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.