Amadeus : Senior Software Developer

Payment Solutions and Financial Services / July 2009 - Present

Being member of the Amadeus Payment Solutions unit, I am working on deployment of EMV (Credit Card Chip&Pin) solutions for airlines.

In my team we are developing server side software that handles payment flows (authorization, capture, reversal,...) mainly for airlines ticketing and airport check-in services. It deals with international payment protocols (Visa, MasterCard, American Express), local country providers (Debit Cards, Boleto,..), and external Payment Services Providers (Paypal, iDeal,...).

Main software is developed in C++/Oracle on Linux platform, and monitoring / consistency checking / statistics tools developed using Python / Web 2.0 (Django / HTML+CSS+Ajax+jQuery)

Amadeus : Software Architect & Developer

Electronic Ticketing Solutions / October 2008 - July 2009

C++ Developer on Electronic Ticketing Solutions for Airlines. Architect for new EMD (Electronic Miscellaneous Documents) kind of tickets to handle in-flight services.

Amadeus : Software Developer

C++ Network Middleware Devlopment / April 2005 - October 2008

I develop in modern C++ (multithreaded, Boost, smart pointers) a critical piece of networking software over TCP/IP that enables the routing of applicative messages between internal application servers and external clients (departure control systems, airlines, travel agencies, GDS).

This software is the heart of the Amadeus system that must provide 24/7 availability, failure recovery and extensive scalability. This is achieved by using a distributed architecture that enables smooth software loads, dynamic reconfiguration and self-monitoring. The system runs on a bunch of standard linux boxes and globally achieves a trhoughput of more than 75000 transactions per second.

During my 3.5 years of work my main activity has been to implement new communication protocols and rewrite the dynamic configuration system using SQLite and dependency graphs, so each Linux box locally stores in a local database a subset of the master configuration.

Open Source Devlopment : Panomatic

Initiator and Software Developer / January 2008 - January 2011

After buying a new Mac I could not stitch anymore my panoramas because no such tool was open source and good enough. I started Panomatic, a software that computes matching points pairs between pictures sets. The main application of panomatic is to help recognition of panoramas from several picture shots, that can be assembled into a final image with Hugin (a tool to assemble the panoramas). Lately, the codebase has been used to start a new patent free solution integrated in Hugin.

Freelance : Web Developer

www.salsamonaco.com / August 2011 - Present

Devlopment, design, deployment. HTML5/CSS3 + jQuery client side, Python + Django + FeinCMS + PostgreSQL server side.

www.andrh-oise.fr / July 2004 - December 2005

Devlopment, design, deployment. HTML/CSS client side, PHP + MySQL server side.


C++ and Frameworks : Design and Develop

Experience Level: Advanced [5+ Years]

I have a large experience of C++ Object Programming mainly on Linux platforms, including frameworks like Boost and Qt4.


Experience Level: Intermediate [3 Years]

I wrote many tools and scripts and applications in Python to make my dev life easier. Lately I started to use the Django framework to deploy websites.

Web 2.0 : Client and Server side

Experience Level: Intermediate [5 Years]

I know how to design, build and deploy a website from scratch. My latest projects use Python + Django on server side, HTML5 + CSS3 + jQuery on client side.

Data Storage

Experience Level: Intermediate [5 Years]

I worked mainly with SQL Databases (Oracle, MySQL, SQLite). But I'm very interested in NoSQL approach...


University of Waterloo (Ontario, Canada)

Computer Science / 2003 - 2004

As an exchange student. Main courses : Cryptography, Computer Graphics.

UTC (Compiegne, France)

Computer Science Degree / 1999 - 2005

Specialization in Combinatorics and Optimization