SQL Compiler Engineer
San Jose, CA
Xcalar is pushing the limits of technology to help people discover meaningful insights from modern data. Our mission is to be the industry standard for next generation big data processing and analytics engines. We are looking to hire several SQL Compiler Engineers to join us.
As a SQL Compiler Engineer, you will be a crucial member of our engineering team, developing software that extends Xcalar’s instruction set architecture into complex SQL operators using modern languages. Xcalar’s engineering team is responsible for developing a cutting edge product that will transform how big data is parsed, processed, and visualized in the financial services industry, government institutions, and high-tech enterprises.
*Principals only, no recruiters please*
- Architect, design, and develop SQL operators on top of Xcalar’s instruction set architecture that provides a SQL interface to our distributed database microkernel.
- Participate in all phases of the product development lifecycle, including system testing and performance assessment.
- Deliver the highest levels of robustness, performance, modularity, and simplicity in a distributed, multi-threaded environment.
- Work with engineering leadership to ensure the design and development are on track and meet our product goals and quality metrics.
- Create clear and concise documentation for all the work performed, including architecture and design documents, code comments, technical notes, internal application notes, bug fixes, and root cause analysis.
- Work with the automation team and help with issue triage and resolution as needed during the product development process.
Desired Skills and Experience
- BS/MS in Computer Science.
- 5+ years of experience in designing and implementing various parts of the compiler pipeline.
- Strong understanding of programming languages and compilers, especially with internal representation, frontend and backend optimizations, and code generation.
- Experience developing core database systems software with expertise in at least one of these areas: Query optimization, distributed transactions, data access methods, recovery and high availability, cache hierarchies.
- Understanding of how programming languages are designed and implemented.
- Ability to develop parallel algorithms that can benefit from today's CPU architectures.
- Excellent communication skills and experience working in high-performance teams.