In Short_
Backend engineer with a bias toward systems that actually hold under load.
Started as a frontend dev, moved to backend, grew into a Tech Lead —
and stayed close to the metal the whole way.
I build things end-to-end: from architecture decisions and greenfield
systems to infrastructure and monitoring. My stack centers around Go,
but I think in abstractions first and language second.
Currently leading development of a performance marketing platform —
own MMP, API Gateway, and traffic distribution system.
I care about clean architecture, observable systems, and writing code that the
next engineer won't curse at.
🖨️ cv.pdf_
Experience 4 years, 7 months, 17 days_
NDA Performance Marketing Agency (office_)
Tech Lead (mobile measurement platform_)
2025.9 - now
Problems and Solutions:
Joined the company with an existing MMP (Mobile Measurement Platform)
in a raw, barely functional state. Rather than patching it endlessly, I made the call to
rewrite it from scratch — and delivered a system that was not only stable
but significantly more flexible. The key improvement was a redesigned engine for
click path routing, which allows configuring complex multi-step
attribution flows with fine-grained control over each transition point.
Alongside the MMP, I designed and built a new product from the ground up —
an internal API Gateway that became the core of the entire platform architecture.
It is responsible for authentication, authorization, and user management,
and exposes a modular interface that allows other internal products to plug in without
tight coupling. Think of it as the backbone that makes the whole system composable.
Also developed a proprietary traffic distribution system — a fully
custom analog of Keitaro, but tailored to our specific workflows.
Improved upon the original concept by addressing limitations that were causing friction
in campaign management and reporting.
On the infrastructure side, I set up the server infrastructure from scratch
and implemented full observability via Grafana + Prometheus —
covering service metrics, alerting, and dashboards across all products.
Used languages, technologies, and tools: Golang,
PostgreSQL, Redis, Docker, Grafana, Prometheus, Nginx etc.
Wildberries (remote_)
Back End developer (foreign_integrations_)
2023.10 - 2025.9
Problems and Solutions:
Worked across multiple high-load domains — order creation pipeline
and repackaging system — at the scale Wildberries operates
during peak traffic. Formally part of the foreign integrations team, but
regularly pulled into the core order infrastructure.
Designed and implemented an in-memory caching layer for the order
creation system — covering both domestic and international offices.
Owned the full architecture: what to cache, TTL strategy, and invalidation logic.
Chose in-memory over Redis deliberately to eliminate network round-trips
and keep latency minimal at the point of order creation.
Feature-led the returns-from-repackaging-table flow —
sole backend engineer on the feature. Independently identified and aligned
with the responsible frontend and mobile developers, then coordinated
cross-department integrations with adjacent teams to wire up the full flow.
Owned the feature end-to-end from backend architecture to cross-team delivery.
Also took on mentorship of trainee developers —
owned their code review process and engineering standards.
Several of those interns are now full engineers in the company.
Used languages, technologies, and tools: Golang,
gin, internal platform, NATS, traefik, Postgres, Docker, Tarantool etc.
Startup developing (remote_)
Back End Engineer
2022.2 - 2023.10
Problems and Solutions:
Built the authentication system from scratch using JWT —
wrote custom middleware with full control over token structure and prefixes,
rather than delegating it to a library and losing visibility over the internals.
Made the initial call to use MongoDB for the data model — single
primary entity, low volume, flexible schema. Hit a consistency issue with struct
embedding mid-development, diagnosed it, and resolved it cleanly using
the `bson:",inline"` directive.
Needed image hosting with zero infrastructure budget. Evaluated options and chose
Cloudinary — solid API, generous free tier for early stage.
Transmitted images as base64 for clean JSON transport.
Used languages, technologies, and tools: Golang,
gin, echo, Cloudinary, MongoDB, Postgres, Docker, JWT etc.
PrimeGate (remote_)
Front End Engineer
2021.8 - 2023.5
Problems and Solutions:
When I first joined, I was assigned to a new project to create a
mobile application for a CRM system. The design
was quite complex due to the fact that we were creating the app
for multiple platforms, including iPad. One of
the challenges we faced was the large amount of data that needed
to be passed between screens. After reviewing the available
options, I decided to prioritize Redux over
Mobx, as it allowed data to be manipulated more
strictly, helping to avoid accidental changes in the future.
The layout had 23 screens with low component reusability due to design constraints.
Solved it with compound components — built skeleton structures that could be
composed via `children` rather than duplicated.
Selection fields varied in type — date-based vs value-based — but needed identical UI.
Built two components with the same interface but different internals.
The date variant required extra work: existing libraries had platform inconsistencies,
so ended up using different implementations per platform under a unified API.
Used languages, technologies, and tools: React,
React Native, Figma, Redux, react-router-dom, etc.