Hosein Hayati · Backend Engineer · Tehran, Iran

I'm a backend engineer.

I have been building with .NET since 2017, and I like owning a system end to end: architecture, data, integrations, deployment and monitoring.

I use Clean Architecture, DDD and CQRS because in practice they keep the cost of change low — not because they look good on a slide. These days I ship with agentic coding (Claude Code, Cursor), and I keep the parts an agent can't do: choosing the approach, deployment, debugging and review.

Architecture is not a diagram. It is what decides how bad your worst on-call night gets.

Decisions I made, and what forced them

Digital wallet, Saman Insurance, 2023 – present. Sole developer: I took a half-finished codebase to production, and it has processed 200+ billion Toman in roughly two years.

The ledger is the single source of truth.
Every balance is reconstructable from recorded transactions, never from a cached column.
Money is a value object, not a bare decimal.
Amount + currency + rules. Cross-currency addition throws; it does not silently miscalculate.
Idempotency across gateway callbacks and user retries.
Duplicate gateway callbacks and double-clicks do not create duplicate money.
Concurrency control on balance mutation.
What forced it: a race condition duplicated funds in staging.
Automated nightly reconciliation.
What forced it: written the night a 50,000-Rial mismatch cost three days of manual checks.
10x growth, absorbed.
Absorbed 10x growth in transaction volume with query tuning, Redis caching and background jobs.
Handing the system over.
Onboarded the six-engineer team that later took the system over, through a documentation sprint on business rules, deployment and troubleshooting.

Also: two wallet types (credit / cash), gateway deposits, referral credit, withdrawal and P2P transfer; the payment-gateway integration as a separate service with explicit failure paths; Serilog + ELK and an operations dashboard.

Experience

  1. Jul 2023 – present

    Senior Backend Developer · Saman Insurance

    • The digital wallet described above.
    • Event-driven microservices on .NET 6 with DDD.
    • A legacy ASP.NET MVC / ADO.NET system: new features, custom metrics and Grafana dashboards.
  2. Nov 2021 – Jul 2023

    .NET Developer · MehrcomTech

    • Built and debugged core banking modules with a DDD-layered structure, keeping business rules out of controllers and infrastructure.
    • EF Core for the write model, Dapper where read performance mattered: a deliberate split rather than one ORM everywhere.
    • Integrated external banking services via Flurl, with retry and failure handling around calls we did not control.
  3. Oct 2020 – Oct 2021

    Full-Stack Web Developer · Saipa

    • Rebuilt legacy Oracle Forms workflows as an ASP.NET Core + React application used by internal operations teams.
    • Delivered the full slice (API, data access, UI with Kendo UI, reporting with Stimulsoft) rather than a single layer.
  4. Apr 2017 – present

    Founder & sole engineer · Pishgamit

    • A Persian technical publication I started as a student and have kept online ever since: 4,000+ articles, peak of 157K monthly visits.
    • Rebuilt with AI-assisted development and migrated to .NET 10; day-to-day operations are AI-driven with Claude.
    • Nine years of maintenance taught me more about long-lived systems than any greenfield project ever did.

Open source and learning

Wallet-API: open-source reference implementation — .NET 8, two services, Clean Architecture, CQRS with MediatR, DDD, unit tests. It demonstrates the architecture; it is not a production system.

Currently learning: event sourcing. I'm rebuilding a small transactional service on it to learn where it pays off and where it does not. I have shipped state-based systems to production, not event-sourced ones.

Stack

Languages & frameworks
C#, .NET 8, .NET 10, ASP.NET Core, ASP.NET MVC, Blazor, React, JavaScript
Data
SQL Server, T-SQL, EF Core, Dapper, MongoDB, Redis, Elasticsearch
Architecture
Clean Architecture, DDD, CQRS, event-driven architecture, microservices, design patterns
Platform
RabbitMQ, Docker, Serilog + ELK, Grafana, Git, Azure DevOps / TFS, IIS, Stimulsoft
Practices
Idempotency, concurrency control, consistency checks, observability, third-party integrations, AI-assisted development (Claude Code, Cursor, GitHub Copilot)

Education and languages

B.Sc. in Software Engineering, Islamic Azad University, 2013 – 2017.

Persian (native), English (intermediate: technical reading and writing).

Contact