Middle Python Developer with SQL Skills
at Djangojob
Austria, remote, mid, contract, 3+ years
seen 2d ago
- ELK
- ClickHouse
- pytest
- GraphQL
- Kafka
- Prometheus
- Jinja2
- Grafana
- SQL
- RabbitMQ
- REST API
- Git
- asyncio
- Docker
- Pandas
- Pydantic
- MongoDB
- Python
About the role
We are looking for a Python developer to join the Backoffice Reports team behind the Reports section of our back-office. You will own the backend of analytics reports used daily by operation teams (risk management, trading, account management and etc). The stack is async Python on top of ClickHouse. Reports are described as typed Pydantic models plus Jinja-templated ClickHouse SQL, executed through an RPC service over RabbitMQ and exposed to the UI through REST/GraphQL endpoints with OpenAPI-driven dynamic forms.
TECH STACK
* Python 3.13+ (asyncio, Pydantic v2) * SQL * Jinja2 (SQL templating) * GraphQL * REST API * Kafka * RabbitMQ * MongoDB * Docker * Prometheus * Grafana * ELK
#NODJANGO :)
What you would do
* Develop and maintain reports in the Backoffice: filters, grouping, sorting, pagination, totals, drill-down links between reports, CSV exports and chart data * Write and optimize analytical ClickHouse SQL: aggregations over hundreds of millions of bets, multi-level grouping, period breakdowns (day / week / month / year) * Describe reports as typed contracts (Pydantic models for filters and output) in our shared reports library, which the analytics team also uses to tune queries * Work with the RPC layer between the backoffice API and the ClickHouse reporter service (RabbitMQ) * Implement access control for reports: scopes and roles, operator / brand data isolation, hiding fields depending on user role * Investigate slow reports: read query plans, choose the right filters, PREWHERE, pre-aggregation, and work with the analytics/DataFlow team on table design * Cover reports and SQL with tests, keep data correct across backoffice applications * Take part in code review and help evolve the reports framework (new report types, presets, custom segments)
What they are looking for
* 3+ years of commercial development in Python * Confident asyncio: async/await, concurrency, async I/O clients * Pydantic v2 (models, validation, serialization) and type hints * Strong SQL - this is the key requirement: * Complex SELECTs with JOINs, subqueries and CTEs (WITH) * GROUP BY on several dimensions, conditional aggregation (SUM / COUNT with conditions) * Window functions * Understanding of how analytical queries scale and why a query is slow * Experience with a columnar / OLAP database (ClickHouse preferred; Vertica, Exasol, BigQuery, Redshift, Snowflake are a plus) * Experience building REST APIs in an async framework (Sanic, aiohttp, FastAPI, Starlette) * Understanding of message brokers (RabbitMQ and/or Kafka) and RPC over queues * Git, Docker, writing tests with pytest * Ability to understand a business metric (GGR, stake, payout, margin, etc.) and turn it into a correct query
Read from djangojob.com, last seen 1d ago.