Denys Shtoma · Tech Lead · Backend Consultant

Backend systems that
hold up in production.

I lead engineering teams and design backend architectures in Python and Go — payment platforms, high-load APIs, and the databases underneath them. Available for consulting engagements and open to interesting projects.

Projects delivered
0+
Payment integrations
0+
Daily requests served
0M+
adr-0042.md Accepted

# ADR-0042: Payment cascade routing

Context: single-provider routing fails during provider outages; conversion drops on declined transactions.

Decision: weighted cascade across providers — automatic retry, idempotent callbacks, per-currency fee rules.

Consequences: higher acceptance rate, no manual retries, fully auditable flow.

A tech lead who still
reads the execution plans.

Based in Kyiv, working remotely with teams worldwide. I've grown from hands-on backend engineering into technical leadership — and I'm building toward the architect role deliberately: ADRs, system design reviews, and owning decisions end to end, not just writing code that works.

My approach: understand the business problem first, then engineer the simplest architecture that solves it. No over-engineering, no hype-driven development. I stay close to the details that decide whether a system survives — query plans, failure modes, migration strategies — while keeping the team shipping.

Architecture-first

Hexagonal architecture, DDD, event-driven systems. Decisions written down as ADRs, not tribal knowledge.

Team leadership

Mentoring engineers through code review, pair programming, and design sessions. Coverage gates and review culture that stick.

Database depth

PostgreSQL performance is a specialty: execution plans, indexing, partitioning, zero-downtime migrations on hot tables.

Security-aware

PCI-relevant flows, HMAC-signed webhooks, card-data masking, 3DS. Payments taught me to treat security as a requirement, not a feature.

Systems I've built and led

A cross-section of production work — described by the problems solved, not the job titles held.

Payment processing platform

Own the provider-integration layer of a payin/payout platform connected to 170+ payment providers: webhook processing with HMAC verification, 3DS flows, cascade routing across providers, and multi-currency fee calculation with correct minor-unit handling.

  • Python
  • gRPC
  • NATS
  • ClickHouse
  • PCI-aware

Database performance engineering

Diagnosed and removed PostgreSQL bottlenecks on hot transaction tables: execution-plan analysis, composite and partial indexes, range partitioning, and zero-downtime online migrations — cutting worst-case latency from seconds to tens of milliseconds.

  • PostgreSQL
  • EXPLAIN ANALYZE
  • Partitioning
  • PgBouncer

Real-time data platform

Built Go and Python microservices for real-time ingestion and processing — concurrent pipelines handling 10K+ requests per second with backpressure, graceful shutdown, and versioned APIs that let clients migrate without breaking.

  • Go
  • gRPC
  • Kubernetes
  • asyncio

Enterprise API platforms

Developed and scaled REST APIs serving 5M+ daily requests for enterprise clients: Kafka-based data pipelines, Elasticsearch full-text search across microservices, and Redis caching strategies that cut response times by 40%.

  • Django
  • FastAPI
  • Kafka
  • Elasticsearch
  • Redis

Cloud-native & serverless systems

Delivered event-driven, serverless backends on AWS — Lambda services, Kafka and RabbitMQ pipelines, containerized deployments — designed for scalability with infrastructure cost kept under control.

  • AWS Lambda
  • Kafka
  • RabbitMQ
  • Docker

Internal platform consolidation

Consolidated scattered legacy workflows into a unified internal platform: Django services with server-rendered UI, asynchronous Celery pipelines with idempotent task handling — cutting time-to-ship for internal tools by ~40%.

  • Django
  • Celery
  • RabbitMQ
  • CI/CD

How I can help

Consulting engagements first — audits, architecture, leadership. And when a project is genuinely interesting, I build.

Architecture & technical consulting

Architecture audits, system design, and technology selection. A second opinion before a costly decision — or a written ADR trail after it.

  • Architecture Audit
  • System Design
  • ADR / LLD
  • Tech Strategy

Backend development

High-load APIs, microservices, and payment integrations in Python and Go. REST, gRPC, and event-driven systems built for scale and reliability.

  • REST / gRPC
  • Microservices
  • Payments
  • Event-Driven

Database performance

PostgreSQL tuning as a dedicated engagement: slow-query diagnosis, indexing and partitioning strategy, and zero-downtime migrations on live systems.

  • Query Optimization
  • Indexing Strategy
  • Online Migrations
  • Replication

Team leadership & mentoring

Fractional tech lead for teams that need senior direction: review culture, delivery process, mentoring, and engineering standards that outlast me.

  • Fractional Tech Lead
  • Code Review
  • Mentoring
  • Process Design

How an engagement runs

01

Discovery

Understanding your goals, constraints, and existing infrastructure.

02

Architecture

Designing the solution, choosing the stack, writing the decisions down.

03

Delivery

Building iteratively with regular demos, reviews, and feedback loops.

04

Handoff

Deployment, documentation, knowledge transfer, and ongoing support.

Tools chosen for the problem

Languages

Python Go SQL TypeScript JavaScript C# C++

Backend

Django / DRF FastAPI Celery SQLAlchemy Gin gRPC asyncio

Data & Messaging

PostgreSQL Redis ClickHouse MongoDB Elasticsearch Kafka RabbitMQ NATS

Infrastructure & Observability

Docker Kubernetes AWS Terraform GitHub Actions Nginx Prometheus Grafana

Let's talk about your system

An architecture review, a performance problem, a backend built from scratch, or a second opinion before a big decision — describe it in a few sentences and I'll reply within one business day.