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
-
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.
-
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.
-
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.
-
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).