Anton Schahlou

.NET Software Engineer

Summary

.NET engineer with 5 years of commercial experience at EPAM Systems, delivering enterprise systems across manufacturing ERP, B2B eCommerce and a public-sector platform that transfers legal vehicle ownership for the UAE government. I work a feature end to end — gathering requirements, designing the solution, writing the code, and covering it with tests I actually trust. Equally comfortable navigating a twenty-year-old legacy codebase and standing up a clean new service. Linux is my daily driver and I build my own tooling in Go and PowerShell.

Technical Skills

Languages
C#, T‑SQL, PowerShell, JavaScript, TypeScript, Go (side projects)
Backend
.NET 6 / 8, ASP.NET Web API, ASP.NET MVC, Razor Pages, Mediator pattern, Microsoft Entra ID, OpenID Connect / OAuth 2.0, caching strategies
Data
SQL Server, PostgreSQL, MongoDB, SQLite, Dapper, Entity Framework Core, FluentMigrator, stored procedures, query optimisation
Testing
xUnit, NUnit, Moq, FluentAssertions, Selenium, integration & automation suites
Frontend
AngularJS, jQuery, Bootstrap, Gulp, Babel
Platform & Tooling
Docker, Azure Pipelines, Git, Tailscale, Linux (daily driver, self‑hosting, shell automation), Mermaid

Professional Experience

EPAM Systems — Software Engineer

Nov 2020 – Oct 2025

Five years across three long-running client engagements, progressing from junior developer to owning features end to end and reviewing others' work.

Shary — UAE Government (TAMM portal)

Feb 2025 – Oct 2025

Stack: .NET 8, C#, ASP.NET Web API, Mediator, EF Core, stored procedures

  • Designed and built the core functionality of a government service for safe vehicle ownership transfer, covering vehicles valued up to 50,000 AED.
  • Owned features from requirement gathering with the BA and PM through technical design, implementation and verification.
  • Delivered integrations with ADCB bank and the TAMM government platform, handling payment and identity flows.
  • Held a verification-first standard where testing took roughly twice the development effort — the right trade-off for a system moving real money and legal title.
  • Team of 9: 4 developers and 2 QA from EPAM, working alongside the client’s developer, PM and BA.

Proactis / Hubwoo — B2B eCommerce Platform

Jul 2021 – Feb 2025

Stack: .NET 8, C#, ASP.NET Web API / MVC, Razor Pages, Dapper, Microsoft Entra, ABCpdf, xUnit, AngularJS

  • Three and a half years of continuous ownership of a buyer–seller commerce platform, in a four-person EPAM team reporting directly to the client architect.
  • Delivered full-stack features spanning the AngularJS / jQuery front end and the ASP.NET backend, from first ticket to production.
  • Integrated Microsoft Entra ID for authentication, and implemented server-side PDF generation and caching to cut response times on heavy pages.
  • Expanded the automated test suite — pages, actions and xUnit coverage — reducing the manual regression burden on every release.
  • Acted as a regular code reviewer and drove sustained technical-debt reduction alongside feature work.

Plex Systems — Cloud Manufacturing ERP

Nov 2020 – Jun 2021

Stack: .NET, C#, ASP.NET MVC, WebForms, classic ASP (VB), stored procedures, JavaScript

  • Contributed to Plex Online, a SaaS cloud ERP managing manufacturing operations — inventory, shipping, supply chain and quality.
  • Delivered application- and database-level optimisation across a large legacy codebase spanning three generations of Microsoft web technology.
  • Implemented new functionality and paid down technical debt in a 19-person cross-vendor team, gaining hands-on exposure to a wide range of e-business operations.

Career Break — conscription

Oct 2025 – Oct 2026

Kept current through personal projects — Go, Linux self-hosting and .NET runtime internals. Available immediately.

Education

Belarusian State University of Informatics and Radioelectronics

Sep 2017 – Jun 2021

Bachelor of Radio Engineering

Personal Projects

Bilingual Novel Reader — C# / .NET, TypeScript

A keyboard-driven web reader for serialised novels with word lookup built into the page. Layered .NET solution separating domain, persistence and dictionary concerns behind interfaces, with MongoDB for chapters and vocabulary, SQLite for accounts, cached chapter preparation, and a dictionary provider chain that falls back between Wiktionary and a free dictionary API. TypeScript front end.

TestChecker — Go

A terminal UI for learning by recall, built with Bubbletea. Answers are typed from memory in full and compared by Levenshtein distance, with spelling tolerance scaling to answer length. A companion daemon reconciles instances across machines over Tailscale — file watcher, per-topic locking, conflict resolution — tested on both layers. I use it daily to learn Polish.

MicrokernelPOC & PluginsWebApiWithAuth — C#

Paired experiments in runtime plugin architecture. The first swaps .NET implementations in a live process via AssemblyLoadContext, watched by interchangeable file-system and polling strategies; the second puts it to work in a Dockerised Web API behind an OpenID Connect identity provider. With AppDomain gone from .NET Core, real sandboxing needs process-level separation.

HelloGo — Go

A study repository for Go on Linux: an interpreter for a small language assembled from token, lexer, parser, AST and REPL layers with tests at each stage, alongside an HTTP service and a CLI to-do tool with interchangeable CSV and JSON persistence.

Animego Console — PowerShell

An HTML scraper and terminal client that streams a video site into VLC or ffplay. Grew from a search-and-watch script into a tool with downloading, model-based upscaling, favourites, watch history and resume.

AmendChangesGitHook — Shell

A post-commit hook that keeps history clean: any commit whose message is the single letter f automatically fixes itself up into the previous one.