Sofien HAMDI Ingénieur de développement Java/JEE

La page est créée Julien Aubry
 
CONTINUER À LIRE
Sofien HAMDI
                 Ingénieur de développement Java/JEE
                  API, micro-services, backend, Spring boot, Kafka, ELK, Docker, Scala, Spark…
                 contact : sofien.hamdi@gmail.com

         Etudes
             2019 : Spécialisation en programmation fonctionnelle, une spécialisation de 5 cours, proposée
              par l’École Polytechnique Fédérale de Lausanne sur Coursera (*).

             2007 : Diplôme d’ingénieur en informatique de l’Ecole Nationale des Sciences de l’Informa-
              tique (ENSI), Tunisie.

         Expériences professionnelles

         Ingénieur d’études et de développement (mai 2017 à décembre 2018)
         Renault Digital, Boulogne-Billancourt

         Projets :

         Réalisation de plusieurs MVP :
             RRF2 : Refonte d’une application de gestion des recours fournisseurs.
             DLE : Datalake Explorer, application pour la gestion de la configuration et de monitoring.
             REVE : Requêteur Véhicule, API pour rechercher des véhicules par critères semi-structurés.
             ONE TD : Projet d’unification des définitions techniques entre Renault et Nissan.
         Responsabilités :
             Etude du modèle de données.
             Mise en place des bonnes pratiques de développement des services web REST (concep-
              tion de l’API, règles de nommage, gestions des erreurs, validations…).
             Développement de services web REST (Java 8, Spring, Spring security, spring-boot, Hiber-
              nate, Criteria builder, ehcache, JWT, OIDC, JavaMelody, Piwik,...).
             Réalisation des tests unitaires et des tests d’intégration (Junit, Spring-test, Mockito, As-
              sertj).
             Réalisation d'un module de traitements par lots (batch) (Spring-batch, Spring-boot, Junit
              5, Spring-test, Mockito, Assertj).
             Customisation et collecte de la trace applicative dans un puits de logs ELK.
             Réalisation de la communication bidirectionnelle, entre les API et les processus Data avec
              Kafka.
             Participation aux travaux de DevOps avec Gitlab/Jenkins et Gitlab/Gitlab-CI.
             Containerisation des API dans les environnements de développement avec Docker et
              docker-compose.
             Mise en place de Hibernate Envers pour reconstituer l’historique des dossiers techniques.

