Who we are
Since 2005, ICD has supplied enterprise servers, storage, networking parts and data centre maintenance to businesses in Egypt, the Gulf, Africa and beyond.
Why this role matters
ICD's quotations, sourcing, orders, HR and finance all run on ERPNext and custom Frappe apps built for the way ICD works. This developer extends and maintains those apps, so that the business can move faster with fewer manual steps.
What you will do
- Design and build features in ICD's custom Frappe apps: DocTypes, controllers, hooks, reports, print formats and workspaces.
- Extend ERPNext and HRMS through custom apps only, using overrides and hooks rather than changing core code.
- Write server-side Python and client-side JavaScript that respects ERPNext permissions and role-based access.
- Build integrations with email, WhatsApp, the WordPress website and external APIs, with proper error handling and logging.
- Write tests and review code before release, and follow the agreed deployment and migration process.
- Investigate and fix bugs at the root cause, using logs and data rather than workarounds.
- Document changes and work closely with sales, procurement, HR and finance users to understand their needs.
What you bring
- Bachelor's degree in computer science, software engineering or a related field.
- At least 3 years of professional Python development, including at least 1 year on Frappe/ERPNext.
- Good JavaScript skills and experience with REST APIs.
- Working knowledge of SQL databases (MariaDB/MySQL) and Git.
- Understanding of ERP business processes such as sales, purchasing, stock or HR.
- Clear written communication and a habit of documenting work.
Nice to have
- Contributions to Frappe or ERPNext open-source projects.
- Experience with Vue.js or Frappe UI.
- Experience with Redis, background jobs and performance tuning.
- Familiarity with WordPress/PHP integrations.
Languages
Professional English, spoken and written; Arabic or French is an advantage.
Travel
Hybrid: some days in the office, some days from home; occasional local travel only.
What we offer
Paid leave
Leave types: annual, casual, emergency, Hajj, Iddah, maternity, paternity, sick, study.
Paid overtime
Overtime hours are paid in your salary.
Bonus
A bonus for strong results.
Employee of the Month
A monthly prize for the top performer.
Work from home
Up to 3 days a month.
End-of-service gratuity
Paid under labour law when you leave.
Salary advances
An advance on your salary when you need it.
Working hours
09:00 to 17:00, Ramadan 09:00 to 15:00
Working week
Sunday to Thursday
Public holidays
21 public holidays this year.
How we hire
The same steps for every role. We reply within 10 working days.
- You apply
- HR reviews your application
- Interviews
- Offer
- Final approval
- Onboarding
