RU · EN

Evgenii Uvarov

Senior Backend Developer · Python

Saint Petersburg, Russia · remote, hybrid or on-site · open to relocation

Backend developer with 10+ years of commercial Python development, the last four in payments and fintech. I usually own a service from the first commit through production and beyond: API contract, code, deployment, monitoring, incident response.

I care about the boring things: idempotent migrations, integrations that don't break, logs and traces you can actually debug with, and deployments with zero impact on users.

Experience

Life Pay / Fortis · Jul 2022 — present

Backend Developer · fintech for small and medium businesses in Russia: acquiring, Faster Payments (SBP), online cash registers

Fortis (MENA): merchant self-service · 2024 — present

  • Self-service onboarding. A web portal where merchants register on their own, with registration steps orchestrated in Temporal. Wrote a substantial part of the workflows, with compensations and idempotent retries, and built a workflow registry page listing each workflow with its input and output JSON schemas.
  • Authentication. Customized Keycloak: sign-in via token exchange, magic links, OTP and Sign in with Google, multi-layer brute-force protection. Built a Keycloak adapter service on FastAPI, and added API-key authorization for the Public API.
  • Pricing and subscriptions. Worked on the pricing and subscriptions platform from the first AWS build to production in 2025; in 2026, built billing and add-ons. Designed and built a tariff/entitlements gateway for POS terminals from scratch, and validated it in shadow mode on live traffic: request mirroring, diffing against the BFF in Prometheus and Grafana, chaos testing for failure handling.
  • Files and KYC. Built a file service from scratch and shipped it to production in 5 months: S3 storage, on-the-fly image resizing and transformations, background generation of variants, HEIC, WebP and PDF. Designed the KYC data model and built a document upload service.
  • Merchant portal. Built a dashboard service for the merchant portal and a Zendesk ticket-enrichment service from scratch.
  • HubSpot. Built merchant onboarding from a CRM deal and export of AI assistant and merchant portal usage metrics to HubSpot. For payment links from deals, extended the MyFatoorah adapter to support multiple accounts isolated by domain.
  • Engineering foundations. With the team, rolled out linters, pre-commit, CODEOWNERS and SonarQube across roughly 15 projects, end-to-end tracing including Temporal workers, Sentry environments and Prometheus metrics for on-call. Built an Ansible-based Vault secrets configurator for disaster recovery. Wrote OpenAPI specs for some services, and covered API-first services with contract tests using Schemathesis.

AI in development · 2025 — present

  • Built the Telegram interface for the merchant AI assistant (OIDC via Keycloak, Redis sessions, SSE streaming) and the data layer behind the LLM tool: it picks the data source and returns data in a single format. When the assistant moved to a separate perimeter with different data-residency requirements, connected new BFFs and adapted the infrastructure.
  • Evaluated AI-based MR review using a test MR seeded with intentional bugs: compared qodo, kodus and my own prototype on local models. The paid agents missed bugs and gave inconsistent results across runs, so I proposed combining static analysis with parallel review of diff chunks.
  • About a year of daily development with Claude Code, Cursor before that. Moved my setup to a provider-agnostic source: rules, skills, MCP and permissions live in one place (AGENTS.md), from which a tested generator builds configs for Claude Code and opencode. Measured token usage across 17 sessions and restructured my workflow around it: reading code in subagents, handoff hooks between sessions, and my own usage tracking.

Life Pay (Russia): online acquiring · 2022 — 2025

  • For about 2.5 years, owned the payment links system and the SBP (Faster Payments System) Telegram bot as the original author: API v1 and v2, a client library, multi-tenancy, admin panel, metrics, support, and the track's quarterly roadmap.
  • Built a service from scratch that relays card transactions into a unified merchant portal via Kafka: from message schemas to production, including a DLQ.
  • Planned and ran the back-office migration from Python 2 and PHP to Python 3 and a current Django version, including moving database migrations from raw SQL to Alembic and then to Django migrations.
  • In the payment gateway service, implemented the Yandex Split (BNPL) integration and, as groundwork for the MENA launch, the first MyFatoorah integration: refunds, webhook signature verification, multi-currency support, recurring payments.
  • In the payment core, built two-stage payment handling (hold, confirm, void) and blocked repeat payment of an already-paid order; in the back office, built transaction status checks and status alignment on reconciliation mismatches.
  • Diagnosed and fixed: 3DS flow hangs, false payment notifications, and duplicate orders caused by messenger link-preview bots.