(*) https://www.coursera.org/account/accomplishments/specialization/WL8B979EDPWM
 C.V. : Sofien HAMDI

       Environnement :
            Windows, Tomcat, Jetty, Spring-boot, Spring-batch, Java 8, SoapUI, Junit 5, JPA, Applet,
             Hibernate 5.2, Nexus, ehcache, spring, spring security, REST, Jackson, Json, maven, Swag-
             ger, JWT, OIDC, Keycloak, Jira, Git, Gitlab, Jenkins, SonarQube, Docker, Docker compose,
             Kafka, ELK, SCRUM …

       Ingénieur d’études et de développement (mars 2016 - avril 2017)
       JCDecaux, Issy-les-Moulineaux

       Projets :
            Mosaic : Application de gestion de stock, de réservation et de facturation des espaces pu-
             blicitaires.
            Phoxy : Application de gestion de la facturation.
            GaliAd : Application de gestion de la configuration des applications Mosaic et Phoxy.
       Responsabilités :
       Maintenance corrective et évolutive de l’application Mosaic:
            Etude d’impact et chiffrages des évolutions.
            Réalisation des évolutions et corrections des anomalies (Struts 1.2, SOAP, REST, EJB 3.0,
             Toplink, SQL, Spring).
            Réalisation des interfaces avec les autres applications (services REST et SOAP).

       Refonte de l’application Mosaic, réalisation des applications pilotes Phoxy et GaliAd :
            Mise en place des bonnes pratiques de développement des services web REST (conception
             de l’API, règles de nommage, gestions des erreurs, validations…).
            Développement de services web REST (Java 8, Json, Spring, Spring security, Hibernate,
             ehcache).
            Développement de l’application web (AngularJS 1.5, Angular UI Grid, HTML 5, gulp).
            Réalisation des tests unitaires et des tests d’intégration (Junit, Spring-test, Mockito).
            Optimisation des recherches de pièces et du reste à facturer.
            Responsable des livraisons et de la maintenance de la plateforme d’intégration continue.
       Environnement :
            Windows, Jboss EAP 6.2.3, Tomcat 8.0, Wireshark, Java 7/8, SoapUI, EJB 3.0, JPA, Applet,
             Hibernate, Jenkins, Nexus, ehcache, spring, spring security, REST, SOAP, WSDL, Jackson,
             Json, maven, Swagger editor, AngularJS 1.5, Angular UI Grid, HTML 5, gulp, Jira, Git,
             SCRUM …

       Ingénieur d’études et de développement (mai 2014 -février 2016)
       STIME (Groupement des Mousquetaires), Montrouge

       Projet :
            Argos étoile : Référentiel des articles et des fournisseurs pour le groupement des mous-
             quetaires.
       Responsabilités :
       Consultant en études et développement des services web (SOAP et REST) et des traitements
       par lot au sein de l’équipe MOE de cinq personnes, les principales réalisations :

 Page 2 |
 C.V. : Sofien HAMDI

          Etude et réalisation d'un POC pour la mise en place d'une architecture SOA avec Talend
           ESB et IBM Integration Bus (WS SOAP, WS REST, JMS, FTP, EIP).
          Développement de services web SOAP (CXF-WS, Spring, OpenJPA, Websphere AS).
          Étude, configuration et développement de services web REST (CXF-RS, Spring, OpenJPA,
           Websphere AS).
          Étude et mise en place des communications avec les autres systèmes en JMS (JMS Tem-
           plate, Websphere MQ).
          Développement de traitements batch (Spring-batch).
          Étude et mise en place d'une solution de cache applicatif et de la réplication de données
           (ehcache vs dynacache).
          Customisation de la console des batchs de spring (Spring-Batch-Admin).
          Création d’un catalogue de services et d’une interface d’administration de l’application
           (Spring MVC, tiles, jQuery).
          Automatisation des tests unitaires (Liquibase, Spring-test et Junit).
          Etude de la mise en place des tests de charge avec Gatling 2 (Scala).
          Réalisation d’un programme de chargement de données de test avec SQL*Loader.
       Environnement :
          Windows, IIB 9, Talend ESB, WAS 8.5, Websphere MQ, ActiveMQ, Oracle, Redmine, UML,
           JAVA/JEE, SQL Developer, SoapUI, Gatling 2, OpenJPA, ehcache, Spring, Spring mvc, Spring
           batch, Spring data, Spring security, JMS, FTP, REST, SOAP, CXF, WSDL, Jackson, Json, ma-
           ven, jQuery, Swagger, RAML…

       Ingénieur d’études et de développement (février 2014 – avril 2014)
       Océane Consulting (en partenariat avec Open-S), Paris

       Projet :
          Tanaguru : Application pour l’audit de l’accessibilité numérique du contenu web.
       Responsabilités :
       Dans le cadre de la prise en main de l’application open-source Tanaguru pour la création de l’ob-
       servatoire de l’accessibilité numérique :

          Migration de l'environnement de développement de l'outil Tanaguru de Linux à Win-
           dows.
          Etude et réalisation d'un POC de services web synchrone et asynchrone pour exposer les
           fonctionnalités de Tanaguru (jersey, servlet-api 3.0, Spring, junit).
       Sources : https://github.com/OceaneConsultingGroup/Tanaguru/tree/develop-windows
       Environnement :
          Windows, Linux, Eclipse, MySQL, Tomcat, Redmine, Git, Github, Easymock, Spring, Hiber-
           nate, REST, SOAP, Sychrone, Asynchrone, Jackson, JSON, servlet api 3, maven, Scrum.

       Ingénieur d’études et de développement (juin 2013 – janvier 2014)
       Bpifrance (Oséo), Maisons-Alfort

       Projets :
          Iris : Système de gestion des dossiers d'aides à l'innovation.
          FUI : Extranet pour les demandes de financements des projets innovants.
       Responsabilités :
       Consultant sur les applications du pôle de l’innovation de BPIFrance, au sein de l’équipe MOE de
       trois personnes :
          Maintenance corrective de l’application FUI et des batchs d’Iris.

                                                                         Page 3 | sofien.hamdi@gmail.com
 C.V. : Sofien HAMDI

            Réalisation des développements et des tests des nouvelles demandes sur l’application FUI.
            Mavenisation et mise à niveau des frameworks pour les batchs Iris.
            Etude de la mise en place de la connexion SSO pour un extranet multi-services sur un ser-
             veur WAS 8.
            Etude de la mise en place d’une solution de mesure de l’audience sur l’extranet.
            Suivi des livraisons et des installations des applications.
       Environnement :
            Windows, RAD, PowerAMC, Websphere, Websphere MQ (MQ series), CVS/SVN, HP Quality
             Center, UML, JAVA/JEE, SQL Developer, hibernate, struts, jms, mdb, maven, jsp.

       Ingénieur d’études et de développement (octobre 2011 – juin 2013)
       BNP Paribas (Pôle des ressources humaines), Montreuil

       Projets :
            SAGA/Sitadin : Application de gestion des demandes administratives (gestion des mobili-
             tés, des formations et des demandes administratives).
            INCA : Application de gestion des absences.
       Responsabilités :
       Consultant sur les applications de l’intranet des ressources humaines de la BNPP, au sein de
       l’équipe MOE de six personnes, les principales tâches sont :
            Rédaction de la documentation du logiciel : retro-documentation et évolution des dos-
             siers d’analyse et des dossiers techniques.
            Maintenance corrective de l’application SAGA/Sitadin.
            Réalisation des nouvelles demandes (modules du DIF, dossiers administratifs, affecta-
             tions …).
            Réalisation des traitements par lot en PL/SQL.
            Réalisation des scripts shell de lancement des routines PL/SQL.
            Réalisation des tests unitaires et des tests d’intégration.
            Documentation des tests en utilisant l’outil HP Quality Center (cas d’utilisations, cas de
             test, plans de tests).
       Environnement :
            Windows, Unix, RAD, RSM, Websphere, HP Quality Center, UML, JAVA/JEE, PL/SQL Devel-
             oper, scripts shell, PL/SQL, Struts, jsp.

       Ingénieur d’études et de développement (février 2011 – août 2011)
       Nordnet, Tunis

       Projets :
            DomainDriver : Driver logiciel pour le produit domaine.
            NetProvisioning : Prototype d’un projet avec le framework spring.
            Len : Logiciel pour le suivi de l’application des lois Len et Lil.
       Responsabilités :
       Dans une équipe de 5 personnes, étant le leader technique, les tâches réalisées :
            Etude et conception d’un driver logiciel entre le service web Domaine et les logiciels des
             fournisseurs du produit Domaine.
            Conception d’un modèle de développement en couches avec UML pour NetProvisioning.
            Réalisation d’un POC avec l’intégration des technologies : hibernate JPA, spring, spring ws
             et spring security pour NetProvisioning.

 Page 4 |
 C.V. : Sofien HAMDI

          Participation à l’analyse fonctionnelle et technique de l’outil Len.
          Développement de la couche service avec hibernate, JPA, Spring et CXF WS de Len.
          Réalisations des tests unitaires automatisés avec Junit, Unitils et DBUtils.
          Participation aux tests de charges et à l’amélioration des performances.
       Environnement :
          Windows, Eclipse, Visual Paradigm, Jboss, MySQL, SVN, Maven, Junit, Unitils, DBUtils, Java,
           Spring, Spring WS, spring test, smock, Hibernate, JPA, CXF WS, Log4j, WSDL, XSD, SoapUI.

       Ingénieur d’études et de développement (avril 2009 – janvier 2011)
       Cylande, Tunis

       Projets :
       Référentiel de la suite logicielle Cyrus :
          Cyrus Conf : Mise à niveau de la charte graphique pour l’application de paramétrage des
           applications de la suite Cyrus.
          Cyrus REF: Application de gestion des centrales d’achats (modules de gestions assorti-
           ments, des articles, des fournisseurs et des collections).
       Responsabilités :
       Dans une équipe de 6 personnes, les principales tâches effectuées :
          Etude et conception du module de gestion des collections et des fournisseurs avec UML.
          Réalisation des développements des services, de la partie web suivant une architecture
           SOA.
          Réalisation des tests unitaires avec Junit.
          Réalisation d’un module d’import/export (PDF et Excell avec JaserReports) asynchrone
           avec l’ESB open source Mule.
       Environnement :
          Windows, Java/JEE, Eclipse, Tomcat, SVN, maven, Junit, Spring, Spring WS, Hibernate, JSF,
           Facelets, RichFaces, XML, XSD, javascript, Mule ESB, Poi, JasperReports.

       Ingénieur d’études et de développement (septembre 2007 – mars 2009)
       Cylande, Tunis

       Projets :
       Modules complémentaires de la suite logicielle Cyrus :
          Cyrus Trad : Application d’aide à la traduction des applications JEE avec aperçu.
          Cyrus Cactus : Application de test de non régression.
          Cyrus VA : Application de ventes assistées dans un magasin.
          Cyrus CP : Application de gestion des payements fournisseurs.
       Responsabilités :
       Dans une équipe d’une dizaine de personnes, travaillant sur les modules complémentaires de la
       suite logicielle Cyrus, les principales tâches effectuées :
          Développement des modules selon une architecture n-tiers.
          Réalisation d’une couche générique pour les tests récurrents avec Cactus (recherches,
           tris, paginations et filtres).
          Réalisation des tests unitaires et des tests de non régression avec Junit et Cactus.
          Participation aux tests de charges et réalisation des documents techniques.

                                                                         Page 5 | sofien.hamdi@gmail.com
 C.V. : Sofien HAMDI

       Environnement :
            Windows, Java/JEE, Eclipse, Tomcat, SVN, Oracle, ant, hibernate, ehcache, Struts, POI, Jas-
             perReports, JSP, JSTL, dojo, Javascript, Webload, Infrared, Junit, Cactus.

       Stagiaire (février 2007 – juin 2007)
       ST Microelectronics, Tunis

       Responsabilités :
            Etude, conception et réalisation d’un outil de vérification de non régression de la vérifica-
             tion des circuits microélectroniques.
       Environnement :
            Unix/Linux, UML, Script shell, perl et tcl/tk.

       Compétences techniques
            Systèmes d’exploitation : Unix, Linux et Windows
            Languages et Frameworks : Java, JSP, Servlet, Struts, JSF 1 et 2, Facelets, Richfaces, Prime-
             faces, Javascript, jQuery, AngularJs 1.x, XML, CSS, SQL, PL/SQL, Hibernate (HQL et Criteria), JPA,
             OpenJPA, Spring (Core, AOP, Data, WS, MVC, Security, Batch, Boot), CXF WS, CXF RS, Jersey,
             easymock, JSON, Jackson…
            SGBD : Oracle, PostgreSQL, MySQL, HSQLDB, MongoDB et Hadoop.
            Serveurs : Tomcat, Websphere et Jboss.
            Modélisation : UML (Visual Paradigm, Power AMC, Ms Visio, RSM, draw.io), swagger editor,
             design patterns, EIP, SOA, n-tiers.
            Tests de charges : Webload, Infrared, JConsole, Gatling 2, Jmeter, curl, tunnning JVM …
            Qualité logicielle : QC, Mantis, Jira, findbugs, PMD, Junit, SoapUI, Cactus, Sonar …
            Méthodologie : Cycle V, Agile (RAD, Scrum).
            Autres : Jenkins, maven, Git, SVN, Nexus, ELK, KAFKA, Keycloak, OIDC, JWT…

       Certifications
            1Z0-851 : Java SE 6 Programmer Certified Professional.
            1Z0-898 : Java EE 6 Java Persistence API Developer Certified Expert.

       Compétences linguistiques
            Anglais : bon niveau
            Allemand : notions

 Page 6 |
Vous pouvez aussi lire