We are looking for a Senior .NET Engineer to join the migration team, working on the decomposition of a .NET Framework 4.8 / VB.NET desktop application into ASP.NET Core (Current) backend services on Kubernetes. The engagement starts with the highest-risk item in the project — characterising and replacing a 14,518-line VB.NET data layer with EF Core repositories against a multi-tenant PostgreSQL schema with Row-Level Security — then continues across backend services depending on team allocation.
All services follow the same patterns throughout: ASP.NET Core, EF Core, PostgreSQL, JWT tenant middleware, Docker, Kubernetes manifests.
Responsibilities
-
Contribute to the decomposition of a legacy desktop application into modern backend services
-
Design and implement backend components aligned with the target architecture and established patterns
-
Collaborate with team members to define scalable data access approaches for multi-tenant scenarios
-
Participate in code reviews and share technical insights to raise overall code quality
-
Analyze legacy business logic to ensure functional parity across newly built services
-
Take part in architectural discussions and help refine technical direction across workstreams
-
Investigate and resolve issues encountered throughout the migration lifecycle
-
Support deployment activities and help ensure services run reliably in containerised environments
Requirements
-
At least 3 years of professional relevant experience in backend .NET engineering on production systems
-
Hands-on delivery of REST APIs consumed by a real frontend within a team environment
-
Familiarity with containerised deployments, including shipping services running in Docker
-
Confident, production-level command of C# and ASP.NET Core (Current)
-
Practical experience with Entity Framework Core, including migrations, global query filters, and optimistic concurrency
-
Applied knowledge of OAuth 2.0 and OIDC server-side flows using Microsoft.Identity.Web, along with JWT validation and tenant middleware
-
Experience with Docker covering multi-stage builds, secrets handling, and CI image gates
-
Hands-on background with xUnit and Testcontainers, with the ability to write meaningful integration tests against a real database
-
Strong VB.NET reading comprehension, with the ability to follow and reason about legacy VB.NET code without needing to write it
-
Confident English communication at B2 level or higher, in both written and spoken forms
Nice to have
-
Experience with PostgreSQL covering schema design, indexing, and multi-tenant data patterns
-
Familiarity with Helm for managing Kubernetes application deployments
-
Working knowledge of Kubernetes for container orchestration and service operations
-
Applied understanding of OAuth2 for securing modern web applications and APIs
-
Exposure to Visual Basic .NET for interpreting or maintaining legacy components
-
Awareness of XBRL for structured business reporting scenarios
We offer
-
International projects with top brands
-
Work with global teams of highly skilled, diverse peers
-
Healthcare benefits
-
Employee financial programs
-
Paid time off and sick leave
-
Upskilling, reskilling and certification courses
-
Unlimited access to the LinkedIn Learning library and 22,000+ courses
-
Global career opportunities
-
Volunteer and community involvement opportunities
-
EPAM Employee Groups
-
Award-winning culture recognized by Glassdoor, Newsweek and LinkedIn
EPAM is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, age, sexual orientation, gender identity or expression, disability, protected veteran status, or any other characteristic protected by applicable law.