Juillet 2014 à maintenant : GHX US
Delivery Team du project CaseXpert : Java Lead Developer
Tâches réalisées
• Développement au sein d'une équipe Scrum d'une application de gestion des opérations chirurgicales, en télétravail ou au sein des locaux du client aux USA (Louisville, Colorado).
• Passage de connaissance aux équipes américaines sur les développements effectués préalablement en France
• Développement d'un prototype à partir de la plateforme existante
• Hackaton réalisé avec une équipe mixte Europe/USA
• Lead sur les aspects liés à la sécurité : CAS, authentification par certificat client
• Migration de la plateforme d'un hébergement interne à un hébergement cloud sur AWS (Amazon Web Services)
• Évolution de la plateforme
• Support aux équipes distantes en Europe ou au Etats-Unis
Technologies mises en œuvre
• Java : JDK 1.7/8, Maven, Spring, Tomcat, JPA/Hibernate, Axon, Google Guava, JUnit, Mockito, JMeter, Jersey, JAX-RS, Jackson, Spring Boot
• Outils : IntelliJ Idea, Jenkins, Git (stash), Rally, Dynatrace, JHipster, AngularJS, Maven, Gradle, Docker
• Base de données : Oracle, PostgreSQL, MongoDB
• Méthodologies : Scrum, CQRS, Even Sourcing, TDD
• Plates-formes : Windows & Mac OSX (développement), Linux et Solaris (déploiement), AWS (S3, Elasticache, Elastic Beanstalk).
Mars 2012 à Juin 2014 : GHX France
Delivery Team du projet CaseXpert : Développeur Expert Java
Tâches réalisées
• Développement au sein d’une équipe Scrum d’une application de gestion des opérations pour un client basé aux USA.
• Intégration d’une bibliothèque d’authentification centralisée par tickets basée sur CAS.
• Réalisation d’une interface graphique Smart GWT pour le pilote.
• Mise en place d’une plate-forme de tests automatisés basée sur JMeter.
• Lead sur les aspects liés à la sécurité : CAS, authentification par certificat client.
• Migration Subversion vers Git.
• Support aux équipes distantes.
Technologies mises en œuvre
• Java : JDK 1.6 & 1.7, Maven, Spring, Tomcat, JPA/Hibernate, Axon, Google Guava, JUnit, Mockito, JMeter, Jersey, JAX-RS, Jackson
• Outils : IDE Eclipse & IntelliJ Idea, Jenkins, Subversion, Git (stash), Rally, Dynatrace
• Méthodologies : Scrum, CQRS, Even Sourcing, TDD
• Plates-formes : Windows & Mac OSX (développement), Linux et Solaris (déploiement)
Résultats et améliorations
• Livraison du pilote aux dates prévues par le planning.
• Mise en production au premier trimestre 2014.
• Recherche des problèmes de performance et résolution par l’implémentation de caches (Hibernate niveau 2 ou pour les appels REST)
• Amélioration de plate-forme d’intégration continue (tests d’intégration automatisés, dashboard, déploiement automatisé).
• Amélioration de la couverture des tests unitaires.
• Intégration réussie au sein de la solution CaseXpert.
Code Story 2013 (*******)
Phase de sélection : en solo classement dans le meilleur groupe, 135 participants
Finale : au siège de Google France victoire en binôme avec Xavier Hanin (20 binômes)
Devoxx France 2013 : Session de live coding durant la journée du 28 mars.
Java 7, IntelliJ, JUnit, Fluentlenium, Mockito, Jersey, Git, Guava, Guice, Less, API Twitter
Septembre 2008 à Février 2012 : SGCIB (Freelance)
R&D de la plateforme d'animation des warrants de la SGCIB : Expert Technique Java
Tâches réalisées
Architecture, spécifications, réalisation & mise en production sur différents projets.
Lead technique de l'équipe Java.
Formation et suivi d'une équipe de développement à Bangalore (Inde).
Formation à la finance en interne (SGCIB University) & en externe (First Finance).
Module Warrant Broker : réécriture de la partie diffusion profiling optimisation de l'empreinte mémoire réécriture des mécanismes de synchronisation en environnement multithread, factorisation du code existant introduction de tests unitaires.
Création d'un nouveau système de monitoring pour la plate-forme Domino (Domino Monitoring System) : introduction des frameworks Spring & Hibernate/JPA, interfaçage via Tibco avec la plate-forme Domino, client-serveur Tibco & RMI.
Refonte des référentiels de la plate-forme : Introduction d'Ehcache création d'un ensemble d'applications basée sur le framework Spring configuration de la garbage collection sur les différentes applications.
Réécriture de la couche middleware de la plate-forme : réduction de l'empreinte mémoire compatibilité avec les modules existants environnements transactionnels et multithread remplacement du code maison par des bibliothèques telles que guava réécriture des accès base de données via JPA 2.0 (Criteria API) évaluation de transaction managers XA.
Technologies mises en œuvre
Java (1.6.0) : Profiling avec YourKit et Java Profiler, Tomcat, Spring, JPA, Hibernate, Infinispan, EhCache, Apache Commons, Google Guava, JUnit, Mockito, Maven
Eclipse, Tibco, Linux, Sybase.
Résultats et améliorations
• WarrantBroker : diminution de l'empreinte mémoire et de la CPU de 50%.
• DMS : mise en production du système en 2009, outsourcing de la maintenance à Bangalore.
• Référentiels : amélioration de la scalabilité, mise en place d'un système d'isolation des référentiels externes, amélioration du temps de démarrage des modules par un facteur 4.
• Couche middleware : diminution de la part de code généré de 80%, réduction de l'empreinte mémoire de 50%.
Mars 2004 à Septembre 2008 : Mycom France (CDI)
R&D de la Product Business Unit : Architecte Système
Tâches réalisées
• Responsable des aspects système (Unix, déploiement, etc.) du produit NIMS-PrOptima.
• Spécification, conception & développement de nouvelles fonctionnalités réponses à appels d'offres.
• Veille technologique & études préliminaires à leur adoption.
• Management des ressources système, de l'équipe maintenance recrutement.
• Mesure & amélioration des performances.
• Administration des serveurs d'infrastructure.
Technologies mises en œuvre
• Java (1.4.2 & 6.0) : generics en java 6 multithreading tuning de la garbage collection RMI JUnit JDBC JMS Servlet/JSP refactoring.
• Eclipse : IDE et utilisation du framework RCP.
• Languages de scripts : Perl (Linux, Solaris & Windows XP) et sh (Linux et Solaris).
• Perforce : administration mise en place des règles d'utilisation assistance aux utilisateurs et gestion du parc de licences.
• Oracle : procédure de migration d'Oracle 9i à Oracle 10g en collaboration avec un DBA certifié optimisation de requêtes.
• Linux (Debian) : installation & administration.
• YourKit profiler.
• GNATS.
Résultats et améliorations
• Déploiement de versions mineures et majeures de NIMS-PrOptima sur sites clients directement ou par l'intermédiaire de partenaires.
• Création d'un système distribué de simulation d'utilisateurs permettant une mesure fiable & reproductible des performances en charge du produit.
• Augmentation à ressources constantes du nombre d'utilisateurs pouvant travailler simultanément.
• Mise en place de tests unitaires.
• Plus de 50 utilisateurs de Perforce répartis sur trois sites à Paris, Londres et Taïpei.
• Déménagement de plus de 50 serveurs.
Décembre 2003 à février 2004 : Calyon (Mission pour Objectware)
Département Fixed Income : Ingénieur build/release
Projets Ares, Artemis et Orpheus
Tâches réalisées
• Gestion d'un environnement des développement C++/Java.
• Exploitation du système de compilation automatique.
• Préparation des releases et livraison aux équipes d'assurance qualité et production.
Technologies mises en œuvre
• Java
• C++
• Ant
• Eclipse
• Perl et ksh sous Windows avec Cygwin
• Purify
• PVCS Version Manager et PVCS Tracker
Résultats et améliorations
• Déploiement journalier des nouvelles versions.
• Mise en place d'une infrastructure de tests automatiques pour la partie Java.
Juin 2002 à Avril 2003 : Avivias (CDI)
Ingénieur Sénior
Projet de video asset management
Tâches réalisées
• Création d'un système de Video Asset Management (acquisition, indexation, archivage et recherche) à destination des entreprises.
• Développement suivant la méthode d'Extrem Programming au sein d'une équipe de chercheurs et d'ingénieurs confirmés de 8 personnes.
• Réalisation d'une maquette à des fins de démonstrations et de spécifications.
• Participation aux travaux marketing pour les aspects audio-visuels et informatiques.
• Mise en place du réseau de l'entreprise.
• Écriture des règles de codages Java & C++ en usage.
Technologies mises en œuvre
• Eclipse.
• Extrem Programming
• Java : JDO, JNI, RMI, multithreading, SWT pour les IHM, JUnit.
• MPEG4 et MPEG7.
• Serveur de streaming Darwin.
• Linux (Mandrake)
• Quicktime.
• Visual C++.
• Solaris.
Résultats et améliorations
• Présentation de la maquette à des prospects dans le cadre d'entretiens préliminaires.
• Réalisation des premières itérations du produit en cours de développement.
• Recrutement de trois ingénieurs sénior.
Août 2000 à Mai 2002 : Canal+ Technologies (CDI)
Département IHM & Web : Architecte
Projets Easymag, G2 et BGCTV
Tâches réalisées
• Projet Easymag : réalisation d'un démonstrateur de réédition de sites web en télévision intéractive pour le salon IBC.
• Projet G2 étape v0 : Participation à l'ensemble des phases du développement des outils d'édition head end, suivi de développement. Étude ergonomique et graphique des outils JSP.
• Projet G2 étape v1. Spécification générale, réalisation d'une proposition d'architecture.
• Projet BGCTV (Cablo-opérateur à Pékin). Étude en vue l'internationalisation des applications head end en chinois.
Technologies mises en œuvre
• Java : JSP, Manipulation XML DOM/SAX
• Apache/Tomcat
• Serveur Wokup
• GD Pro
• Netbeans
• Oracle RDB
• Windows NT4 et Windows 2000.
Résultats et améliorations
...