Senior Software Engineer · Backend & Distributed Systems · Persian Musician

Mojtaba Norouzi

I architect distributed systems and keep the rhythm of the daf — engineering and music, two expressions of the same pattern-sense.

Senior .NET backend engineer with 8 years building backend systems for e-commerce and logistics — the last four on event-driven distributed systems at scale — an M.Sc. in AI, and a player of Daf, Tar, Tonbak, and Setar.

01

About

I live where structure meets expression. By day I design and ship reliable backend systems — event-driven services, data models, and APIs that hold up under load. By night I sit behind a tonbak or lift a daf, working in the same currency I use at work: pattern, timing, and tension-and-release.

A 6/8 Persian rhythm and a well-orchestrated stream of Kafka events aren't so different — both are about getting many independent voices to stay in time. Whether I'm tuning a consumer group for throughput or tuning a daf for a performance, I'm chasing the same thing: many parts moving on their own yet landing together, exactly on the beat. That instinct — for structure that breathes — is what ties my engineering and my music into a single way of thinking.

02

Engineering

Senior Software Engineer · Okala (Golrang Industrial Group), Tehran Oct 2024 — Present
Promoted from Software Engineer · Feb 2022 — Sep 2024

Core skills

Selected projects

Four Generations off the Monolith

Owned execution of a multi-year migration off the fulfillment monolith — building its replacements from zero, moving every operational flow across, then decommissioning the originals. Production incidents fell from near-daily to one or two a month.

  • .NET
  • Kubernetes
  • DDD · EDD

High-Throughput Logistics APIs

Designed and built the APIs behind 150K+ orders a day — over 300K during campaigns: around 200 versioned REST endpoints running four versions of one API surface side by side, integrating third-party logistics over Kafka and orchestrating couriers, the call center, and customers.

  • REST · API versioning
  • Kafka
  • ASP.NET Core

AutoRadius — Rules Over Guesswork

Replaced hand-maintained, per-store delivery radiuses with a rules engine that encodes operations agents' expertise, evaluating time of day, weather, and pending-order backlog to adjust each store automatically. Its pending-order signal is kept live by re-partitioning order events onto one ordered Kafka partition per store.

  • Rules engine
  • Kafka
  • Operations

Geospatial Store Coverage

Store coverage and nearby-store search built on SQL Server spatial types with NetTopologySuite (SRID 4326) — delivery-radius coverage, polygon non-coverage areas, and distance-ranked results — evolved across four side-by-side API versions.

  • NetTopologySuite
  • SQL Server spatial
  • Geospatial

A Kafka Backbone with a Transactional Outbox

A 40-topic event backbone with at-least-once delivery and per-entity ordering — every message keyed by its business entity ID. Failed events retry with backoff, then land in a persisted outbox a sweeper reprocesses every two minutes; an atomic Redis SET NX guard stops duplicate notifications across replicas.

  • Kafka
  • Transactional outbox
  • Redis

Tests That Boot Real Infrastructure

A test suite across unit, integration, and Gherkin BDD tiers — the integration harness boots real SQL Server and Redis containers via Testcontainers, hosts two full ASP.NET Core apps, and drives them over real HTTP through typed clients, sharded across parallel CI jobs.

  • Testcontainers
  • xUnit · BDD
  • GitLab CI

Timeline

  1. Oct 2024 — Present Senior Software Engineer Okala (Golrang Industrial Group), Tehran · .NET services on Kubernetes, Kafka, geospatial SQL Server, mentoring & CI/CD Promoted from Software Engineer · Feb 2022 — Sep 2024
  2. Oct 2018 — Feb 2022 Back-End Developer Capital-markets software company, Tehran · ASP.NET, RabbitMQ, SQL Server & Redis
  3. Sep 2017 — Oct 2018 Research Assistant Shahid Beheshti University, Tehran · Multi-Agent Systems (MAS) Lab — transfer learning for reinforcement learning, applied to traffic signal control
  4. 2016 — 2019 M.Sc. — Artificial Intelligence Shahid Beheshti University · reinforcement learning & transfer learning
03

Music

Persian percussion and string traditions, starting with fifteen years behind a daf.

Daf

Primary instrument · 15 years

Frame drum at the heart of Sufi and folk repertoire. The constant thread from early TV performances in Semnan Province to concert stages in Tehran.

Tar

Since 2018

Long-necked lute carrying the melodic modes (dastgāh) of Persian classical music.

Tonbak

Since 2023

The principal goblet drum of Persian classical music; intricate finger technique and meter.

Setar

Currently learning · since 2025

A quieter, four-stringed relative of the tar, central to solo and mystical repertoire.

Performance highlights

04

Education

M.Sc. — Artificial Intelligence

Shahid Beheshti University · 2016 – 2019

Focus on machine learning and reinforcement learning, with research in transfer learning for traffic-signal control.

B.Sc. — Computer Engineering

Shahrood University of Technology · 2012 – 2016

Foundations in software engineering, algorithms, and systems.

Publication

05

Blog

A working notebook — things I learned, things I built, and papers I went down a rabbit hole on.

    Read the blog

    06

    Get in touch

    Open to engineering roles and musical collaborations alike.