Senior Software Engineer · .NET Backend & Distributed Systems

Mojtaba Norouzi

Building reliable backend systems through production change.

At Okala, I have owned delivery of two production-platform replacements across fulfillment and delivery operations. My work combines .NET, Kafka and SQL Server with production reliability and technical mentoring. Based in Tehran and open to EU relocation.

01

Engineering

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

Okala is an online grocery platform handling 150K+ orders daily and over 300K during campaigns. My work spans fulfillment, logistics, and delivery operations. The projects below cover both roles, including shared delivery with the team.

Core skills

Selected projects

Replacing Two Live Platforms

I owned the replacement of two live platforms, first fulfillment and then delivery: building their replacements, migrating every operational flow, and retiring both legacy systems. Following the migration from Windows Server to containerised services on Kubernetes, production incidents became rare, down from almost daily.

  • .NET
  • Kubernetes
  • Domain-driven design

Delivery Operations APIs

With the team, I built a platform with four independently deployable .NET 10 services and around 200 versioned REST endpoints. Four versions of the store API run side by side to support existing clients.

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

AutoRadius — Rules Over Guesswork

I designed a rules engine to replace manual store delivery-radius configuration, using time of day, weather, and pending-order backlog. Repartitioning Kafka events by store preserves per-store ordering and avoids contention on a shared database table.

  • Rules engine
  • Kafka
  • Operations

Geospatial Store Coverage

I built delivery coverage and nearby-store search with SQL Server spatial types and NetTopologySuite: delivery radii, exclusion polygons, and distance-ranked results.

  • NetTopologySuite
  • SQL Server spatial
  • Geospatial

A Kafka Backbone with a Transactional Outbox

I led work on a 40-topic Kafka event backbone with at-least-once delivery and per-entity ordering. Reliability measures include consumer retries with backoff, a persisted transactional outbox, and Redis-based customer-notification deduplication across service replicas.

  • Kafka
  • Transactional outbox
  • Redis

Tests That Boot Real Infrastructure

I built an integration harness that runs real SQL Server and Redis containers, hosts two ASP.NET Core applications, and exercises them over HTTP. Tests run in parallel GitLab CI jobs. Prometheus metrics and distributed tracing support diagnosis across all four production services.

  • Testcontainers
  • xUnit · BDD
  • GitLab CI

Alongside implementation, I define engineering standards and mentor junior and mid-level engineers through code reviews, design discussions and technical problem-solving.

Engineering case study: replacing two live platforms

Context. Okala’s fulfillment and delivery operations ran on existing production systems. My work involved building their replacements, moving operational workflows and retiring the predecessors.

My responsibility. I owned execution of the fulfillment replacement during my Software Engineer role, then the delivery replacement as a Senior Software Engineer. The wider delivery platform was built with the team.

Implementation. The current delivery platform comprises four independently deployable .NET services. Its APIs support four concurrent store API versions. I led the Kafka event-backbone work, using business-entity keys for per-entity ordering, with at-least-once delivery, retries and notification deduplication.

Verification and operations. I built integration tests using real SQL Server and Redis containers and two ASP.NET Core hosts. Metrics and distributed tracing support production diagnosis across the services.

Outcome. Both predecessor platforms were retired after their workflows migrated. Following the move from Windows Server to Kubernetes, production incidents became rare, down from almost daily.

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 Backend Engineer Capital-markets software company, Tehran · C#/ASP.NET services for stakeholder conferencing, automated reporting, and real-time dashboards; RabbitMQ, SQL Server & Redis
  3. 2018 — 2019 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
02

About

I have built commercial backend systems since 2018, working on the services that support everyday commerce and delivery.

My work spans implementation, production migrations and operational support. I also mentor engineers through code reviews and design discussions. I hold an M.Sc. in Artificial Intelligence; my research on transfer learning for reinforcement learning led to a co-authored journal publication.

Outside engineering, I play Persian percussion and string instruments. Music is a lasting part of my life alongside software.

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.

From the concert archive

Music, in good company.

Two posters from my concerts with the Foroozan Ensemble.

Dates follow the Persian calendar.

Performance highlights

04

Education

M.Sc. — Artificial Intelligence

Shahid Beheshti University · 2016 – 2019

Research in the Multi-Agent Systems Lab on transfer learning for reinforcement learning, applied to traffic-signal control.

B.Sc. — Software Engineering

Shahrood University of Technology · 2012 – 2016

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

    Based in Tehran and open to relocation to the EU for senior backend/.NET roles.

    Concert poster