Identify and implement novel ideas on indexing methods, index maintenance, index selection, and query optimization techniques 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 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.
Evaluate and determine priorities with a critical understanding of where performance matters and where performance is irrelevant.
OUR IDEAL SOFTWARE ENGINEER WILL HAVE:
2+ years of hands-on software engineering experience.
Background in database internals or building core engine components for large scale data processing systems or information retrieval systems / search engines (e.g. Lucene, Solr).
Strong database fundamentals including SQL, performance, and multi-threading.
Strong CS fundamentals including data structures, algorithms, and distributed systems.
Systems programming skills including multi-threading, concurrency, etc. Fluency in C++ and/or Java.
BSc in Computer Science or a related field; Master's or PhD preferred.