About
I'm a senior software engineer in Riyadh. I build and run production systems across web, mobile and distributed backends: .NET microservices, Arabic-first Next.js products and Flutter apps.
At Ebana I grew from a front-end role into full-stack ownership of the company's main web application, and I lead technical meetings with enterprise clients, including banks. As a part-time senior engineer and technology consultant at IES, I led the architecture of an 8-service .NET 10 backend and shipped 3 products across 6 codebases in about 10 weeks.
I work AI-natively: Claude Code, MCP servers and multi-agent workflows are part of how I design, build and review software every day. This blog is where I write about what that looks like in practice.
Experience
Senior Software Engineer & Technology Consultant · Intelligent Education Systems (IES)
Part-time · Syria (remote from Riyadh)
Led the architecture of an 8-service .NET 10 microservices backend and delivered 3 products across 6 codebases in about 10 weeks: Next.js web apps with full Arabic RTL support and Flutter mobile apps. As technology consultant, defined the company's reference stack and engineering standards.
- .NET 10
- C#
- MassTransit
- RabbitMQ
- EF Core
- SQL Server
- OpenIddict
- Next.js
- React
- Flutter
- Docker
- OpenTelemetry
Software Engineer · Ebana Company for Information Technology
Full-time · Saudi Arabia
Grew from a front-end role into full-stack ownership of the company's main web application, becoming its #1 contributor out of 18 engineers. Lead technical meetings with enterprise clients, including banks, and deliver payment features end to end.
- Next.js
- React
- TypeScript
- Chakra UI
- TanStack Query
- GraphQL
- .NET
- Spring Boot
- Kotlin
- CI/CD
Backend Developer Intern · Hala Payments Company
Saudi Arabia
Fixed bugs and improved performance in .NET services backed by SQL and NoSQL databases and REST APIs.
- .NET
- C#
- SQL
- NoSQL
- REST
Writing
How I engineer with AI agents: Claude Code, MCP and multi-agent workflows
The setup and habits that make AI agents useful on real production codebases, not just demos.
A CQRS dispatcher in about 80 lines, without MediatR
The small, dependency-free command/query dispatcher I use in Clean Architecture .NET services, and its trade-offs.
Licence landmines in a .NET microservices stack
MassTransit, MediatR, AutoMapper, Duende and Redis: what changed, and the rule I now follow before adding any dependency.
Hello, I'm Issam
Who I am, what I build, and what this blog will cover.
