Reach out directly about this role
Developer for the YQL Team
Our group is part of Platform Engineering at Yandex. We develop YQL, a SQL-like language for data processing. YQL is the foundation of the YQL service: the entry point for analysts and data transformation processes across all Yandex data storage and processing systems, such as YTsaurus and YDB. YQL enables efficient processing of huge volumes of data, providing a convenient syntax for complex queries, including support for PostgreSQL-compatible constructs. And thanks to integration with Apache Arrow and JIT compilation, YQL significantly speeds up computations. YQL is a key part of the infrastructure that enables data analysis at Yandex.
Our primary language is C++. It is used for the YQL core, including parsing with ANTLR and compilation via LLVM. We use Java to develop the service's REST API and JDBC client, ensuring integration with external systems. We use Python for tests and API client libraries to automate functionality verification.
Working on YQL will require you to understand formal grammars, relational algebra, and graph algorithms, as well as have backend development experience. You will improve the codebase, which is partially open-sourced in the YDB and YTsaurus projects, accelerating computations and enhancing service stability. You don't need to know all the technologies from the start—but the interest in learning them is very important. Join us if you want to work with cutting-edge tools and contribute to big data processing infrastructure.
Development and Support You will improve query parsing and processing, optimize the functional language's virtual machine, including implementing JIT compilation via LLVM to accelerate code execution. The tasks also include integration with Apache Arrow to improve the performance of runtime computations on large data volumes. This is work on the system core, where every optimization directly impacts the service's speed and stability.
You will also develop and support complex algorithms related to relational algebra and graphs, ensuring queries are executed efficiently even under high load. Among the tasks are configuring and improving the YQL backend, developing client libraries and APIs. You will need to analyze performance, identify bottlenecks, and propose solutions to eliminate them. This is an excellent opportunity to dive deep into systems programming and working with big data infrastructure.
Testing and Debugging Write and maintain unit and integration tests for existing and new code, covering key functional blocks with tests (pytest). Diagnose and fix bugs identified during testing and in the production environment. Optimize the testing infrastructure to speed up the testing process and improve product quality.
More about Backend at Yandex — in the channel Yandex for Backend
3 years
Experience
Full-time
Employment
Hybrid, Onsite
Work Format
Middle
Grade
Backend
Specialization
IT & Tech
Industry
Corporation
Company Type
By city
Backend
Specialization
IT & Tech
Industry
Corporation
Company Type