* An ongoing project: Redesign of the ATM server and POS server,
* Analyze and optimize the response time of the ATM and POS servers,
* An ongoing project: Establish the R&D department,
* Lead tasks related to release management (Give training on the SCM/Git tool, manage software development cycle, …) .
* Head of the acquisition project of « AL BARID BANK ». (banking payment solution , TMS and added value services),
* Implementation of a multi-vendor and cross-platform banking payment solution for EPT,
* VISA and MasterCard certification of the banking payment solution (contact and contactless),
* Migration of the oil management and loyalty application to a multi-vendor application for EPT,
* Establishment of a dynamic management library of graphical menus for EPT,
* Implementation of the electronic documents personalization project’s request of changes,
* Reverse-engineering of existing electronic documents personalization application.
* Design and implementation of the network communication abstraction layer of the S2M electronic payment solution,
* Audit of the existing C ++ source code (the online interfaces of the electronic payment solution),
* Maintenance of the ATM server C ++ source code,
* Staff training on the source code versioning tool « Git »,
* Setup of the company development phase workflow,
* Resolving critical C ++ bugs (memory leak, memory corruption …),
* Supervision of trainees,
* Participation in the CMMI level 4 certification project,
* Study, design and implementation of a web application for sales order management and modeling of S2M software products
* Implementation of a software building system for S2M software products,
* Automated build of software packages ordered by S2M clients,
* Study, design and implementation of a distributed software package installation system.
Collaboration as part of a research and development project on the MPPA platform http://en.wikipedia.org/wiki/MPPA
* Parallelize a C ++ video streaming application:
o The parallelism of the application is based on the « Dataflow » paradigm http://en.wikipedia.org/wiki/Dataflow_programming,
o The network protocol used for video broadcasting is « RTP »,
o « UDP / IP » network encapsulation is done in the user space without going through the kernel network layer.
* Run different test scenarios and collect statistics to help other employees to formulate an idea about the importance of hardware implementation of an MPPA platform.
* Teach graduate students the theory of operating systems by studying their different components :
o Memory management (types of memory organization, memory allocation algorithms, virtual memory and cache memory),
o Interrupt management,
o CPU allocation algorithms,
o File system,
o Concurrent programming.
* Supervise students on small research works (GDB, Compiling the Linux kernel and User Mode Linux)
Computer engineer “Senior Linux kernel programmer”
* Design the integration of the company networking solution “optimization of TCP traffic over satellite links by implementing SCPS protocol and other proprietary extensions” from FreeBSD to Linux kernel,
* Design of the company networking solution for Android phones,
* Port of the company kernel networking code (TCP / SCPS-TP stack) from FreeBSD to Linux,
* Integrate the company solution into different platforms (embedded systems based on ppc and arm),
* Track and fix bugs,