Snowflake is looking to enhance its core query engine and SQL features to support advanced analytics, scripting, developer experience, and AI-powered use cases, aiming to make it seamless for customers to run their database workloads on Snowflake and lead the market opportunity at the intersection of Cloud and Data.
Requirements
- 10+ years of industry experience designing, building and supporting large scale distributed services.
- Significant background in database internals or building core components (query language, query compilation, query execution, storage engines, transaction processing) for large-scale data processing systems (e.g. Hadoop, Spark, Presto, etc.)
- 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 database fundamentals including SQL, performance, and schema design
- Track record of identifying and implementing creative solutions to complex problems.
- Build an industry-leading data management system that customers love
Responsibilities
- Identify and implement novel advancements to Snowflake’s core query language, scripting and timeseries offerings
- Work back from customer and developer needs to build the next-generation query language improvements
- Design, develop and support highly parallel and fault tolerant database system features all the while optimizing for high performance
- Create architecture and design, influence our product roadmap, and take ownership and responsibility over new projects
- Analyze and understand performance and scalability bottlenecks in the system and solve them
- Drive impactful initiatives for the globally distributed infrastructure.
- Pinpoint problems, instrument relevant components as needed, and ultimately implement solutions
Other
- Solve real business needs at large scale by applying your software engineering and analytical problem solving skills.
- Collaborate with product managers, architects, other engineering teams, and business groups, to drive end-to-end solutions.
- Own the end to end delivery of your projects, from identifying a solution, to design, implementation, testing and safe production rollout
- Ensure operational readiness of the services and meet the commitments to our customers regarding durability, availability and performance
- Evangelize best practices in database usage and end-to-end architecture