Ali - Développeur Java Expert FullStack | Tech Lead

Ref : 170323B001
Actuellement disponible Email vérifié
  • 77420 CHAMPS SUR MARNE

  • Développeur (40 ans)

  • Télétravail si le client est à plus de 2h de son domicile
  • Mandataire social de sa structure Freelance (SARL, SAS, EURL, etc)
Photo d'Ali, Développeur Java Expert FullStack | Tech Lead
Compétences
Expériences professionnelles
  • MISSIONS-PROJETS

    RATP SIT (en freelance)
    Durée : du 01/2020 à aujourd’hui
    Rôle : Tech lead JAVA full-stack
    - Prise en main rapide de l’outil appli blanche de l’offre ADN (framework RATP).
    - Analyse et aide à la complétion des spécifications fonctionnelles.
    - Création et gestion du backlog des tâches (découpage, chiffrage, priorisation et affectation).
    - Choix des nouvelles technologies à utiliser.
    - Conception globale de l’ensemble de l’application.
    - Développement des fonctionnalités.
    - Réalisation des tests unitaires et d’intégration.
    - Assistance et guidance des autres développeurs vers les bonnes pratiques de développement.
    - Administration des environnements bas (DEV, DEV2, REC, REC2)
    - Déploiement fréquent et préparation des livrables pour recette et production
    - Assistance corrective des anomalies de recette et de production
    Projet : DIAMANT : Digitalisation des actes de maintenance des trains
    J’ai démarré en tant que tech lead sur un nouveau projet qui a pour but de mettre à disposition des
    mainteneurs des équipements ferroviaires du matériel roulant de la RATP (MRF), des fiches
    dématérialisées de traçabilité des actes de maintenance et la documentation de maintenance.
    Le projet est réparti en 3 applications : 1 application (JAVA) backend communiquant par WEB services
    REST (JSON) avec 1 front web (Angular) et des terminaux mobile (Android).
    Le projet possède plusieurs contraintes dont :
    - La structure des formulaires à remplir par les agents côté mobile est dynamique
    - La volumétrie des données produites : environ 500000 fiches par an
    - la gestion des modes offline/online des terminaux mobiles
    - la gestion du travail collaboratif entre les agents de maintenances qui peuvent modifier les mêmes
    données
    Le développement se base sur une méthode itérative (entre agile et cycle en V) : projet en 3 lots ayant
    des sprints de 3 semaines
    Equipe : 10 personnes (1CP, 1MOA, 2 AMOA, 1 MOE, 1 Tech lead, 3 Développeurs, 1 Admin système)
    Environnement technique : JAVA 11, ANGULAR 8, ANDROID 10, UBUNTU,
    RATP OFFRE ADN (SPRINGROUND, ANGULARGROUND, DROIDGROUND)
    SPRING BOOT 2.1 (WEB, SECURITY, CAS, DATA, JPA, MONGODB)
    MONGODB, POSGRESQL, HIBERNATE 5, JPA, LIQUIBASE, H2, SQLITE, ROOM
    HTML5, CSS 3, SCSS, BOOSTRAP 4, TYPESCRIPT
    REST, OKHTTP, JSON, JACKSON, SWAGGER
    ITEXTPDF, GLIDE, LOGBACK
    JUNIT, MOCKITO, SPRING TEST, KARMA, JASMINE, ROBOLECTIC
    GRADLE, MAVEN, NPM
    APACHE,
    INTELLIJ, JIRA, GITLAB, JENKINS, SONAR, ARTIFACTORY


    RATP SMART SYSTEMS (en freelance)
    Durée : du 02/2018 à 10/2019
    Rôle : Expert JAVA
    - Choix des nouvelles technologies à utiliser
    - Mise en place des bonnes pratiques de développement
    - Purge de la dette technique et montée en qualité des applications
    - Conception et réalisation de nouvelles couches applicatives
    - Développement de nouvelles fonctionnalités.
    - Réalisation des tests unitaires et d’intégration.
    Mission 1 : Développement de fonctionnalités pour le service Informations Voyageurs
    On m’a confié un ensemble de projets différents qui portent tous sur une même application que j’ai
    refondue entièrement techniquement.
    Environnement technique d’APIX après refonte : JAVA 11, 10 et 8, JEE, WINDOWS 10, MARIADB, SQL,
    HTML5, CSS 3, JQUERY, JAVASCRIPT,
    SPRING 5, SPRING DATA, HIBERNATE, JPA,
    REST, SOAP, JSON, JAVA.NET.HTTP, CXF, APACHE HTTPCLIENT, JACKSON
    JETTY, GOOGLE MAPS API,
    ECLIPSE, GIT, MAVEN, JENKINS, SONAR,
    JUNIT, MOCKITO
    REDMINE, GITLAB
    Projet 1.1 : POC du projet W (3 mois)
    J’ai intégré l’équipe d’un projet POC (qui a été commandé par la RATP et la SNCF) en tant qu’unique
    développeur Java afin de réaliser de nouvelles fonctionnalités dans une ancienne application (APIX)
    qui agrège les informations voyageur (dont la recherche d’itinéraires). Il s’agit d’une application back
    qui expose des web services à destination d’un Chat-bot.
    L’objectif était de démontrer que l’on pouvait faire des recherches d’itinéraires à l’échelle nationale
    tout en combinant le résultat de plusieurs nouveaux moteurs d’itinéraires. Aussi, il fallait profiter du POC,
    afin d’introduire un nouveau moteur d’agrégation des informations voyageurs innovateur.
    Le POC a été une réussite car j’ai terminé tout seul (alors que 2 développeurs étaient prévus
    initialement) dans les temps impartis les tâches demandées qui ont permis au Chat-Bot de fonctionner
    comme attendu.
    Dans ce projet en particulier, je gérais l’ensemble des étapes du cycle de développement, de la
    conception suivie de la création des tâches à partir du besoin exprimé par le tech-lead, à leurs clôtures
    en passant par leurs développements.
    Equipe : 1 développeur, 1 Tech lead, 1 Architecte

    MISSIONS-PROJETS
    Projet 1.2 : Refonte technique d’APIX : Agrégateur d’informations voyageur (4 mois)
    Ayant consommé qu’une partie du budget du POC, le client m’a confié la tâche imprévue qui est de
    rendre APIX, une solution multi-client et de merger l’ensemble des modules (30) dédiés à des clients de
    l’application différents se trouvant dans des branches git différentes.
    De plus, il a fallu récupérer le nouveau moteur d’agrégation du POC basé sur de la configuration, afin
    de le rendre comme celui utilisé par défaut plus tard et customisable par client.
    Il est à noter que j’avais la validation de l’architecte sur la majorité des choix techniques dont
    notamment la mise en place d’un contexte Spring par module, et l’utilisation de java.net.http de
    java11.
    Ce fut une très grande refonte technique d’APIX et de montée en qualité afin de faciliter les futurs
    développements. Le code fonctionnel est resté quant à lui intact.
    Equipe : 1 développeur, 1 tech lead, 1 Architecte
    Projet 1.3 : Rajout de tarifs aux l’itinéraires (3 mois)
    Première évolution fonctionnelle qui porte sur l’information tarifaire relative aux itinéraires demandés par
    les utilisateurs.
    Equipe : 1 développeur, 1 tech lead, 1 chef de projet, 1 Architecte
    Projet 1.4 : Hopen Maas : Adaptation du produit à un nouveau client (3 mois)
    2 nouveaux clients hors RATP ont commandé des fonctionnalités par rapport à des réseaux de
    transports différents.

    Comme APIX est devenue une solution multi-clients, il ne s’agissait que de configuration pour les
    fonctionnalités existantes.
    Par contre, Le développement de nouveaux services était quand même nécessaire par rapport aux
    nouveaux besoins comme celui qui donne la position d’un véhicule. Côté mobile, on voyait la position
    du véhicule bouger sur le parcours.
    Il a aussi fallu adapter l’existant à certains besoins spécifiques sans causer de régressions pour le client
    RATP.
    Equipe : 1 développeur back, 1 développeur mobile, 1 tech lead, 1 chef de projet, 1
    Architecte

    MISSIONS-PROJETS
    Mission 2 : Réalisation d’une application de rechargement de titres de transport à distance (6 mois)
    On m’a confié le développement de 2 applications dans le cadre du projet TCT : Terminal de
    chargement de titres de transports. L’objectif du projet est de permettre à des clients dépositaires
    (tabagistes) de vendre un service de rechargement des titres de transport à distance.
    Equipe : 3 développeurs (+7 en centre de service), 1 scrum master, 1 architecte, 1 tech
    lead, 2 Product Owners, 1 Chef de projet
    Projet 2.1 : Smart Ticket : serveur de rechargement à distance
    Il s’agit d’une application backoffice que j’ai conçue et développée tout seul.
    Elle s’occupe principalement de recharger des cartes Navigo connectées au terminal de ventes (TCT)
    tout en récupérant une ressource SAM d’un serveur distant.
    Le rechargement se base sur la technologie Calypso à travers l’implémentation d’eclipse Keyple.
    Environnement technique : JAVA 8, JEE, WINDOWS 10, POSTGRESQL, SQL, FLYWAY
    SPRING BOOT 2.5, SPRING SECURITY, SPRING CACHE,
    SPRING DATA, HIBERNATE, JPA, SPRING REST, JACKSON, GSON, KEYPLE
    ECLIPSE, GIT, MAVEN, JENKINS, SONAR, REDMINE
    JUNIT, MOCKITO, SPRING TEST, SPRING SECURITY TEST, H2
    Projet 2.2 : Ticketing SDK : un SDK regroupant plusieurs fonctionnalités liés à la billettique en IDF
    L’objectif du SDK est de pouvoir être utilisable par des applications différentes, notamment dans le
    cadre du projet TCT, par SmartTicket et l’application mobile du TCT.
    La plus grande difficulté technique était donc d’avoir un code qui tourne à la fois sur Java et Android
    (api version 25) qui n’implémente pas toutes les fonctionnalités du JDK oracle ni celles du java 8.
    Pour cela, des façades ont été mises en place.
    Environnement technique : JAVA 8, WINDOWS 10, SQL, SQLITE
    JACKSON, GSON, RETROFIT 2, DAGGER 2, OWNER, KEYPLE
    ECLIPSE, GIT, MAVEN, JENKINS, SONAR, REDMINE
    JUNIT, MOCKITO, H2

    MISSIONS-PROJETS
    AAA-DATA (en freelance)
    Durée : du 10/2017 à 12/2017
    Rôle : Référent technique JAVA full-stack
    - Choix des technologies à utiliser
    - Mise en place des diverses couches de l’application
    - Préparation de l’architecture de l’application.
    - Conception globale de l’ensemble de l’application.
    - Développement des fonctionnalités.
    - Réalisation des tests unitaires et d’intégration.
    Projet : GAGE AUTO : interface de télétransmission des opérations de GAGE vers le ministère de
    l’intérieur
    J’ai intégré l’équipe d’un nouveau projet GAGE AUTO au Sprint 0 en tant que référent technique fullstack afin de mener à bien le développement d’une petite application assez sécurisée et d’atteindre
    une version mise en production assez rapidement ayant les fonctionnalités majeures de base.
    L’application est un site internet responsif à accès restreint développé pour le compte des membres de
    l’ASF (Association Française des sociétés Financières).
    Jusque début novembre, les sociétés financières de l’ASF devaient déposer ou envoyer aux préfectures
    un dossier pour chaque opération de gage (inscription, radiation, cession et prorogation). Le temps de
    traitement de ce dossier pouvait prendre 2 à 3 semaines. Dorénavant, grâce à GAGEAUTO, il suffira
    pour ces sociétés d’avoir un compte sur le site et de remplir un simple formulaire. La réponse du SIV (Le
    Système d'Immatriculation des Véhicules) sera alors quasi immédiate.
    Le développement respecte la méthodologie agile SCRUM (sprint variable 1 à 2 semaines)
    Equipe : 7 personnes (1PO, 1 Scrum Master/Architecte technique, 2 Référents Techniques, 1 Testeur, 2
    Admins systèmes)
    Environnement technique : JAVA 8, JEE, WINDOWS 10, MARIADB, SQL,
    HTML5, CSS 3, BOOSTRAP 4, JQUERY, JAVASCRIPT, JSON,
    SPRING BOOT 1.5, SPRING SECURITY, SPRING CACHE,
    SPRING MVC, THYMELEAF 3, FREEMARKER
    SPRING DATA, HIBERNATE, JPA,
    CXF, SOAP, OPENCSV
    MICROSOFT AZURE (cloud), TOMCAT,
    ECLIPSE, SVN, MAVEN, JENKINS, ARTIFACTORY,
    JUNIT, MOCKITO, SPRING TEST, SPRING SECURITY TEST, H2
    JIRA

    MISSIONS-PROJETS
    GRDF (en freelance)
    Durée : du 05/2017 au 09/2017
    Rôle : Lead Tech JAVA/Angular
    - Définition du rythme du développement.
    - Conception globale de l’ensemble de l’application.
    - Découpage des tâches.
    - Mise en place des bonnes pratiques de développement.
    - Assistance à l’ensemble de l’équipe de développement.
    - Développement des nouvelles fonctionnalités.
    - Réalisation des tests unitaires et d’intégration.
    - Revue et amélioration de la qualité du code.
    - Gestion des environnements bas (Bac à sable, Intégration et Validation)
    Projet : GAZBHY : conversion et adaptation du gaz B en gaz H dans le nord de la France :
    J’ai intégré l’équipe du projet GAZBHY au Sprint 3 en tant que Lead Tech afin d’encadrer une jeune
    équipe de développeurs, de participer au développement l’application et d’atteindre une version
    stable et qualitative pour une première mise en production.
    Le gisement de Groningue aux Pays-Bas, qui alimente en gaz naturel la région des Hauts-de-France va
    bientôt être épuisé. GRDF devra remplacer dans le cadre du projet GAZBHY l'alimentation en gaz
    d'environ 1.3 millions de foyers et de centaines d'industries.
    Avant de procéder à cette modification, GRDF a besoin au préalable, de faire un recensement
    complet chez des particuliers et des professionnels, puis, d’appliquer certaines adaptations aux
    équipements si besoin.
    La première version de l’application à mettre en production est une version pilote qui se limitera à
    quelques secteurs au nord de la France. Cette dernière est principalement à destination d’1 millier
    d’intervenants qui travailleront sur tablette et d’une centaine de pilotes et d’administrateurs qui
    l’utiliseront en mode desktop. C’est donc une application responsive ayant un workflow à complexité
    modérée, qui nécessite d’être bien sécurisée et d’avoir une bonne fiabilité des données.
    Le développement respecte la méthodologie agile SCRUM (sprint de 2 semaines)
    Equipe : 11 personnes (1 Chef de projet, 1 PO, 1 Proxy PO, 1 Architecte technique, 1 Architecte
    fonctionnel, 1 Lead Tech, 3 Développeurs, 1 Testeur, 1 Stagiaire)
    Environnement technique : JAVA 8, JEE, WINDOWS 10, CYGWIN, POSTGRESQL, SQL,
    HTML5, CSS 3, ANGULAR 2, Materialize, TYPESCRIPT, JAVASCRIPT, JQUERY, JSON,
    SPRING BOOT, HIBERNATE, JPA, JERSEY, JACKSON,
    APACHE, TOMCAT, SPRING SECURITY, SPRING CACHE, FLYWAY
    ECLIPSE, GIT, MAVEN, NPM, JENKINS, SONAR, ARTIFACTORY,
    SSO, SAML, OKTA
    JUNIT, MOCKITO,
    REST, COBIGEN
    JIRA, CONFLUENCE

    DARTY du 05/2016 au 01/2017
    Rôle : Ingénieur d’études et développement JAVA/JEE
    Mission : Développement et maintenance des applications back de DARTY

    WFP (World Food Programme) du 03/2016 au 04/2016
    Rôle : Ingénieur d’études et développement Android
    Mission : Evolution d’un système de gestion des dons alimentaire du WFP

    ELIOR du 01/2016 au 02/2016
    Rôle : Ingénieur d’études et développement JAVA/JEE
    Mission : Evolution d’un système de livraison de repas à domicile

    SFR du 08/2015 au 12/2015
    Rôle : Ingénieur d’études et développement JAVA/JEE
    Mission : Développement et maintenance d’applications web du Selfcare SFR

    SNCF du 01/2011 au 06/2015
    Rôles :
    Référent technique depuis le 02/2013
    Ingénieur d’études et développement JAVA/JEE
    Projet : OCTOPUS : Planification du plan de transport de la SNCF

    COFIROUTE du 01/2008 au 09/2010
    Rôle : Ingénieur d’études et développement JAVA/JEE
    Mission : Réalisation d’applications au cœur d’un workflow de message du tunnel de l’A86

    ISOBAR (AEGIS MEDIA FRANCE) du 06/2007 au 12/2007
    Rôle : Ingénieur d’études et développement ASP
    Projets : Stage de réalisation de sites web de stimulations de vente web pour grands comptes

    2or3things du 06/2006 au 09/2006
    Rôle : concepteur/développeur JAVA/JEE
    Projet : Stage de réalisation d’un robot d’indexation de flux RSS

Études et formations
  • Formation
    2005-2007
    ISTY (Institut des Sciences et Techniques des Yvelines)
    Ingénieur en Informatique

    2001-2005
    ISERT (Institut Supérieur d'Electronique et des Réseaux & Télécoms)
    Maîtrise en Ingénierie Informatique

    2000-2001
    Lycée Youssef Ben TACHFINE
    Bac S.

    COMPÉTENCES TECHNIQUES ET FONCTIONNELLES
    Langages
    Java (8, 7, 6, 5, 4, 3), JEE, ANDROID, C++, GROOVY
    SQL, PL/SQL, XML, XSD, XSLT, RSS
    HTML5, XHTML, CSS, JAVASCRIPT, JSON, JSP, PHP, ASP, FREEMARKER

    Base de données
    ORACLE, MYSQL, DB2, SQL SERVER, SQLITE, HSQLDB

    Méthodologie et formalisme
    Agile : SCRUM
    Modélisation : MDA, MVC, UML
    Webservice : REST, SOAP, XMLRPC

    Application Live cycle Management
    Build : GRADLE, MAVEN, GRUNT, BOWER, ANT
    Intégration continue : CONTINIUM, JENKINS, SONAR
    Analyse de code : CHECKSTYLE, FINDBUGS, PMD, JDEPEND, COBERTURA
    Versioning : GIT, SVN, CVS

    Systèmes d’exploitation
    Windows : XP, 7
    Linux : Cygwin, Ubuntu, Mandriva, RedHat, SUSE
    Mac

    Frameworks et librairies
    SPRING 4, DROPWIZARD 2, GUICE 4
    MVC : SPRING MVC, STRUTS 2
    Client lourd : JAVA FX, SWING, AWT
    BDD : SPRING JDBC, HIBERNATE, JPA
    Cache : MEMCACHED, EHCACHE, JGROUPS
    Webservice : JERSEY, CXF, AXIS
    Sécurité : SPRING SECURITY, CAS, LDAP
    Logging : LOGBACK, SLF4J, LOG4J, COMMONS LOGGING
    Templating : VELOCITY, ACCELEO
    Test : SPRING TEST, JUNIT, MOCKITO
    Reporting : JASPERREPORTS, BIRT, POI
    JavaScript : ANGULAR JS, JQUERY, JQUERY UI, BOOTSTRAP, EXTJS
    Autres : APACHE COMMONS, DOZER, JACKSON, ASPECTJ, JNI, SAXON, XMLBEANS, QUARTZ, JMF, GUAVA, LOMBOK, LIQUIBASE

    Serveurs Web, d’applications, de messagerie et CMS
    Serveur Web : APACHE, JETTY, NODE JS
    Serveur d’Applications : TOMCAT, WEBSPHERE
    Serveur de messagerie : ACTIVE MQ, WEBSPHERE MQ
    CMS : JAHIA, SYMPHONY CMS

    Outils
    Développement : ECLIPSE, ANDROID STUDIO, NETBEANS, DREAMWEAVER
    Modélisation : TOPCASED, STAR UML, POWER AMC
    Test : SOAPUI, SELENIUM
    Bug Tracker : JIRA, MANTIS
    Déploiement : RUNDECK

    Langues
    Français Courant
    Anglais Fonctionnel (TOEIC 810 points)
    Arabe Courant

    REALISATIONS PERSONNELLES
    Jeux Android
    Système de pointage RFID (JAVAFX)
    Site web de gestion de tournois développé à l’aide de Symphony CMS (PHP et XSLT)
    Outil de traitement d’image générant des GIF animées en JAVA (SWING)

D'autres freelances
Développeur JAVA

Ces profils pourraient vous intéresser !
CV Développeur Android Kotlin
Senda

Développeur Android Kotlin

  • ÉPINAY-SUR-SEINE
Kotlin JAVA XML SQL Angular NODE.JS
Disponible
CV Développeur JAVA - ANGULAR
Demba

Développeur JAVA - ANGULAR

  • SACQUENVILLE
JAVA Angular Spring Boot POSTGRES GIT SWAGGER Kafka RabbitMQ JENKINS AMAZON AWS
Bientôt disponible
CV Ingénieur de développement JAVASCRIPT
Said

Ingénieur de développement JAVASCRIPT

  • PARIS
JAVASCRIPT SQL JAVA Angular J2EE C++
Disponible
CV Chef de projet JAVA
Dieudonné

Chef de projet JAVA

  • SAINT-DENIS
JAVA BPM AGILE TEAM DEVELOPER TOMCAT LINUX SQL ENTERPRISE ARCHITECT JENKINS WINDOWS
Disponible
CV Analyste programmeur PHP
Mamadou

Analyste programmeur PHP

  • AMIENS
C PHP JAVA C++ SQL MYSQL Angular
Disponible
CV Développeur
Sabri

Développeur

  • BÉZIERS
REACT.JS JAVA .NET PHP C++ SQL JAVASCRIPT Angular ORACLE C SHARP
Disponible
CV Formateur PYTHON
Meryem

Formateur PYTHON

  • TOULOUSE
PYTHON JAVA SQL HTML WORDPRESS EXCEL CSS JAVASCRIPT VISUAL BASIC PHP
Disponible
CV Développeur Fullstack
Mohamed

Développeur Fullstack

  • PARIS
PHP SQL SQL SERVER JAVASCRIPT MYSQL PYTHON NODE.JS Next.js JAVA
Disponible
CV Développeur JAVA
Léo

Développeur JAVA

  • QUILLY
JAVA J2EE SQL JAVASCRIPT MYSQL JAVA J2EE C++ ORACLE Angular PL SQL
Disponible
CV Développeur JAVA
Fabrice

Développeur JAVA

  • PARIS
JAVA
Disponible