Senior Software Engineer - e6Data | Scrabble & Jigsaw
Job Description
Position: Senior Software Engineer - Engine Team Key Responsibilities: ● Lead the development, testing, and maintenance of the query optimizer for e6data's data lake query engine. ● Implement advanced optimization techniques, such as cost-based optimization and rule-based optimization, to enhance engine performance. ● Design and build sophisticated capabilities in the optimizer, including the Learning Optimizer, which intelligently detects and generates essential statistics. Leverage past query executions to improve cardinality estimates. ● Fine-tune the optimizer to handle complex queries, such as those involving intricate joins, subqueries, or large datasets, ensuring the engine can support diverse customer workloads efficiently. ● Integrate AI-driven optimization techniques to significantly enhance the efficiency of SQL query execution. ● Mentor junior engineers and contribute to the overall architectural decisions of the engine team. Must-Have Skills: ● Deep Understanding of Database Internals: Requires profound knowledge of how the query optimizer works, including an understanding of various access paths, join algorithms, and join ordering algorithms. ● Theoretical Understanding: A sound theoretical understanding of relational algebra and query rewrites. ● Problem-Solving Abilities: Exceptional ability to troubleshoot and optimize SQL execution plans, particularly in identifying and resolving performance bottlenecks. ● Programming Experience: Proficiency in Java, with extensive experience in building and optimizing large-scale distributed systems. ● Experience with Advanced Frameworks: Experience with Apache Calcite or similar query optimization frameworks; familiarity with AI and machine learning models, especially in the context of database systems