Senior Software Engineer, Presto Optimizer
IBM
A career in IBM Software means you’ll be part of a team that transforms our customers challenges into solutions.
We are seeking a skilled back-end developer to join our IBM Software team. As part of our team, you will be responsible for developing and maintaining high-quality software products, working with a variety of technologies and programming languages
Your Role and Responsibilities
Key responsibilities:
- Collaborate closely with the engineering team to design, develop, and maintain the Presto query optimizer.
- Implement and enhance query optimization techniques, cost-based query planning, and rule-based optimizations within the Presto optimizer.
- Analyze query execution plans, identify bottlenecks, and propose solutions to improve query performance.
- Contribute to the development of features related to query optimization and provide solutions to complex SQL queries.
- Participate in code reviews, testing, and debugging to ensure the reliability and efficiency of the query optimizer.
- Keep abreast of the latest trends and advancements in query optimization, distributed systems, and database technologies.
- Collaborate on documentation, knowledge sharing, and mentoring team members on query optimization best practices.
Required Technical and Professional Expertise
- Strong programming skills in Java, C++, or other relevant languages for query optimization.
- In-depth knowledge of query optimization techniques, query planning, and the internals of database systems.
- Strong problem-solving skills and a passion for optimizing complex systems.
Preferred Technical and Professional Expertise
- Proficiency with Presto or similar distributed query engines is a strong plus.
- Previous experience in query optimization, database query processing, and query rewriting is highly advantageous.
- Familiarity with performance analysis and profiling tools for query optimization.
- Excellent communication and teamwork skills.