Introduction .
Your role and responsibilities We are looking for a passionate and motivated engineer to join our team and contribute to the development of Presto, a high-performance open-source distributed SQL engine used for big data analytics. In this role, you'll work closely with experienced engineers to build scalable systems and gain hands-on experience in distributed computing, query processing, and C development. This is a great opportunity for someone eager to grow into a strong systems engineer and contribute to open source communities.
Responsibilities
Assist in implementing and testing new features in the Presto C engine (Prestissimo), focusing on performance, stability, and maintainability.
- Performance and Debugging:
Learn to profile and debug distributed query execution, identify inefficiencies, and propose improvements with guidance from senior engineers.
Support efforts to integrate Presto with modern data storage formats (e.g., Parquet, ORC) and help ensure compatibility across systems.
- Collaboration and Code Review:
Participate in design discussions, code reviews, and pair programming with mentors and teammates.
- Documentation and Learning:
Document your work, contribute to internal knowledge bases, and build your understanding of distributed systems, query engines, and big data frameworks.
What You'll Gain
- Mentorship from experienced developers who are active in the Presto and open-source communities.
- Practical experience in building high-performance distributed systems.
- A launchpad into the world of big data, with exposure to tools and architectures used at scale.
- A collaborative culture that values learning, growth, and impact.
Required technical and professional expertise Minimum Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field. Master's preferred.
- Solid programming skills in C , and a basic understanding of memory management and performance principles.
- Familiarity with data structures, algorithms, and operating system fundamentals.
- Interest in distributed systems and backend infrastructure (coursework or projects a plus).
- Strong analytical and communication skills.
- Eagerness to learn open-source tools and contribute to collaborative development.
Preferred technical and professional experience Preferred (Not Required) Qualifications
- Exposure to Java or Scala.
- Familiarity with SQL or experience working with data (e.g., via coursework or internships).
- Understanding of common data formats like Parquet, ORC.
- Participation in open-source projects, hackathons, or research in distributed systems.
IBM is committed to creating a diverse environment and is proud to be an equal-opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, gender, gender identity or expression, sexual orientation, national origin, caste, genetics, pregnancy, disability, neurodivergence, age, veteran status, or other characteristics. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.