Mohamad Fayad I build ERP systems and the infrastructure they run on.
Odoo development and migration, HR and operations modules, and the Linux hosts behind them.
What I build
-
Odoo migration
Moving a production Odoo deployment from 16 to 19: the custom modules, the theme layer, unit and browser tests, a production readiness audit, and a data verification pass.
-
HR and operations modules
Penalty and time off modules, asset booking conflict rules, and task progress reporting: the parts of an ERP that encode how one company actually runs.
-
Arabic as a deliverable
A reusable Arabic debt aging report pipeline, operational logs and compliance analysis, and HR policy and documentation. Arabic here is a deliverable in its own right, not a translation pass over an English original.
-
The systems underneath
Administering the Oracle Linux host a production Odoo runs on, and the Windows directory and single sign on chain in front of it for a government client.
How I work
-
The requirement comes first
I want the requirement clear before I write anything. On the version migration that meant reading every converted rule back as a plain sentence and confirming it with the person who owns that process, before it shipped.
-
Structure the next person can read
I keep the module structure clean so the next person can read it, and I draw the boundaries by how things fail. If two pieces of code would be reviewed by different people for different reasons, they are probably two modules.
-
I would rather say it is a bad idea
I would rather tell you a thing is a bad idea than build it twice. What I care about is upgrade safe design: Odoo's extension points used correctly, so customisations survive the next version instead of being rewritten. No monkey patching.