Why I Still Write Code

I wrote my first line of code in 1998, in Cairo. I was thirteen, the machine was not mine, and nobody taught me. There was no bootcamp to enrol in and no forum to paste an error into. You read what documentation you could find, you typed, you got a message you did not understand, and you sat with it until it made sense. That was the whole method.

Two years later I won Best Application at the Cairo Governorate Schools Championship. I was fifteen. I have collected credentials since that look better on a page, but that one taught me the thing the rest are built on: software either works for the person in front of it or it does not, and nothing you say afterwards changes the answer.

I studied computer science at Al Shorouk Academy from 2001 to 2005, and then I spent five years at Mobinil doing work that had nothing to do with writing code. Customer service. Workforce management. Transport analysis. OSS administration. None of those job descriptions included a compiler. I wrote code anyway, because every one of those roles was drowning in a problem that a small program solved and a large meeting did not.

Then I left telecom entirely. From 2013 I was running WANAS CNC — actual machines, actual sawdust, actual payroll to meet every month. Wood carving alongside it. Then Nest Color, an advertising agency in the UAE, until 2021. Eight years selling manufactured goods and printed signage. I still wrote code. Not as a hobby on weekends. As the thing that told me what was actually happening in my own business when the reports my team gave me disagreed with the cash in the account.

That is the part people get wrong when they hear a managing director still opens an editor. They assume it is affection for a younger version of myself. It is not. It is the only way I know to keep a specific kind of honesty available to me.

Here is the mechanic. A client asks for something. Someone on the delivery side says it is not possible. I now have exactly two options: believe them, or check. If I cannot read the code, I can only believe them — and a founder who can only believe them will start making the two worst kinds of commitments. He will promise clients things that will quietly rot, and he will accept “no” from his own team on problems that were simply inconvenient rather than impossible. Both look identical from a distance. From inside the code they look nothing alike.

This is why Wanas Apps takes work that other partners decline. Most of the time, “not possible” means “not possible with the default configuration.” That is a completely different sentence. The gap between the two is where Deluge lives, and Catalyst, and middleware you write yourself because nobody has written it for this particular business yet. A partner who reads only the feature matrix sees a wall there. It is not a wall.

It cuts the other way too, and that matters more. Sometimes an engineer says yes and I know from reading it that yes costs three weeks of pain we have not priced and the client has not been warned about. Being able to say so before we commit has saved more projects than any clever thing I have ever built.

So no, it is not nostalgia. Nostalgia is remembering how something worked. I am trying to still know.