Omar Tarek AliSenior .NET Engineer & Contractor

Senior .NET engineer for existing systems

I take over .NET systems that already run a business.

I stabilise and extend existing C#, WinForms, DevExpress and SQL Server systems: fixes, features, data changes and safer releases, without a rewrite. It starts with a fixed-scope takeover sprint.

C# · .NET Framework 4.8 · .NET 8 / 9 · WinForms · DevExpress · SQL Server

Cairo, Egypt · Remote · Start dates agreed up front

Omar Tarek Ali

What I can take off your plate

Fixes, features and risky technical work inside software your business already depends on.

A system nobody wants to touch

I get productive inside C# and WinForms codebases I didn't write, work out how they actually behave, and ship fixes and features without asking for a rewrite.

SQL Server data you can't afford to get wrong

Schema changes, migrations, data repair and query performance, with verification before the change and a rollback path after it, because mistakes here are expensive to undo.

Releases and upgrades that feel risky

Safer release paths for desktop and web .NET: repeatable packaging and deployment, DevExpress and .NET Framework upgrades taken in steps, and tests around the areas being changed.

Senior ownership, not another pair of hands

Code review, specifications, architecture decisions and technical direction. For agencies, I work inside your team or behind your client relationship.

Selected work

Systems I've built, inherited and improved.

Enterprise platform

Making a metadata-driven WinForms platform safer to change

I became one of the principal engineers on a large metadata-driven WinForms platform that generates database structures, queries and application screens. The system was powerful but difficult to change safely: a small mistake deep in the platform could affect many generated screens.

I owned core platform behaviour, including view generation, SQL joins and data binding, reviewed changes across the system and improved the tooling used to maintain it. Along the way I built 19 of the platform's 20 internal tools and the shared base that 85 generated screens inherit from.

  • Principal platform engineer
  • WinForms + SQL Server
  • Shared engine & tooling

Desktop ERP & release path

Keeping WinForms and DevExpress products shippable

On a .NET 8 WinForms and DevExpress ERP, I set up the repository's layered project structure, created two reusable DevExpress controls (an editable TreeList and a search-lookup editor) and created its first ClickOnce publish profile.

Elsewhere I carried a solution-wide DevExpress upgrade from version 18 to 24 together with a .NET Framework 4.8 retarget and a Visual Studio 2012 to 2022 move, repackaged a desktop product that would not launch in the field into a single self-contained executable, and built the SHA-256-verified in-app updater that replaced ClickOnce's update channel.

  • WinForms + DevExpress
  • ClickOnce & self-contained publishing
  • Framework & component upgrades

Legacy data

Safeguarding a legacy ERP data migration

A long-lived ERP was being moved into SQL Server by a team, with incomplete documentation and years of accumulated data assumptions. My part was the safeguards: the column-mapping specification, cross-database integrity checks and the checkpoint and rollback procedures.

I wrote the diagnostics that compare migrated data column by column and flag silently emptied columns for triage, and the checkpointed runbook that gave each checkpoint an explicit rollback target so a failed step could be reversed cleanly.

  • SQL Server migration safeguards
  • Cross-database validation
  • Checkpoint & rollback procedures

Product engineering

Building a multi-branch clinic platform from the ground up

I co-founded a multi-branch clinic management platform built on .NET 9 and Blazor, and I own the software end to end: architecture, data design, implementation, testing and deployment.

The system spans appointments, patient records, treatment planning, billing, inventory, HR, reporting and branch-level access control, in Arabic and English. Because it handles clinical and financial data across branches, automated tests, audit logging, branch isolation, deployment safeguards and backup-and-restore verification are built into the architecture rather than added as afterthoughts.

  • .NET 9 + Blazor
  • Multi-branch architecture
  • Deployment safeguards

Start with a takeover sprint

Before anyone commits to ongoing work, I spend 7 to 10 business days inside your system and ship something real while I'm there. Scope is agreed in writing before the start date, the price is fixed for that scope, and you keep everything produced.

  1. 01 · fixed scope, fixed price · 7 to 10 business days

    Existing .NET system takeover sprint

    I get the system running on my machine, map how it actually works, and fix one agreed problem while I'm inside it.

    • A written map of the codebase, database and release path
    • One agreed, contained issue fixed and delivered as a reviewable pull request. You control the merge.
    • Regression tests around the area that changed
    • A risk-ranked backlog and a practical 30/60-day plan
    • A walkthrough and handover, with the documents in your repository or wiki

    Environment gate: if the system can't be built and run by the end of day 2, the sprint pauses, or we agree in writing to a shorter, lower-priced mapping engagement instead.

  2. 02 · after the sprint · 4 to 8 reserved days a month

    Reserved monthly capacity

    A block of my time reserved for you each month for features, defects, database work, integrations and releases, with a written update and working software you can review every week. The first month usually runs as a pilot on one agreed piece of backlog.

I run one takeover sprint at a time alongside a small number of reserved-capacity clients, so start dates are agreed up front rather than promised. You get a scoped quote by email once I understand the system.

Technical range

The stack behind the work above.

Core .NET

  • C#
  • .NET Framework 4.8
  • .NET 8 / 9
  • ASP.NET Core
  • Blazor

Desktop & data

  • WinForms
  • DevExpress
  • SQL Server
  • T-SQL
  • EF Core
  • Dapper
  • Schema migrations

Delivery & infrastructure

  • IIS / Windows Server
  • Azure DevOps
  • Azure Pipelines
  • ClickOnce
  • PowerShell

Engineering practice

  • xUnit
  • Integration testing
  • Playwright
  • Code review
  • Architecture
  • Production debugging

Why me

I'm a Cairo-based .NET engineer and currently a Team Lead on an enterprise .NET platform: I lead developers, review production code, write specifications and plan delivery. Most of my experience is in software with users, data and history: systems that can't stop operating while they're being improved.

I separate actual risk from ugly-but-working code, then improve the system while it keeps shipping.

On contract work you deal with me directly: agreed scope, regular written updates and working software you can review.

Have a .NET system that needs an owner?

Email me three things: what the system is, what's going wrong or needs to change, and when you'd want to start. I'll tell you whether I'm a fit, what I'd do first and, if it fits, a scoped quote for a takeover sprint.

me@omartarekali.com

The button opens your own email app with a short template. If nothing opens, copy the address and send those three points from any mail client.