Job Information
Snowflake Inc. Senior Software Engineer - Query Compiler in Clyde Hill, Washington
Build the future of data. Join the Snowflake team. We are at the forefront of the data revolution, committed to building the world's greatest data and applications platform. Our 'get it done' culture allows everyone at Snowflake to have an equal opportunity to innovate on new ideas, create work with a lasting impact, and excel in a culture of collaboration. A massive new market opportunity is being created at the intersection of Cloud and Data, and the Snowflake Data Cloud is leading the way, all powered by the database engine we are building from the ground up. The Query Compiler team is the entry point to the Snowflake Query Engine - a cloud-only database for the modern world. Our mission is to deliver user-facing SQL functionality and build a cost-efficient and performant query compiler platform. This includes developing novel state-of-the-art query optimizations and query execution techniques for industry-leading performance. It allows us to bring new applications to Snowflake, ease customer transition from legacy systems, and also improve performance for a wide range of workloads. We're seeking a senior engineer who has experience in the area of query processing and who can help deliver impactful projects in the area of query compilation. You will have an opportunity to work closely with the product team, help shape our roadmap, and become part of a highly talented team. Snowflake is growing fast and we are scaling our team to help enable and accelerate our growth. We're passionate about our people, our customers, our values, and our culture! We are also looking for people with a growth mindset and 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. AS A SENIOR SOFTWARE ENGINEER YOU WILL: Work on the design, development and support of a highly distributed and performant database system with a specific focus on the Query Compiler Design, develop, and support a highly-parallel and fault-tolerant database system comprising 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 Analyze and understand performance and scalability bottlenecks in the system and solve them Design and implement critical high-performance systems to handle the ever growing request rate of our database Own the end to end delivery of your projects, from identifying a solution, to design, implementation, testing and safe production rollout Evangelize best practices in database usage and end-to-end architecture OUR IDEAL SENIOR SOFTWARE ENGINEER WILL HAVE: 8+ years of hands-on software engineering experience Strong database fundamentals and meaningful contributions in the area of database internals. Fluency in object-oriented programming and SQL semantics and optimization Strong CS fundamentals, including proficiency with data structures, algorithms, and distributed systems (Fluency in C++, C, or Java preferred) Expertise in systems fundamentals including multi-threading, concurrency, IO subsystems and scheduling Strong communication, and collaboration skills BONUS POINTS FOR ONE OR MORE OF THE FOLLOWING: Designed and implemented cloud-scale distributed database system internals Led large database projects in the area of SQL parsers and query compilers Query optimizer; heuristic based query rewrites, cost based optimizations, cardinality estimations, plan stability, plan caching, interleaved query optimization based on runtime feedback Designed and implemented SQL language features BS in Computer Science; Masters or PhD Preferred WHY JOIN THE DATABASE ENGINEERING TEAM AT SNOWFLAKE? Building a new enterprise cloud platform is hard, and our engineering team thrives in complex