Illia Kotvitskyi

Backend .NET Engineer · Sweden

Mid-level Backend Software Engineer at EPAM, working on high-load FinTech services with C#, ASP.NET Core, event-driven systems, and production reliability.

Authorized to work in SwedenOpen to Mid-level Backend .NET roles in Sweden and DenmarkAvailable autumn 2026

Illia Kotvitskyi — .NET software engineer

Proof of impact

$200K
annual client contract protected. I proved a disputed SAP integration failure was a system fault, not client error, within 48 hours.
Sub-second
response times restored to a production .NET authentication service that had been failing under peak load.
Adopted
by other teams on the platform: my event-driven retry design, after it removed a recurring manual fix.

Ask instead of skimming.

A model with my CV, projects, and case studies loaded. Ask what I have actually built, where the gaps are, or whether I fit a specific role — it answers from the record and says so when something is not in it.

live — answers are generated, not cannedpress /

Rather talk to a person? iiiako197@gmail.com

Selected work.

Production work at EPAM. Open any item for the reasoning behind it — problem, decision, result.

Protected a $200K contract with a 48-hour root-cause investigation

Rotated onto the platform Stability team for three months and root-caused 12+ production incidents. On the critical SAP integration failure, proved the fault was systemic rather than client error and delivered the evidence within 48 hours — protecting a $200K annual client contract.

Why it mattered

A client disputed a data discrepancy and was escalating toward cancellation. I reconstructed the transaction timeline from audit logs and found an async integration callback that had retried, failed, and given up without a compensating transaction — leaving records half-applied. That made it a system fault, not a misconfiguration on their side, and I had 48 hours to prove it. The lasting fix was architectural: I documented the missing compensating transaction, which became an infrastructure ticket.

Eliminated a recurring peak-load outage

Profiled a production .NET authentication service to the root cause of a recurring peak-load outage, tuned it under load, and shipped the fix — restoring stable sub-second responses.

Why it mattered

The service buckled at peak load. I reproduced it under representative traffic, profiled down to the root cause, tuned the configuration, and validated the fix before promoting it to production. The change itself was small; finding it was the whole job.

Built internal tooling, adopted by 5 engineers

Initiated and built an incident-triage CLI that turns scattered monitoring signals into structured summaries — adopted by 5 engineers and cutting early-triage time by ~15 minutes per incident.

Why it mattered

On-call triage was slow because the signal was spread across dashboards and logs. Nobody was assigned to fix that, so I proposed a small CLI, built it, and drove its adoption across the team. It pulls the scattered signal into one structured summary.

Designed cross-service eventing reused by other teams

Designed and implemented event-driven communication with an auto-retry dead-letter path that removed routine manual re-runs and improved delivery reliability — a pattern later reused by other teams.

Why it mattered

Services needed to react to each other’s state changes without brittle coupling. I designed event-driven messaging with an auto-retry dead-letter path, so a transient failure retries itself instead of paging someone at 2am. Other teams on the platform later reused the pattern.

How I work.

Own it end to end

Design, build, ship, and support in production. I care about the code after it merges — the incident, the fix, the follow-up.

Architecture with intent

DDD, CQRS, and event-driven where they earn their keep, not by default. I can walk you through why a call was made and what it cost.

Reliability is a feature

Profiling, observability, and root-cause fixes — so problems get caught before a user ever feels them.

Lift the team

Mentoring and onboarding juniors, sharing patterns, and working closely with product and reliability to ship the right thing.

What I build with.

Core / .NET
C#.NETASP.NET CoreEF CoreDapper
Architecture
DDDCQRSEvent-drivenMicroservicesModular Monolith
Data & Messaging
PostgreSQLSQL ServerMongoDBRedisRabbitMQMassTransit
Infrastructure & Reliability
DockerIISPuppetJenkinsTerraformDatadogOpenTelemetryGit

Architecture I own end to end.

Featured project

Lanka

Modular monolith · .NET 10 · DDD · CQRS · event-driven

Social-media campaign platform connecting influencers with brands. A .NET 10 modular monolith using DDD, CQRS, event-driven messaging, RabbitMQ, PostgreSQL, MongoDB, Redis, and .NET Aspire.

.NET 10Modular MonolithDDDCQRSRabbitMQAspire
Why a modular monolith?

Clear module boundaries and independent evolution without paying the operational cost of a distributed system — with the option to split a module out into a service later if it earns it.