System
Domain, lifecycle, integrations, data and ownership boundaries.
Vladimir Sinyavsky / Engineering Lead / Software Architect
For 12 years, I have designed and modernized backend systems on .NET. My work spans payment flows, distributed integrations and legacy systems that must keep running while they change.
I combine architecture, hands-on engineering and technical leadership. I study the domain, draw system boundaries, make decisions explicit and carry them through to production.
Lead AI-native Engineer at Alfa-Leasing since October 2025
12 years in backend engineering
More than 5 years of technical and team leadership
Domain, lifecycle, integrations, data and ownership boundaries.
A reliable path to production, observability, quality gates and safe legacy evolution.
Distributed technical decisions, growing leaders and shared engineering context.
Early in my career, good engineering meant writing high-quality code quickly.
Then the products grew. New teams, integrations and requirements arrived, and every change touched more parts of the system.
Architecture became a daily practice. It lets me see how today's decisions affect the releases that follow.
I now focus on systems that must keep evolving years after their first release.
Where are the real domain boundaries, and why do the same words mean different things to different people?
I consider technical constraints together with product and organizational constraints.
A model must support decisions. Describing the current code is not enough.
Component and team responsibilities must remain clear as the system grows.
I understand the problem and its constraints first, then choose the technology.
Production reveals how a decision behaves under load, across real integrations and with user feedback.
New facts change the architecture. That is part of its lifecycle.
Design a product system, establish its technical foundation and take the MVP to production.
Evolve a running system incrementally while preserving business processes and compatibility.
Distribute technical decisions among engineers while keeping the system understandable to the team.
Test AI-assisted approaches in production work and keep the practices that create verifiable value for engineers.
Dots from left to right: Payments, Travel, EdTech / Legacy, AI-native.
Selected problem
payment lifecycles
Related casesearch, reservation and supplier booking
Related caseeducation models
Related caseThis problem was secondary in this domain.
Selected problem
banks and payment gateways
Related caseGDS and external suppliers
Related caselegacy APIs
Related caseLLM providers and internal tools
Related caseSelected problem
callbacks, retries and reconciliation
Related casesearch, booking and status changes
Related caseThis problem was secondary in this domain.
long-running AI agent processes
Related caseSelected problem
legacy billing
Related caserunning travel services
Related caseRails to .NET
Related caseThis problem was secondary in this domain.
Selected problem
money movement
Related casebusiness-critical booking flow
Related caselegacy behavior reconciliation
Related caseverification of AI agent actions
Related caseSelected problem
internal service framework and CI
Related casedomain language and product collaboration
Related caseteams and continuity
Related caseinstructions for AI agents in backend teams
Related case21 of 24 intersections are backed by specific projects. In the remaining three, this problem was secondary to the domain.
Evolution without downtime appeared in legacy billing, running travel services and the incremental replacement of Rails with .NET.
CASE-001
At CloudPayments, I owned alternative payment methods across 10+ services, part of the legacy billing estate and 9 external payment gateways. The platform supported 12 payment scenarios at about 1.2k RPM. I owned architecture, production delivery, reliability, monitoring and incident response.
Business objective. CloudPayments needed to expand bank-based payment methods, from SBP and Russian bank products to international flows and Mexico's STP/SPEI network.
Context and risk. A payment lifecycle connected money movement, asynchronous states, callbacks, retries, idempotency and reconciliation across 10+ services and 9 gateways.
Solution. I designed and implemented the core REST API from scratch as a modular monolith. Shared payment lifecycle rules lived in one place while services retained ownership of their flows and integrations.
Outcome. The first MVP reached production in 3.5 months. The platform grew to 12 payment scenarios and 9 external payment gateways. After the team reached 11 people, I remained responsible for the stack, architecture, releases, reliability, monitoring and incidents.
Other payment systems. At QPay, four separate high-load microservices handled 800-1000 RPM. At PayMaster, I personally implemented four of the five provider integrations. A merchant could create and embed a payment widget in 15 minutes, compared with 4-8 hours previously spent by a hired developer.
Engineering foundation. I later created a backend framework for shared service infrastructure and standardized CI/CD, secrets handling and architecture documentation. Starting a new service went from two days to four hours.
9 gateways external payment integrations
12 scenarios on the platform
CASE-002
In travel systems, a simple search and booking flow becomes an aggregation of multiple GDS providers with separate booking, payment and settlement lifecycles.
Context. RuTrip handled about 300 RPS. The product had 40 filters, 4 booking scenarios, 3 payment methods and 2 settlement models with GDS providers.
What I did. I worked on aggregated search and booking, a Customer Journey Map and a shared domain language with product. We gradually moved the architecture toward vertical slices.
Outcome. Search latency fell from 20-30 to 6-8 seconds. Later, in business travel, I worked with external GDS providers and critical corporate systems used by more than 300 employees.
CASE-003
A platform serving 20,000 active users depended on an unstable Rails API. The product had to keep running throughout the migration.
Context. The running product depended on an unstable Ruby on Rails API, and client applications needed a seamless path to the replacement.
What I did. I built a team of four backend engineers. We replaced routes incrementally with the Strangler Fig pattern while migrating data in parallel.
Outcome. Client applications moved to the new API without interruption. We released it in slices, met a tight deadline and kept the product available.
Recorded authorship. Rospatent registrations list me as a co-author of software created during my engineering work.
CASE-004
At FIN-RA, an investment EdTech product, the engineering organization grew from 5 to 15 people and split into two teams.
Context. The group grew from 5 to 15 people and split into two teams. The next constraint was the concentration of technical decisions in one lead.
What I did. I worked on hiring, one-to-ones, individual development plans and delegation. The teams adopted DDD, Event Storming, peer review, testing and DevOps practices.
Outcome. Three engineers grew into team leads. Each team gained its own area of technical ownership.
CASE-005
I test AI agent instructions and AI-assisted delivery practices in real engineering work. The approach continues to evolve.
Context. The goal was to accelerate complex integration work and legacy modernization while keeping engineering decisions accountable and reviewable.
What I did. I created more than 20 versioned instructions for AI agents, established their delivery process, introduced them to backend teams and trained colleagues.
Outcome. I built an omnichannel call-center MVP in four months. In another project, I migrated a PHP legacy system to .NET / React in five weeks with AI-assisted engineering practices.
Open project
OSS-001
An open project that shows domain modeling, architecture decisions and code organization. The Flights M1 backend is ready: a modular monolith with DDD, air-content provider integrations, resilience, observability and a separate AI service.
Next stages: Hotels, Rail, Trip Planning and the core AI service.
Open repositoryGood architecture matters more in a product's fifth year than in its first release.
The hardest problems often start with different understandings of the domain.
Teams and engineering processes also need to be designed.
AI changes how strong engineers work. Accountability for decisions stays with people.
Early in my career, I looked for honest accounts of real projects: what people built, where they went wrong, why they chose a solution and what it cost them later.
Now I collect and publish those stories myself.
Long-form analysis of decisions, constraints and the cost of change.
PracticeDDD, distributed systems, legacy and engineering work with AI.
ResearchHow the order of decisions changes system structure and cost.
On Telegram: notes from engineering practice, article follow-ups and experiments with AI in senior and lead engineering work.
I update this page as my projects and engineering experience evolve.