Jean-Philippe ULPIANO
Kantstr. 19
80807 Munich
Allemage
Ingénieur ENSEEIHT
Ingénieur senior
développement informatique
C++/Java/Assembleur & Oracle
Né le 26 Novembre 1972
Nationalité : Français
Célibataire
Expérience professionnelle
Depuis
Septembre 2012 Ingénieur senior développement JAVA/mySQL
Développement JAVA d'un programme à orientation médicale permettant de définir une anamnèse
précise en fournissant des outils d'analyse de la progression d'un traitement. Le programme a une forte
dépendance avec l'acupuncture.
Le programme et son code source peuvent être présentés en entretien.
Développement en Java : RCP-JFACE-SWT
Développement d'un Wizard modulaire et flexible basé sur une configuration similaire à XML et ayant une
forte dépendance avec la base de données mySQL.
Outils graphiques proposant une analyse visuelle de l'évolution des symptômes.
La classe gérant les cartographies permet d'avoir facilement accès aux points d'acupuncture et leur
description complète. Son interface modulaire nécessite peu de développement pour l'ajout de nouvelles
cartographies (les types de points liés à chaque cartographie devant réagir différemment).
Les fichiers sources sont versionnés sous GIT.
Développement sur une base de donnés mySQL
Design des tables. Séparation complète entre le code JAVA et les tables de la base de données en utilisant
des view pour la lecture et des stored procedure mySQL pour l'écriture de données.
Développement d'outils C++ et Perl
Outils écrits en Perl permettant l'analyse d'image pour retrouver précisément la location d'un point à partir
d'une cartographie.
Programme C++ basé sur la bibliothèque wxWidgets permettant de relier la location d'un point avec sa
description en générant un fichier XML utilisé comme référence pour le programme JAVA.
Missions humanitaires dans des orphelinats de Dar es Salaam (Tanzanie), Thaïlande, Vietnam et Cambodge.
Décembre 2004
Août 2012 Ingénieur senior développement C++/Oracle chez Intel
(7 ans et 8 mois) Munich, Allemagne
À partir de Jan 2006: développement C++ de OptiCM, un logiciel définissant un process de
développement (Continuous Integration). OptiCM fonctionnant sur Linux, Solaris et Windows.
Développement Agile basé sur Scrum/Kanban.
OptiCM force 2000 développeurs à suivre le process officiel de développement. L'outil a permis
d'augmenter la qualité et la rapidité de développement des releases.
Développement d'une interface multithreaded C++ / Perl gérant des accès directs à l'engine.
Appel direct de fonctions Perl à partir de C++ (Multithreadées pour les longs process).
Interface client/server XMLRPC permettant de communiquer avec des outils extérieurs.
Intégration et développement de requêtes mySQL permettant d'observer l'état des tests de régression en
temps réel.
Interface graphique écrite en C++ utilisant la bibliothèque wxWidgets
Nombreuses possibilités de configurations proposées à l'aide de différents Wizards dynamiques dont le
contenu varie en fonction de nombreuses sélections de l'utlisateur.
Possibilité de travailler en mélangeant des Product Line différentes dans une vue unique : concept
unique n'ayant pas de concurrents.
Développement de nombreux widgets, notamment une grille permettant de gérer des configurations de
composants complexes.
Développement sur Oracle de Stored Procedure PL/SQL et requêtes SQL.
Documentation UML des parties les plus complexes du programme.
À partir de juin 2010 Responsable technique et développement C++ d'amélioration de performances et
de nouvelles fonctionnalités basées sur des demandes souvent ambitieuses de l'équipe cliente.
Jan 2010 - Juin 2010 Responsable technique et développement C++ de Multiview, concept permettant
de travailler sur différentes Product Line en même temps dans la même vue.
Oct 2009 - Dec 2010 Développement/support/validation de nombreuses nouvelles fonctionnalités en C++
et sur Oracle, formation de nouveaux ingénieurs rejoignant le projet.
Jan 2007 - Sep 2007 Responsable technique et développement C++/Python d'un environnement de
régression pour l'interface GUI basée sur pyWinAuto.
Développement d'une interface C++ sous OptiCM permettant de créer des macros exportées au format XML.
L'outil Python prend le fichier XML et reproduit la macro. Un résultat est automatiquement comparé à l'aide de
l'interface pyWinAuto permettant d'extraire les données utilisateur d'une application graphique.
Outil fournissant un résultat fiable utilisable uniquement en mode maintenance en raison de la surcharge de
travail pour chaque modification de l'interface graphique.
De Dec 2004 à Dec 2005: Développement Perl de OptiSync, outil permettant la réplication synchronisée
de VOBs Clearcase, fichiers et commandes OS à travers un réseau instable.
Formation (2011): Oracle Database 11g: PL/SQL and Database Programming Release 2
Jean-Philippe Ulpiano
Ingénieur senior développement informatique haut et bas niveau et systèmes embarqués Page 1/2
Octobre 2002
Décembre 2004
Ingénieur senior développement à Texas Instruments
(26 mois) Villeneuve-Loubet, France
Développement C bas niveau et assembleur ARM11 pour les projets OMAP1710, OMAP2420, Dolomites, OMAP2430,
OMAP2140.
Développement C pour la configuration des firewalls dédiée à la sécurité des chips pour un environnement Symbian.
D éveloppement et optimisation en assembleur ARM11 de drivers NAND accédant des interfaces hardwares NAND et
NOR (émulation de driver NAND). Intégration de drivers MDOCs.
Développement des tests de production et de la fonctionnalité de start-up des chips.
Développement JAVA d'un outil de profiling permettant l'optimisation du code embarqué.
Développement d'une machine d'état permettant une analyse de syntaxe du code assembleur AEM9/ARM11.
Interface graphique SWING proposant une interface similaire à Quantify :
Affichage de toutes les fonctions à travers un arbre d'appel de fonctions. Recherche de problèmes de performance
à travers une interface graphique proposant une recherche récursive. Affichage des donnés de timing selon
plusieurs modes de tri. Le code de chaque fonction est proposé avec les informations de timing pour chaque ligne
de code.
Développement de scripts pour Linux/Solaris dédiés à l'automatisation de la validation.
Développement d'un environnement de validation basé sur différents langages de scripts : BASH / TCL / PERL
permettant d'automatiser l'exécution de tests mais aussi de vérifier automatiquement le statut des validations
hardware et software.
Développement d'un désassembleur écrit en Perl générant un fichier source C à partir d'un fichier de log ARM.
Développement d'un script en Python permettant de rechercher la queue LSF la plus efficace.
Ces outils ont permis de réduire le process de validation d'une release de 2 semaines à 3 jours.
Développement en Python d'un outil d'analyse de couverture de test similaire à PureCov.
Analyse de syntaxe de nombreux fichiers logs et de tous les fichiers source. Interface graphique permettant d'afficher
le taux de couverture par fichier et par fonction. Affichage du code source des fonctions pour faciliter le debug.
Formations: JAVA/UML, administration UNIX.
Octobre 2000
Octobre 2002
(23 mois)
Ingénieur développement C++ à Cadence Sophia-Antipolis, France
Participation au développement d'une couche logicielle permettant d'interfacer deux bases de
données hiérarchiques dédiées au développement micro-electronique : une base orientée front-end
(FNP) et l'autre orientée back-end (Genesis).
Développement C++ d'un writer Verilog permettant de générer un fichier Verilog à partir des
informations stockées dans une base de donnés hiérarchique.
Formation: C++ advanced formation course.
Juin 1998
Octobre 2000
(16 mois)
Ingénieur développement JAVA à Alcatel Illkirch, France
Développement de nombreuses applet dédiées à la validation du WebPhone Alcatel pour sa partie
graphique, accès disques durs et réseaux.
En même temps, enseignement de cours d'assembleur 80x86 à l'IUT d'informatique d'Illkirch.
Septembre 1997
Juin 1998
(10 mois)
Civil military service in a center dedicated to young people with difficulties Metz, France
Développement JAVA de différents programmes éducatifs.
Création du site WEB du centre (obtention d'un prix) : http://www.fever.com/cvj
Avril 1997
Septembre 1997
(5 mois)
Ingénieur stagiaire au Politecnico di Torino Turin, Italy
Développement C++ d'un programme recherchant tous les chemins électriques pour des circuits
numériques quelconques fournis par une netlist spice. Optimisation pour certaines topologies de
circuits. Le résultat était utilisé pour rechercher les parcours électriques critiques (critical path).
Études
Mars 2010: Heilpraktiker (Diplôme autorisant la pratique de la médecine hors traitements chimiques). Médecine
générale étudiée pendant 2,5 ans à l'école ZFN de Munich pour préparer l'examen national. Pour information : Le taux
moyen de réussite à l'examen est de 30% sur les 10 dernières années. Depuis Mars 2010, suivi de nombreuses
formations avancées sur l'acupuncture.
Juin 1997: Diplôme d'ingénieur E.N.S.E.E.I.H.T. cole Nationale Supérieure d'ÉIectronique, d'Électrotechnique,
d'Informatique, d'Hydraulique et des Télécommunications).
Juin 1997: DEA CCMM (Conception of Microelectronics Circuits and Microsystems).
Langages et systèmes
Langages haut niveau C & C++, JAVA RCP-JFACE-SWT, Python/Shell/PERL, Oracle PL/SQL, mySQL.
Langages assembler Intel (80x86), Motorola (680x , 68000), ARM9.
Systèmes Clearcase, UNIX/Linux and Windows. Utilisation de GIT.
Programmes ModelSim, Rational Purify et Quantify.
Langues
Italien Courant De famille italienne. Différents travaux en Italie pendant les études. Stage à Turin.
Anglais Très bon niveau Langue lue, écrite et parlée dans tous mes postes et lors de voyages personnels.
Allemand Très bon niveau Langue de travail principale lue, écrite et parlée de 2006 à 2012.
Informations personnelles
Acupuncteur bénévole pour Malteser à Munich (organisation caritative):
http://www.facebook.com/akupunktursprechstunde.furbedurftige
Développement informatique pour l'acupuncture.
Auteur d'un livre décrivant la pratique de l'acupuncture crânienne.
Permis B.
Jean-Philippe Ulpiano
Ingénieur senior développement informatique haut et bas niveau et systèmes embarqués Page 2/2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !