Alaa Mohamed

.NET Developer · Backend & Architecture

I care about backend systems that stay clean as they grow — boundaries that hold, workflows that are honest about consistency, and code other engineers can read a year later.
Alaa Mohamed

About Me

Backend-focused .NET developer with 4+ years of professional experience building and shipping backend and full-stack systems. Most of my work sits where correctness matters most — orders, payments, and vendor settlements that have to be right the first time.

I'm a developer at ITLegend, where I own the architecture behind two live e-commerce products — a multi-vendor marketplace and a fashion-retail store across Egypt and Jordan, on one shared codebase — and lead a small cross-functional team, handling everything from domain modeling to deployment on Linux infrastructure.

My stack is C# / ASP.NET Core, and my approach is Clean Architecture, DDD, and messaging — patterns that keep complexity manageable as products and teams scale.

Key Expertise

  • Backend Architecture — Clean Architecture, DDD, Modular Monolith
  • CQRS with MediatR & event-driven design with RabbitMQ
  • Performance engineering — caching, indexing, query optimization
  • Team leadership — code review culture, architecture decisions, mentoring
  • DevOps — Docker, Linux (Ubuntu), Nginx, and AI-assisted development workflows

Professional Experience

.NET Developer

ITLegend · Cairo, Egypt

Oct 2023 – Present

  • Own the architecture behind two live e-commerce products — a multi-vendor marketplace and a fashion-retail store across Egypt and Jordan — built on one shared .NET 10 / Clean Architecture codebase, covering the catalog, per-offer pricing, a buy-box engine that selects the winning offer across competing vendors, seller tiers, warehouses, orders, shipments, and returns.
  • Designed the vendor settlement & refund subsystem as an append-only, immutable financial ledger with a computed wallet read-model, optimistic concurrency, and idempotent refund and notification workflows — keeping money movement consistent and safe to retry.
  • Architected the order-creation workflow to persist the order, shipments, and payment in a single atomic transaction, while offloading notifications, email, and SMS to RabbitMQ so side-effects never block or fail the core order.
  • Diagnosed and resolved a ~20s performance bottleneck on an e-learning student dashboard (~300 concurrent users) by splitting an overloaded endpoint, precomputing heavy stats, and adding caching + targeted indexes — cutting response time by over 5×.
  • Integrated multiple payment gateways (Stripe, PayPal, Paymob, Fawaterak, HyperPay / CopyAndPay) and WhatsApp messaging via Twilio across projects.
  • Deploy and operate the platforms on Linux (Ubuntu) VPS infrastructure — Nginx reverse proxy, SSL/TLS, and Dockerized supporting services (SQL Server, RabbitMQ, Redis).
  • Lead a cross-functional team of 5, owning architecture decisions and technical direction, and run technical interviews and code reviews. Also contributed to Riseon (MLM), Wasiitk (classifieds), and Property-Search (real estate).

.NET Developer

Remote

Jun 2022 – Oct 2023

  • Worked remotely with a senior engineer delivering custom web applications for clients across recruitment, education, real estate, and business management — from requirements through to delivery.
  • Built full-stack systems with ASP.NET Core MVC (C#, EF Core, SQL Server) and HTML / CSS / JavaScript / jQuery front-ends, with an emphasis on clean, maintainable server-side code.
  • Delivered a job-board / recruitment platform (ASP.NET Core) connecting job seekers and employers, with candidate profiles, job matching, employer subscription packages, and online payments.

Featured Projects

E-Commerce Platform — Two Live Products
Marketplace + fashion-retail store (Egypt & Jordan) · .NET 10 · Clean Architecture
🛒

Two products — a multi-vendor marketplace and a fashion-retail store — running on one shared codebase I architected end-to-end: catalog with per-offer pricing, a buy-box engine that picks the winning offer across competing vendors, and a vendor settlement subsystem built as an append-only financial ledger with idempotent refund workflows. Orders persist atomically; RabbitMQ handles all downstream side-effects so they never block the core order.

.NET 10
Clean Architecture
DDD
RabbitMQ
Redis
SQL Server
Souqna
Personal project · Modular Monolith marketplace · Ongoing
🏪

Self-initiated architecture project built to practice production-style design: Clean Architecture, DDD, Modular Monolith, CQRS (MediatR), and message-driven workflows via RabbitMQ. Implements Catalog and User Management modules with rich domain models, aggregates, and domain events. Includes JWT auth with refresh-token rotation, role-based access, soft-delete with audit trails, health checks, rate limiting, structured logging (Serilog), and unit / integration tests.

Modular Monolith
DDD
CQRS
MediatR
RabbitMQ
C#
E-Learning Performance Overhaul
5× dashboard speed-up under load

Student dashboard response was ~20 s under 300 concurrent users. Diagnosis: one fat endpoint doing too much at runtime. Fix: split by read / write, precompute stats on a schedule, add Redis cache and targeted indexes. Result: under 4 s — more than 5× faster.

ASP.NET Core
Redis
SQL Server
EF Core
Performance

Case Studies

An immutable financial ledger for vendor settlements

How I keep marketplace money movement correct, auditable, and safe to retry.

Problem

In a multi-vendor marketplace, vendors accrue earnings, the platform deducts commissions, refunds reverse charges, and cash-on-delivery adds edge cases. A single mutable “balance” column is fragile — concurrent updates race, history is lost, and reversals are hard to reason about.

Design

An append-only, immutable ledger. Every money movement is a new immutable entry (credit / debit with a typed reason). The wallet balance is a computed read-model derived from the ledger, not a stored mutable field. Balance-affecting operations use optimistic concurrency. Refunds and commission reversals are modeled as compensating entries, and the workflows are idempotent — a retried or duplicated message never double-charges or double-refunds.

Trade-off

I trade cheap writes and a trivial balance read for correctness, auditability, and safe retries. Reads cost more (roll up the ledger), which I offset with a maintained read-model. For money movement, that trade is worth it.

Append-only ledger+ Credit · vendor sale− Debit · commission+ Credit · vendor sale− Refund · compensating entryentries are appended — never mutatedroll upWallet read-modelbalance = Σ ledger entriesderived, not stored

Atomic orders with asynchronous side-effects

Keeping order creation consistent and fast while side-effects run out of band.

Problem

Placing an order must create the order, its shipments, and the payment record consistently. It also triggers notifications, email, and SMS. If side-effects run inline, a slow or failing provider can delay or break order creation; if the write is split naively, you risk inconsistency (order saved but payment not).

Design

The core write — order + shipments + payment — happens in a single atomic database transaction, so the order is all-or-nothing. Side-effects (notifications / email / SMS) are decoupled: published to RabbitMQ and processed asynchronously by consumers, so a failing provider never blocks or fails the core order.

Trade-off

Side-effects become eventually consistent (a notification may lag or need a retry) in exchange for a fast, reliable core order. The next step I'd take is an Outbox pattern, so the event is persisted atomically with the transaction and published reliably after commit — closing the small window where a post-commit publish could be missed.

Atomic transactionOrderShipmentsPaymentcommit →publishRabbitMQEmailSMSNotificationsasync consumers — never block the order

Technical Skills

BECore Backend
C#
ASP.NET Core
EF Core
SQL Server
REST APIs
SignalR
Blazor
.NET MAUI
ARCHArchitecture & Patterns
Clean Architecture
DDD
Modular Monolith
CQRS
MediatR
Repository Pattern
Unit of Work
Domain Events
MSGMessaging, Caching & Real-time
RabbitMQ
Redis
SignalR
Hangfire
Event-Driven Design
Async Workflows
INTIntegrations & Tooling
Stripe / PayPal
Paymob / Fawaterak
HyperPay
Twilio WhatsApp
Google / Facebook Auth
Postman
OPSDevOps & Infrastructure
Docker
Linux (Ubuntu)
Nginx
SSL/TLS
Git & GitHub
VPS Administration
AIPractices & AI-Assisted Development
Claude Code
ChatGPT / Copilot
xUnit
Serilog
Agile / Scrum
Code Reviews

Currently Expanding Into

Azure
Microservices
CI/CD

Education & Certifications

Education

B.Sc. in Communications & Electronics Engineering

Mansoura University · Mansoura, Egypt

2016 – 2020

Languages

Arabic

Native

English

Professional

Get In Touch

Contact Information

I'm always open to discussing new projects, opportunities, or partnerships. Feel free to reach out!