Ayman Madkour
Verified Expert in Engineering
Cryptography Developer
Ayman is a professional Java developer with over eight years of experience—meaning that he's well versed with a variety of Java technologies (including Java SE, Java EE, JSF, EJB, JPA, Hibernate, Spring, Struts, etc.) as well as various databases (Oracle, MySQL, PostgreSQL, MongoDB). Ayman also is particularly skilled in front-end development involving HTML, CSS, JavaScript, and Angular.
Portfolio
Experience
Availability
Preferred Environment
Git, Eclipse, Linux
The most amazing...
...thing I’ve done was when, during my studies for my master's degree, I implemented several optimization and order-preserving encryption (OPE) algorithms.
Work Experience
Senior Software Engineer
Incorta
- Contributed to the development, maintenance, and documentation of Incorta's multi-threaded ETL tool using Java and ZooKeeper, along with a team of three senior developers and one architect.
- Analyzed, designed, developed, and documented Incorta's extensible data connector framework which provides a pluggable interface for data extraction connectors.
- Evaluated, designed, and developed ETL data connector for a NetSuite web service (SuiteTalk) as well as a NetSuite ODBC (Suite Analytics) using Java. The connector was responsible for extracting data from NetSuite account database and injecting it into Incorta's data warehouse.
- Analyzed, designed, and developed Oracle Essbase data extraction connector which is responsible for extracting data from Oracle Essbase cube using Java.
- Analyzed, designed, and built cloud storage data extraction connectors (Google Drive, Dropbox and Box) using Java and OAuth.
Senior Software Developer
RMGS
- Joined a small team to develop a data backup solution for Asigra, using Java. The project involved some unusual FreeBSD tools and technologies such as VMs and disk arrays.
- Led a team of five developers in the development and maintenance of several websites on the Clickability cloud CMS platform using HTML, CSS, JavaScript, jQuery, AngularJS, and Velocity templates.
- Developed batch data processing tools for the Clickability cloud CMS using Java. These tools were used for batch importing/exporting content as well as batch content modification and publishing.
Senior Software Developer
ASSET Technology Group
- Joined a small team that was responsible for the development of Vodafone Egypt's website using Oracle UCM. It was mainly an HTML template development project.
- Contributed to the development and maintenance of Vodafone Egypt's Business Portal (Sherkety) application using Struts, Hibernate, WebLogic Portal and Oracle DB. It was a complex project that involved integration with multiple third-parties (web hosting, online accounting and CRM applications, etc.).
- Analyzed, designed, and developed a store evaluation application for Etisalat Egypt using Spring, Hibernate, and Oracle Database. Responsibilities included leading a two-member team to implement the back-end, REST service and administration UI, and with another two-member team to implement the Android app used by onsite agents.
- Worked with a large team in the build, maintenance, and customization of an e-government evaluation system using Struts, Hibernate, and Oracle Database. It was a long-running project that has been customized and re-sold for several governments in the Gulf area.
- Worked with a new team on a new e-government evaluation system using JSF, JPA and Oracle DB; mainly for certain parts of the application involving complex logic such as formula parsing and evaluation.
- Developed and maintained an eCommerce application for Etisalat Egypt using Struts, Oracle Database, and Konakart.
Software Developer
Microtech
- Contributed as a junior member of a large team to maintain and enhance the company's Infinity ERP system using Delphi and SQL Server.
- Collaborated with a senior developer from Dezide (a partner company) to develop Dezide's document search engine. Responsibilities included the design and implementation the web interface using Java and Spring while another team member was responsible for the back-end (crawling, indexing, and more).
Communication Engineer
NTRA (Egypt)
- Analyzed, designed, and developed a BTS station database with a web interface using Spring, Hibernate, and MySQL.
Experience
Incorta ETL
I was responsible for the ETL part of the product. I designed and developed a framework that allows pluggable components—called connectors—to be added to the product. A connector is responsible for extracting data from a specific source (e.g., a database or web service).
By creating an extensible framework for data extraction, it became possible to add dozens of new connectors easily.
Etisalat Egypt's Store Auditing Application
The store auditing application had two parts: a back-end and administration interface part which was used by administrators to specify settings and auditing rules and criteria. The back-end also included a REST service.
The second part is an Android app that is used by the auditors onsite, where they could fill certain forms and submit them to the back-end via the REST service.
JGears Validator
https://github.com/jgears/jgears-validator/Skills
Languages
XML, HTML, Java, Java 8, Scala, CSS3, JavaScript, HTML5, SQL, CSS, Delphi, TypeScript, Python
Paradigms
Object-oriented Programming (OOP), Functional Programming, Concurrent Programming, Object-relational Mapping (ORM), REST
Other
Cryptography, WebLogic, Web Services, SOAP, EJB 3, NetSuite, Enterprise Java Beans (EJB)
Frameworks
Angular, Spring, JSF, Hibernate, JPA, AngularJS, Apache Velocity, Bootstrap, PrimeFaces, OAuth 2, Apache Struts
Libraries/APIs
Box API, Dropbox API, Facebook API, Google APIs, Spring REST, jQuery
Tools
Apache Tomcat, SoapUI, Git, GitHub, Eclipse IDE, Bitbucket, Java Concurrency, Apache ZooKeeper
Platforms
JBoss, Oracle Database, Windows, Linux, Eclipse, Oracle, FreeBSD, Unix, Android
Storage
PostgreSQL, MySQL, Apache Derby, Essbase, Microsoft SQL Server, MongoDB, Spring Data
Education
Master's Degree in Computer Science
American University in Cairo | AUC - Cairo, Egypt
Graduate Diploma in Computer Science
Arab Academy for Science, Technology and Maritime Transport | AASTMT - Cairo, Egypt
Bachelor's Degree in Communication Engineering
Alexandria University - Alexandria, Egypt
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring