Right Money Management App For Your Financial Goals
Ahmed El Mawaziny CV
1. Ahmed El Mawaziny
T: [+20 100 300 9331], [+966 55 892 9351]
E: [amawaziny@gmail.com], [Linkedin], [Acclaim], [Gitlab]
Personal Info Nationality: Egyptian
Date of Birth: 30-9-1986
Marital Status: Married
Military service: Exemption
Summary Experienced Software Engineer with extensive practical experience in large
enterprise projects. Leading several initiatives to improve software development
practices in the areas of microservices, DevOps, CI/CD, TDD and automated testing.
Software development ● Architecture Patterns:
○ Microservices, Service-base, Event-driven, CQRS
○ Microkernel, Layered
● Languages:
○ Java, Python, Go, Kotlin
● Backend Frameworks:
○ Javaee (JAX-RS, JAX-WS, EJB, JPA, CDI, JAAS, Bean validation)
○ Microprofile
○ Spring-boot (Web, Security, Data, Aspect, Cloud, Configuration, Caching)
○ Axon CQRS
○ Python (Flask, MongoEngine)
● AI and Machine Learning
○ TensorFlow, TenserFlow lite
○ Keras, sklearn, Pandas, Numpy
● Frontend Frameworks:
○ Vaadin, JSF (Primefaces), JSP
○ HTML5, CSS, SCSS, Angular, JQuery
○ SingleSPA (Micro-frontend)
● Mobile Frameworks:
○ Android development by Java, Kotlin
○ Firebase, Facebook-sdk
○ Cordova (HTML5, JQuery Mobile), Vaadin TouchKit, MGWT
○ Codename-one
● Databases:
○ Oracle, MS SQL Server, IBM DB2, MySQL, PostgreSQL, MongoDB, Cloud
Firestore.
2. ● Cloud Platforms:
○ Kubernetes, Docker, Openshift, IBM Bluemix, Cloud Foundry, Amazon AWS
and S3
● Microservices Tools: Apache Kafka, Apache Elasticsearch, Zipkin, Axon Server
● DevOps Tools: Git, Linux, Maven, Gradle, Jenkins, Artifactory, Rundeck, SonarQube,
Circleci.
Experience Senior Software Architect, Sumerge Software Solution
Cairo — 01/2017 - Present
● Designing feasible solutions for business requirements that achieve
important architectural qualities like observability, testability, and
maintainability.
● Maintaining the architecture and making sure everyone understands and
adheres to the architecture, identifying anti-patterns and take proper actions
and measures to prevent them.
● Providing expert analysis and comparisons among different technologies to
help take informed decisions.
● Providing expert knowledge in multiple areas: backend technologies,
frontend technologies, security, performance, testing, deployment, and
legality.
● Identifying bottlenecks and providing alternative solutions.
● Consider project restrictions like People, Resources, Time, and Cost.
● Review and assess detailed designs.
● Providing consultancy on who makes a good candidate to join the company.
This includes preparing technical tests and conducting interviews.
● Organizing & Preparing the project for the team to start working on.
● Troubleshoot and solve development show-stopping problems.
● Proactively set conventions, best practices, and quality standards.
● Identify and introduce ways and tools to improve the development process.
● Conduct effective code reviews.
● Providing Support, Motivation, Recognition, encouragement & inspiration
for team members.
● Giving constructive feedback to every team member to make sure they are
aware of their positives and room for improvement.
● Improving team technical competence through knowledge sharing,
mentoring, shadowing, etc.
● Executes the buddy system with new hires and interns.
The Saudi Ministry of Commerce and Investment (MCI) – Unified
e-Services Platform and Private Cloud
The purpose of this project is to build a Unified Platform that allows boosting MCI
teams to provision new business services through a standard fast process that
ensures the integration between all components as well as decreasing the
dependency between components to eliminate any single points of failures. This will
make the services easier to be developed, delivered, deployed, managed, operated
and maintained. Checkout Solution Architecture Document
Unified Platform features:
1. Allows developers to develop, test, maintain and deploy microservices
independently.
2. Allows administrators to deploy microservices using DevOps (CI/CD
pipeline).
3. Allows the quality team to monitor test coverage and code quality.
3. 4. Allows administrators to Self-healing, Storage orchestration, Service Load
balancing and automatically scale microservices depending on usage.
5. Allows administrators to monitor performance and collect logs from all
microservices.
6. Allows administrators to rollback to the previous version of the deployed
microservice.
7. Allows the security team to monitor all requests and update services with
zero downtime.
Technologies:
● Spring Boot, Cloud, Kubernetes
● SingleSPA for Micro-frontends
● Kubernetes (Ingress, etcd, ConfigMap, Secrets, auto scaling)
● LDAP integration and Oracle HR Integration
● Mongo database
● Apache Kafka
● Zipkin
● Apache Elasticsearch
● CI/CD - Jenkins, Git, Artifactory, Docker, Docker registry, SonarQube,
Deploying on Kubernetes
Egyptian Electricity Holding Company (EEHC)– Ministry of Electricity
(MOE): A Unified Electricity Billing and Customer Management System
The purpose of this project is to build a Unified Electricity Billing & Recharge solution
to be used across all 9 electricity distribution companies covering the whole country
and supporting all meter types. The solution replaced several other legacy systems
that were used by the 9 distribution companies. The solution is composed of 3 main
components; the core billing system, the payment gateway for integration with
payment channels and a central data warehouse for BI and Analytics.
Technologies:
● Java Web application (JSF, EJB, JPA, JAX-RS)
● Integration with Fawry, e-Finance and any payment gateway for recharging
via POS
● Integration with Handheld devices
● MSSQL Server Database
● IBM WebSphere Application Server
● CI/CD - Jenkins, Artifactory, Rundeck, Custom docker file for Websphere full
profile
UniCare, Medical Insurance: Claim Management System
The purpose of this solution is to build an end-to-end Claims Management System
aimed to help UniCare at processing claims in an effective way that would enhance
their customers’ experience, their internal operations, claims review time, fraud
detection and payments to medical providers.
Technologies:
● Java Web application (JSF, EJB, JPA, JAX-RS, JAX-WS)
● IBM Case Manager Integration
● Redhat drools
● IBM Filenet
● IBM Websphere 8.5.5
● IBM DB2
● CI/CD - Jenkins, Artifactory, SonarQube, Custom docker file for Websphere
full profile
4. Technology Team Lead, Sphere-Consulting
Cairo — 09/2016 - 12/2016
● Choices available during development by
○ choosing a standard way of pursuing application development
○ creating, defining, or choosing an application framework for the
application
● Software security by
○ develop, implement, test and review an organization's information
security in order to protect information and prevent unauthorized
access
● Recognize potential reuse in the organization or in the application by
○ observing and understanding the broader system environment
○ creating the component design
○ having knowledge of other applications in the organization
● Subdivide a complex application, during the design phase, into smaller, more
manageable pieces.
● Design the functions of each component within the application.
● Manage the interactions and dependencies among components.
● Communicate these concepts to developers.
Senior Software Engineer, dopay
Cairo — 09/2014 - 09/2016
Software Architecture/Development for the dopay system.
The purpose of this project is to build a system for banking unbanking employees by
integration with Barclays and generate Credit Card by integrating NI for these
employees that allow them to buy from stores or online, mobile wallet and
withdrawal their salaries
Technologies:
● Java Web application (Vaadin framework for UI,EJB and JPA for backend
business component, JAX-RS for web service integration)
● Integration with OTS company for sms gateway
● Integration with Microsoft outlook for Emails
● Mobile application backend web service
● Database design on MariaDB
● Integration with online payment with NI company
● Software security develop, implement and test
● CI/CD - Jenkins, Rundeck, Amazon aws/s3 and Artifactory with git push
Software Engineer, Tanmeyah for Micro Enterprise loans
Cairo — 06/2010 – 12/2013
Analysis/Design database and enterprise application development.
CAMS – Microfinance system
The purpose of this project is to build end-to-end micro enterprise loans system with
payment tracking and integration with Egabi bank-plus
Technologies:
● Javaee EJB and JPA for Backend business component
● Database design on Oracle database and MySQL
5. Call Center System integrated with Asterisk
The purpose of this project is to follow up with customers by calling them using
integration with open source Asterisk and manage WAV files for reporting
Technologies:
● JSF for front end with primefaces component
● EJB and JPA for Backend business component
● Database design on Oracle database
IScore bulk request/response and Dispute
The purpose of this project is to build a layer between Tanmeyah database and
IScore database, in this layer user can dispute or send bulk request to IScore for
inquiry then the layer process IScore response files in xml format and insert data in
database then generate excel file for business users
Technologies:
● Java SE Swing framework for GUI
● XPath for processing xml files in multi threading
● MVP Design Pattern
Software Engineer, Freelancer
Mutabaa - Debit Tracking Monitoring System
The purpose of this project is to build a tracking and monitoring system for
microfinance companies and banks. Banks can send their investigation form to
Mutabaa for investigation on customers and see if they deserve a micro loan or not,
Mutabaa takes this form and puts it into the system so the inquirer can open this
form on handheld and fill it and put the customer hand's signature on it. Mutabaa can
collect money from customers by a collection module that can track user's handheld
by GPS and send the coordinates to his supervisor. Also Mutabaa can call customers
by a call center module.
Technologies:
● Frameworks: Java EE 7, JSF 2.2 (mojarra 2.2.6, primefaces 5.0), EJB 3.2, JPA
(Eclipselink), RESTful (JAX-RS, JSON ,Jersey) and Cordova, JQuery Mobile for
mobile app
● Design Patterns: MVC, ECB, Facade
● Database: MySQL
● Application Server: Glassfish 4.0
Odoo (OpenERP) - Responsibility SOD for Lafarge
● Manage (Create, Edit, Delete) and Search for "Tasks"
● Manage (Create, Edit, Delete) and Search for "Profiles"
● Manage (Create, Edit, Delete) and Search for "Incompatible tasks"
● Assign Task to Profile then Assign Profile to Employee
● Check Incompatible tasks
Odoo (OpenERP) - Cloud Management
The purpose of this project is to build a user interface for managing Odoo databases
instances like manage users, backup/restore database and install/remove/update
modules
6. ● Frameworks: Java EE 7, Vaadin 7.2.6 , EJB 3.2, JPA (Eclipselink) and Apache
XML RPC (for OpenERP xmlrpc)
● Design Patterns: MVP, ECB, Factory, Facade, Observes
● Database: PostgreSQL
● Application Server: Glassfish 4.0
Odoo (OpenERP) - Web and Mobile for LiveConnect Company for
insurance
The purpose of this solution is to build an end-to-end Claims Management System
aimed to help UniCare at processing claims in an effective way that would enhance
their customers’ experience, their internal operations, claims review time, fraud
detection and payments to medical providers.
● Web backend:
1. Custom Customer (Coordinator)
2. Customer Supplier (Service Provider)
3. Inherit Partner to create Employees (not using HR module)
4. Custom Address (Country, City, Street)
5. New models :
a. Service Group
b. Service
c. Policy
d. Policy Service
e. Service Provider Group
f. Partner Policy
g. Service Provider Policy
h. Service Group Policy
i. Financial Statement
j. Mobile app Ads
k. Messaging (Notifications, Messages and Timeline)
6. Validations on (valid from and valid to) for each record on database
table for this module and Calculating employee and service provider
monthly limitation and yearly limitation
● Android Mobile app multilingual
1. Authentication for employees and service providers
2. Read profile of the logged in user
3. Show timeline
4. Show messages
5. Show notifications
6. Show and Calculating Financial
7. Send service request with images, files and multi services
8. Show previous request
9. Google map shows markers for nearest service provider Android
Java and Odoo-jsonrpc
Odoo (OpenERP) - Fingerprint integration with HR timesheet
● Integrating OpenERP timesheet with fingerprint machine
● Sync between fingerprint machine database and OpenERP timesheet module
using OpenERP xmlrpc
● Frameworks: JSE 8, Apache XML RPC
7. Odoo (OpenERP) - Cloud Registration
The purpose of this project is to create a multi tenant application SaaS using Odoo.
● Sign Up with name, company name, email, mobile, phone and password.
● System will send an email to the user with the login info on the cloud server.
● System will create a partner with name, mobile, phone, email, (longitude and
latitude from user remote IP Address).
● System will create with this sign up a lead with company, email, phone,
mobile, (country, country code, postal code, city, longitude and latitude from
signup IP Address) and some internal notes and then add the login info
email as a comment on this lead
● When the user pressed the login button system will create a database with
sign up company and admin password on the cloud server.
● Users can login with admin@[company name] and password on the cloud
server.
Odoo (OpenERP) - Donor / Local Partner
● Manage (Create, Edit, Delete) and Search for "Donors"
● Manage (Create, Edit, Delete) and Search for "Donor Payments"
● Manage (Create, Edit, Delete) and Search for "Donor Delivery Notes"
● Manage (Create, Edit, Delete) and Search for "Local Partners"
● Manage (Create, Edit, Delete) and Search for "Local Partner payments"
● Manage (Create, Edit, Delete) and Search for "Local Partner invoices"
● "Supplier/Donor" field in "Incoming Shipments"
● "Delivery Orders" for Local Partners
● "Financial Confirmation" step in workflow of "Purchase Orders"
● Work with Donor in CRM Leads
● Donor Accounts and Local Partner Accounts in report Partners balance
Odoo (OpenERP) - Integration between Attendance and HR Payslips
● "Day work to" field in Working Schedule
● Penalty Deduction (Sign in, Sign out, Non Attend)
● Python code for Payroll "Salary Rules" to compute sheet
● Calculate the number of working days and working hours based on
attending and contract working schedule
● List, Add, Delete deduction days for the employees
Education Engineering October 6 University
Good — 2009
Department : Computer Engineering
Project Grade : Excellent
Project title: Security wireless network with applications
Project content :
● Windows server 2003:( Active directory – DHCP – Domain controller – DNS).
● Security using : ( ISA server 2004 - Pix Firewall – VPN ).
● Applications : ( Voice – Video - Mail Exchange – GPRS – E-Learning ).