Mohamad Salameh
Senior Software Engineer
Microsoft AZ-204. Danish, English, Arabic.
Roskilde (Copenhagen area), Denmark
Summary
8 years building business-critical systems in C#/.NET on Azure. Made lead developer within months on three projects. Builds the harnesses that let AI coding agents ship production code: every change reviewed, tested and quality-gated.
Experience
Domstolsstyrelsen (Danish Court Administration)
Lead Developer, freelance consultant, Nov 2025 – Present
- Replaced manual financial bookkeeping for Denmark's 24 courts with an automated web platform; live at the first court, national rollout under way.
- Joined as a developer in a team of three and became Lead Developer within 3 weeks, after securing the Navision access and missing specifications; mentor a junior developer.
- Designed the API architecture and built the translation layer between the API and Navision Stat's legacy SOAP service (82% of its code); own the 313-test suite, with ~95% coverage of the translation layer and a SonarQube gate on every build.
ITM8
Consultant / Lead Developer, Jun 2023 – Nov 2025
7-Eleven (Reitan)
Lead Developer, Jun 2023 – Nov 2025
- Joined as the sole developer and became Lead Developer within 2 months; 7-Eleven then raised the budget, growing the team to 4 developers and extending the engagement by 2 years.
- Delivered a ~95% reduction in Azure spend (~22,000 to ~1,000 DKK a month) by simplifying the architecture: retired the Kubernetes and Elasticsearch clusters the platform didn't need and consolidated onto one PostgreSQL instance, App Service and serverless Azure Functions.
- Rebuilt the e-commerce platform from the data model up (.NET, Next.js, Azure) and ran it in production for 2+ years.
- Shipped store delivery and recurring company orders, live in 45+ stores at 1,000+ orders a day.
Kongsvang
Consultant, Jun 2023 – Nov 2025
- Saved 25 department managers about 5 hours a week each, ~125 hours a week in total, by rebuilding Kongsvang's time-registration system on .NET Core and Azure; cut over from .NET Framework with zero downtime after running both systems side by side until month-end results matched.
- Designed and built the two-step approval workflow, where a manager and a second approver sign off each week's hours before they go to bookkeeping; set up the Azure infrastructure around it: Entra ID single sign-on, a site-to-site VPN to the on-premises database, and nightly Azure Functions that sync employee data.
Twoday (ItMinds)
Consultant / Lead Developer, Apr 2021 – May 2023
Coop
Lead Developer, Apr 2022 – May 2023
- Joined Coop's 2 million-member loyalty platform as one of five consultants and became Lead Developer of the Coop Bank card integration within 3 months.
- Replaced manual card handling for Coop Bank's ~88,000 customers with an automated integration, writing 93% of its code: 9 card and customer events run as Durable Functions orchestrations over Azure Service Bus, one sub-orchestration per record, with persisted job state and a response file per batch.
- Built operation-context propagation into the shared library used by all 7 services, and contributed 105 commits to the batch engine behind 34 integration jobs, running as containers on Kubernetes with KEDA autoscaling.
Tryg
Software Developer, Jan 2022 – Mar 2022
- One of five developers migrating Tryg's sales performance and bonus platform from a monolith to event-driven microservices on Dapr, Docker and MongoDB.
- Contributed to the KPI calculation engine, a Redis-backed C#/.NET library shipped as a NuGet package that every service calls, and to the Angular dashboards showing performance and monthly bonus per salesperson.
Earlier experience
2018 – 2021
Twoday consultant for NemConnect, Criipto (MitID integration for 10 e-ID providers) and Woba; .NET developer at Stella Care, Yacc.io and as a freelancer.
Education and certifications
- BSc in Software Development, Zealand Academy of Technologies and Business, 2018
- Microsoft AZ-204 Azure Developer Associate
- Google Project Management Certificate
- Cisco CCNA
Skills
- Languages
- C#, TypeScript, JavaScript, SQL, Python
- .NET
- .NET 8 / .NET Core / .NET Framework, ASP.NET Core, Entity Framework, Dapper, MediatR, FluentValidation
- Azure
- Functions, Durable Functions, Service Bus, App Service, Key Vault, Entra ID
- DevOps & testing
- Azure DevOps CI/CD, Git, trunk-based development, Docker, Kubernetes, SonarQube, xUnit, Playwright
- Architecture
- Object-oriented design, REST APIs, CQRS, event-driven design, microservices, Domain-Driven Design
- Data
- SQL Server, PostgreSQL, MongoDB, Redis
- Frontend
- React/Next.js, Angular, Vue.js, Blazor
- AI coding agents
- Claude Code, Codex, Cursor, Devin, Hermes
How I work
- Simplify before you scale
- At 7-Eleven, the biggest win was removing a Kubernetes cluster and an Elasticsearch cluster the platform didn't need. My instinct is to take things away.
- Think before you code
- Before I write code, I challenge my first instinct. I question the architecture and the approach until they are rock solid. Only then do we start building.
- Unblock things
- At Domstolsstyrelsen, I became lead in three weeks by chasing down the access and specifications the project was stuck on.
- AI with guardrails
- I use coding agents every day. Speed is the easy part. Trust is the hard part. So I build the harness around them: rules they must follow, tests that check their work, and a quality gate that blocks anything that fails. A person reviews every change before it ships.
How I interview
I have been part of interviewing developers at 7-Eleven and ITM8.
- Real problems over puzzles
- The task comes from the real project, not an algorithm exercise. The walkthrough is a collaboration, not an exam.
- Watch the approach
- Do they ask questions, clarify the requirements and think about the design before they write code?
- Fit goes both ways
- People work in different ways, and I adapt to how each person on my team works best. The interview is where we both find out if we will work well together.
How this site was built
This site was built with AI coding agents, working to rules I set. Every build checks that the C# on screen is valid and that every fact matches my approved CV. Nothing ships if a check fails.