I wrote my first line of code in 1998, in Cairo. I was thirteen. The machine wasn’t mine and nobody taught me — there was no bootcamp to sign up for, no forum to paste an error into. You read whatever documentation you could find, you typed, you got a message you didn’t understand, and you sat with it. Sometimes for days. That was the whole method.
Two years later I won Best Application at the Cairo Governorate Schools Championship. I was fifteen. I’ve collected credentials since then 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 doesn’t, and nothing you say afterwards changes the answer.
Then computer science at Al Shorouk Academy, 2001 to 2005. After that I spent five years at Mobinil doing work that had nothing to do with writing code. Customer service. Then workforce management, transport analysis, OSS administration. None of those job descriptions mentioned a compiler. I wrote code anyway, because every one of those roles was drowning in some problem that a small program solved and a large meeting didn’t.
Then I left telecom. From 2013 I was running WANAS CNC — actual machines, actual sawdust, 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 through all of it. Not as a weekend hobby. It was how I found out what was actually happening in my own business, on the months when the reports my team handed me disagreed with the cash in the account.
That’s the part people get wrong when they hear a managing director still opens an editor. They assume it’s affection for a younger version of myself. It isn’t. It’s the only way I know to keep a specific kind of honesty available to me.
Here’s the mechanic. A client asks for something. Someone on the delivery side says it’s not possible. I’ve now got two options: believe them, or check. If I can’t read the code, I can only believe them — and a founder who can only believe them starts making the two worst kinds of commitments. He promises clients things that will quietly rot. And he accepts “no” from his own team on problems that were just 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 other partners turn down. Most of the time “not possible” means “not possible with the default configuration,” which is a completely different sentence. The gap between those two is where Deluge lives. And Catalyst. And middleware you write yourself because nobody has written it for this particular business yet. A partner reading only the feature matrix sees a wall there.
It cuts the other way too, and honestly that matters more. Sometimes an engineer says yes, and I can tell from reading it that yes costs three weeks of pain we haven’t priced and the client hasn’t been warned about. Being able to say so before we commit has saved more projects than any clever thing I’ve ever built.
So, not nostalgia. Nostalgia is remembering how something worked. I’d rather still know.