* 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,