Jean-Philippe ULPIANO

publicité
Jean-Philippe ULPIANO
Kantstr. 19
80807 Munich
Allemage
Depuis
Septembre 2012
Ingénieur ENSEEIHT
Ingénieur senior
développement informatique
C++/Java/Assembleur & Oracle
Né le 26 Novembre 1972
Nationalité : Français
[email protected]
Célibataire
Expérience professionnelle
Ingénieur senior développement C++, Qt4, JAVA & mySQL
http://twoblackcoffees.wordpress.com
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.
Development en C++/Qt4 d'un outil de Time tracking (En cours de développement)
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
Octobre 2002
Ingénieur senior développement à Texas Instruments
Jean-Philippe Ulpiano
Ingénieur senior développement informatique haut et bas niveau et systèmes embarqués
Page 1/2
Décembre 2004
(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
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).
Metz, France
Études
•
Mars 2010: Heilpraktiker (Diplôme autorisant la pratique de la médecine hors traitements chimiques). Médecine
•
Juin 1997: Diplôme d'ingénieur E.N.S.E.E.I.H.T. (École Nationale Supérieure d'ÉIectronique, d'Électrotechnique,
•
Juin 1997: DEA CCMM (Conception of Microelectronics Circuits and Microsystems).
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.
d'Informatique, d'Hydraulique et des Télécommunications).
Langages et systèmes
Langages haut niveau
Langages assembler
Systèmes
Programmes
C & C++, JAVA RCP-JFACE-SWT, Python/Shell/PERL, Oracle PL/SQL, mySQL.
Intel (80x86), Motorola (680x , 68000), ARM9.
Clearcase, UNIX/Linux and Windows. Utilisation de GIT.
ModelSim, Rational Purify et Quantify.
Langues
Italien
Anglais
Allemand
Courant
Très bon niveau
Très bon niveau
De famille italienne. Différents travaux en Italie pendant les études. Stage à Turin.
Langue lue, écrite et parlée dans tous mes postes et lors de voyages personnels.
Langue de travail principale lue, écrite et parlée de 2006 à 2012.
Informations personnelles
Missions humanitaires dans des orphelinats de Dar es Salaam (Tanzanie), Thaïlande, Vietnam et Calcutta.
Acupuncteur bénévole pour Malteser à Munich (organisation caritative):
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
Téléchargement