Digital banking & payments — Cairo

Software that moves money.

I work on the digital banking platform behind Alahly Net and the NBE mobile app — from the screens customers use, down through the services, the data and the release itself.

National Bank of EgyptSoftware engineer
Digital banking
OBDXAlahly Net
NBE mobile app
Transfer RevampProof of concept
to production
Full stackScreens, services
data, release
01 / About

Problems that cross layers.

I'm a software engineer at the National Bank of Egypt, working on the digital banking platform used by retail and corporate customers on mobile and web.

I work across the whole channel — the banking services customers use, the logic and flows behind them, the services and APIs that feed them, the database side, and getting releases onto the servers. A lot of it starts from a Figma design and ends as a feature running in production.

Most issues in banking don't live in one place. I trace them from the screen through the services and integrations down to the data until I find the actual cause. That's the most useful thing I've built here.

What decides whether any of it worked is the person holding the phone — whether what they came to do takes less effort than it did before.

Before the bank I freelanced for a couple of years, building websites and single-page applications for clients. That's where my JavaScript and React foundation comes from.

02 / Experience

Where I've worked.

From client websites to the payment journeys of Egypt's largest bank.

May 2024 — Present

Software Engineer — Digital Banking

National Bank of Egypt (NBE)
Cairo, Egypt · Full-time · On-site
  • Own banking services on the OBDX platform from the first design review to the version running in production
  • Design the flows and business logic behind the screens, and the integrations that connect them to the bank's services and core systems
  • Work across the stack: JavaScript with Oracle JET and Knockout.js on the front, Java EE services and REST APIs behind it, Oracle Database, SQL and PL/SQL
  • Modernise legacy screens and flows without breaking what's live — new components kept separate from the existing set so services stay stable through a phased rollout
  • Transfer Revamp: proposed it, built the proof of concept and carried it through to production
  • Turn business and payments requirements into what actually ships, and stay accountable for it after go-live
  • Support production issues — follow the request through the application, the integrations, the servers and the data, testing services directly at the API layer and going down to device level when needed
  • Own the release path: deployment steps, database scripts, server and UI deployment, backups and a rollback plan
  • Close security findings raised by penetration testing on the channel
  • Built the automated test suite the team runs before every release, covering the API and the main journeys so regressions are caught before customers see them
  • Part of the team that launched Apple Pay in Egypt
Jul 2022 — May 2024

Frontend Developer — Freelance

Upwork
Remote
  • Delivered responsive websites and single-page applications for international clients, from design handoff to deployment
  • Built applications on MVC patterns with REST API integration and modern JavaScript
  • Worked with JavaScript (ES6+), React.js, HTML, CSS and Sass
  • Handled the client side directly: scope, updates and delivery
Aug 2022 — Dec 2022

Software Engineer Intern

LAMTEC / Efta-Lamtec
Cairo, Egypt
  • Developed and tested software for industrial automation systems and manufacturing equipment
  • Wrote and ran test cases against equipment behaviour and traced defects back to their source
Jul 2019 — Nov 2019

Technical Sales Representative

GIGA — Security Systems & IT Solutions
Cairo, Egypt
  • Advised business customers on security systems and networking hardware, matching products to their technical requirements
03 / Selected work

What I've shipped.

The projects I'd want to talk through in an interview.

Live in production

Transfer Revamp

Moving money is the reason most customers open a banking app. Rebuilding that part of the channel wasn't on anyone's plan — I put the case together, built a proof of concept to show it could be done on the platform we already had, and stayed with it until it went live.

The hard part was never the design. It was rebuilding something people depend on every single day, while they're depending on it, and having no one feel the change.

  • Every transfer journey rebuilt: own accounts with currency conversion, other banks by account number and IBAN, wallets, instant payments, donations, cards, scheduled and multiple transfers
  • New components built beside the existing ones rather than on top, so live services stayed untouched through a phased rollout
  • Routing rules for each payment rail with the fees and validation each one requires, and live currency conversion behind a customer-facing amount
  • Reference data reconciled against the payment network, and the service configuration behind every screen
  • Carried through to production: deployment steps, database scripts, a rollback plan agreed before go-live, and the acceptance cycles that signed it off
  • Delivered across mobile, tablet and web, for retail and corporate customers, in Arabic and English
Oracle JETKnockout.jsJavaScript Java EEREST APIsOracle DB PL/SQLWebLogicOHS

Apple Pay in Egypt

Part of the team behind the country's first Apple Pay launch, working on testing and coordination with the vendors involved.

Security remediation

Closing findings raised by penetration testing — transaction and one-time-password handling under race conditions, and hardening the fields customers type sensitive data into.

Automated testing

Built the test suite the whole team runs before a release: automated checks on the API and the main customer journeys, so regressions show up in testing instead of production.

04 / Toolbox

What I work with.

Things I've shipped with, not things I've read about.

Frontend

JavaScript ES6+Oracle JETKnockout.js React.jsHTML5CSS3 SassResponsiveRTL / LTRFigma to code

Backend & data

Java EEREST APIsOracle Database SQLPL/SQLDatabase links Core banking integration

Platform & release

OBDXWebLogicOHS GitXcode buildsDeployment & rollback

Testing & quality

SeleniumREST AssuredTestNG PostmanAPI testingUAT Cross-device testing

Security

Pen-test remediationRace conditions Secure input handlingOWASP awareness

Domain

Digital bankingPayment flowsInstant payments ACHWalletsCards Currency conversionIBAN
05 / Personal projects

Built to learn.

Small applications from before and alongside the bank work.

Forkify

Recipe application with search, bookmarks and custom uploads, built on an MVC architecture.

JavaScriptMVCParcelSass

Workout Mapping

Log runs and rides on an interactive map, with location handling and data that persists between visits.

JavaScriptLeaflet.jsGeolocation

Bankist

Banking interface with transfers, loan requests and account closing, plus a landing page with scroll interactions.

JavaScriptDOMIntersection Observer
06 / Background

Education & certifications.

DegreeBSc Computer Science
UniversityOctober 6 University, Cairo
Years2018 — 2022
UdemyThe Complete JavaScript Course
UdemyAdvanced CSS and Sass
UdemyComplete Web Development Bootcamp
IMT SchoolEmbedded Systems
07 / Contact

Let's talk.

Happy to talk about payments, digital banking, or anything that breaks in production.

Send me an email →