Langues: Français (langue maternelle), Anglais (courant), Russe (courant), Espagnol (notions).
Langages de programmation et techniques: Je dispose de compétences très poussées en programmation objet (C++, Java, Groovy, Python, PHP) et technologies web (ou autres technologies client-serveur): JEE, Ajax, SQL, JavaScript, XML, (X)HTML, CSS...
Librairies et Frameworks: J'utilise de nombreuses librairies pour des besoin variés (Boost, Qt). Je suis notamment expérimenté dans les frameworks d'applications web: Spring, Grails, Prototype, Google Web Toolkit. Si possible, j'essaie de profiter de la puissance apportée par des ORMs comme Hibernate pour dialoguer avec les bases de données.
Outils et environnements de programmation: Je maîtrise l'intégralité de la chaîne d'outils de développement: compilateurs (GCC, javac), environnements de développement (Eclipse et nombre de plugins), débogueurs (GDB, XDebug...), gestionnaires de projet (Ant, Gant, Make), systèmes de contrôle de version (CVS, Subversion). Je peux aisément m'adapter à d'autres outils et environnements.
Expérience d'une large gamme de systèmes informatiques et d'applications (client ou serveur), dont: Unix (Linux, Mac OS X), Apache, Tomcat, MySQL, Lighttpd, vsftpd, le système de composition de textes LaTeX...
Compétences spécialisées: Je connais de manière approfondie les résultats récents provenant de la recherche dans les domaines de l'apprentissage par machine (intelligence artificielle), et des méthodes Monte Carlo.
Je suis également spécialisé dans de nombreuses technologies open-source, et suis un contributeur de la distribution Gentoo Linux (équipe Java).
Janvier 2007 - Présent: Ingénieur développement Sénior à FastBooking, Paris, France. Je fais partie de l'équipe de R&D team qui compte environ 5 personnes. Je maintiens les serveurs et les applications en-ligne critiques, dans un environnement 100% open-source (principalement en architecture LAMP ). Je prends également part au développement de sites web dans leur intégralité; ils assurent la promotion des hôtels utilisant nos systèmes de réservation. Par exemple, le site Only-Recommended-Hotels a été développé par notre équipe en seulement trois mois - j'ai été responsable dans une large mesure du choix de son architecture et de sa programmation. Octobre 2005 - Janvier 2007: Ingénieur de Développement informatique à Oberthur Card Systems , Paris, France. J'ai développé un système de production de cartes à puce complet, prenant en compte la totalité des besoins depuis les fichiers envoyés par les banques jusqu'à la cryptographie et la personnalisation électrique finale. Pour ceci, j'ai interagi avec de nombreuses équipes: l'équipe R&D durant la conception du logiciel intégré à la carte, l'équipe de développement du système de personnalisation et finalement les équipes de production en usine pour y déployer le logiciel. Octobre 2004 - Janvier 2005: Stage chez Schlumberger , Clamart, France, comme développeur logiciel. Ma tâche était de concevoir, puis de programmer (en C) et documenter un solveur général devant obtenir l'optimum d'une fonction de coût sur un espace multi-dimensionnel. En combinant plusieurs heuristiques de recherche d'optimum, j'ai conçu un nouvel algorithme hybride. Il s'est avéré plus performant que le solveur précédemment utilisé par Sclumberger dans son logiciel BorFlow. Ce nouvel algorithme sera donc intégré dans la prochaine version commerciale de ce logiciel. |
1998: Baccalauréat.
1998-2000: Classes préparatoires aux Grandes Ecoles, filière MP (Mathématiques Supérieures et Spéciales), au Lycée Blaise Pascal (Orsay) puis au Lycée Saint-Louis (Paris).
2000: Admis à l' Ecole Polytechnique.
2000-2003: Etudes à l' Ecole Polytechnique. Majeures en Informatique.
2003-2005: Etudiant de troisième cycle (Graduate Student) au Department of Computer Science , University of British Columbia (UBC). Recherche et thèse en Intelligence Artificielle (modèles graphiques de probabilités et statistiques, algorithmes d'inférence).
Avril 2005: Obtention du diplôme final de l' Ecole Polytechnique.
Octobre 2005: Obtention du Master (Msc.) en Computer Science d' UBC.