Middle Python Developer with SQL Skills
New
B
BetbyIGaming analytics
Riga, Riga, Latvia. Tbilisi, Tbilisi, Georgia. Yerevan, Yerevan, Armenia. Novi Sad, Vojvodina, Serbia. Almaty, Almaty Region, Kazakhstan. Warsaw, Masovian Voivodeship, PolandFull-TimeMiddle
Salary not disclosed
Apply NowOpens the employer's application page
Job Details
- Experience
- 3+ years of commercial development in Python
- Required Skills
- DockerPythonSQLKafkaRabbitmqClickhouseRESTful APIs
Requirements
- Have 3+ years of commercial Python development experience.
- Be confident with asyncio, including async/await, concurrency, and asynchronous I/O clients.
- Have experience with Pydantic v2 models, validation, serialization, and type hints.
- Have strong SQL skills, including complex SELECTs with JOINs, subqueries, and CTEs.
- Be able to use multi-dimensional GROUP BY, conditional aggregation, and window functions.
- Understand how analytical queries scale and why queries become slow.
- Have experience with a columnar or OLAP database; ClickHouse is preferred.
- Have experience building REST APIs with an asynchronous framework such as Sanic, aiohttp, FastAPI, or Starlette.
- Understand message brokers such as RabbitMQ or Kafka and RPC over queues.
- Have experience with Git, Docker, and writing tests with pytest.
- Be able to understand business metrics such as GGR, stake, payout, and margin and turn them into correct queries.
Responsibilities
- Develop and maintain Backoffice reports with filters, grouping, sorting, pagination, totals, drill-down links, CSV exports, and chart data.
- Write and optimize analytical ClickHouse SQL, including aggregations, multi-level grouping, and period breakdowns.
- Define reports as typed Pydantic contracts in the shared reports library.
- Work with the RPC layer between the back-office API and the ClickHouse reporter service over RabbitMQ.
- Implement report access controls, including scopes, roles, data isolation, and role-dependent field visibility.
- Investigate slow reports by reading query plans, selecting filters, using PREWHERE and pre-aggregation, and collaborating on table design.
- Test reports and SQL to maintain correct data across back-office applications.
- Participate in code reviews and help evolve the reports framework.
View Full Description & ApplyYou'll be redirected to the employer's site