Team and process

  • Conducted technical interviews for hiring.
  • Periodically took over part of my manager's duties: sprint planning, releases, running projects.

Stack: Python, FastAPI, Flask, Django, SQLAlchemy, Temporal, Keycloak, PostgreSQL, Redis, Kafka, S3, Kubernetes (EKS), GitLab CI, Vault, OpenTelemetry, Sentry, Prometheus, Grafana

EPAM Systems · Jan 2021 — Jun 2022 (1 yr 6 mo)

Senior Software Engineer · Saint Petersburg

  • Built and launched a search and metadata portal for a client from scratch: REST API on Django and FastAPI, search on Elasticsearch.
  • Built microservices on AWS (ECS, Lambda, SQS, S3) and ETL pipelines on AWS Glue and PySpark.
  • Owned the backend side of every feature on the project.
  • Introduced unit testing and code style checks (pytest, flake8) on the team, and sped up builds and deployment. Infrastructure on Terraform.
  • Mentored and trained interns and junior developers.

Stack: Python, Django, FastAPI, SQLAlchemy, PySpark, PostgreSQL, Elasticsearch, AWS (ECS, Lambda, SQS, S3, Glue, Athena), Terraform

JetBrains · Jun 2019 — Dec 2020 (1 yr 7 mo)

Backend Developer · Saint Petersburg

  • Maintained the backend of jetbrains.com and its satellite sites on Django and Jinja: refactoring, unit tests.
  • Migrated form-submission handling to an asynchronous AWS pipeline (SQS, S3, Lambda) written in Kotlin.
  • Owned infrastructure and CI/CD: Terraform, TeamCity.
  • Ran load testing of the site's backend in Apache JMeter.
  • Reworked the Zendesk and Marketo integrations, and helped with the Crowdin integration: file merging, exporting and importing translations.

Stack: Python, Django, Jinja, Kotlin, JavaScript, AWS, Terraform, TeamCity

RAWG.io · Aug 2018 — May 2019 (10 mo)

Backend Developer · remote · a video game recommendation service, the "IMDb for games"

  • Built the backend for user-generated content and the recommendation system, based on user-based collaborative filtering: Django, PostgreSQL, Redis.
  • Search and filters on Elasticsearch and PostgreSQL full-text search, plus a real-time top-100 ranking.

Stack: Python, DRF, PostgreSQL, Celery, Elasticsearch, RabbitMQ, Docker

GOST-group · Jun 2016 — Aug 2018 (2 yr 3 mo)

Python Developer · Moscow

  • Developed web applications on Django and Tornado: forms and data analytics, an admin panel for geodata processing.
  • Wrote a Go service for parsing binary data coming from field equipment.

Stack: Python, Django, Tornado, Go, PostgreSQL, Redis, Celery

Skills

Languages
Python, SQL; some Go and Kotlin
Backend
FastAPI, Django / DRF, Flask, SQLAlchemy + Alembic, pydantic, Celery, Temporal
Payments
online acquiring, Faster Payments (SBP), 3-D Secure, two-stage payments, refunds and recurring payments, BNPL, signed webhooks, transaction status reconciliation, idempotency
Data
PostgreSQL, Redis, Kafka, Elasticsearch, S3
Auth
Keycloak, OIDC, JWT, OTP
Infrastructure
Kubernetes, Docker, GitLab CI, Terraform, Vault, AWS
Observability
OpenTelemetry, Sentry, Prometheus, Grafana
Testing
pytest, Schemathesis, SonarQube
AI-assisted development
Claude Code, MCP, subagents, opencode, local models (Ollama)

Education

Academy of Social Management, Moscow, 2006 — 2011
Public Administration

Languages

Russian — native
English — B2