Retour

Dimanche 19 janvier 2020

Notre Arès du e-commerce – Julien

Loin des sujets de maintenance, nous choisissons aujourd'hui des projets permettant la découverte de nouvelles technologies, la refonte de site, la R&D, le lancement de projet from scratch ou encore la construction de prototype!

Qui suis-je?
  • Ingénieur de formation – spécialité Manager et d’Architecte des Systèmes d’Information (Bac +5) à l’Ecole Supérieure d’Information Exia-Cesi en 2013
  • 6 années d’expérience sur la stack Java
  • Quelques clients de mon parcours : Galeries Lafayette, Eurocopter, Constelliu
  Les 3 raisons essentielles pour laquelle j’ai souhaité changer d’employeur et rejoindre OLYMPP?
  • La taille humaine de l’entreprise la culture qui en découle : proximité des dirigeants, rencontre avec les équipes. Il y a un réel sentiment d’appartenance à l’entreprise.
  • L’expertise et le haut niveau d’exigence technique : privilégier la qualité à la quantité.
  • Les missions et projets proposés, tant en terme technique qu’humain. Encore une fois, la préférence pour la qualité plutôt que la quantité.
 

Comment peux-tu définir le contexte général de la mission ?

Je travaille pour la branche e-commerce des Galeries Lafayette. Le rôle de mon équipe et de maintenir et faire évoluer le système OMS qui gère toutes les commandes du site depuis la validation du panier client, jusqu’à sa réception.

Comment est dimensionnée l’équipe et quelle est son organisation ?

Je fais partie d’une équipe d’une quinzaine de personnes constituée de 8 développeurs (dont 2 techlead), 2 Product-Owner qui font le lien entre les demandes métier et l’équipe, 1 Scrum-Master, responsable de l’application des méthodes Agiles, 2 Testeurs/ Recetteurs fonctionnels, qui valident les nouvelles fonctionnalités et 1 Testeur non-regression automatisé, qui valide la non-regression des versions.

Mon rôle est à la fois de développer de nouveaux projets sur l’application, faire évoluer des fonctionnalités existantes et aussi maintenir et corriger les bugs qui pourraient être présents.

Dans cette équipe, j’ai le rôle de développeur full-stack, participant à la fois aux études, à la conception, au développement et au maintien de l’application.

Quelles sont les problématiques rencontrées ?

  • Gestion des différents types de flux (paiement, gestion des stocks, flux comptables, gestion des retours, etc.) avec différents prestataires et contraintes techniques.
  • Implémentation des contraintes et objectifs métier.
  • Stabilité technique étant donné la charge d’utilisation en prod.
 

Quelles sont tes taches ?

  • Etude et la conception de nouvelles fonctionnalités (allant de petites évolutions à de gros projets d’envergure)
  • Implémenter et faire la documentation technique de ces fonctionnalités
 

Quelle est ta journée type ?

  • La journée commence par un Daily Scrum qui nous permet d’échanger sur les points bloquants et sur les tâches prévues de chacun dans la journée.
  • Ensuite, si je n’ai pas de tâche en cours, je prends un ticket ouvert sur l’outil Jira. La priorisation des tickets est faite par les PO, mais je garde le choix sur le sujet sur lequel je travaille :
    • De la TMA lié à des bugs en production
    • Des tickets avec une évolution de fonctionnalité à implémenter
    • Des tickets avec une fonctionnalité liée à un nouveau projet à implémenter
    • Une anomalie remontée par un testeur/recetteur
    • Un ticket technique (refactoring, évolution technique, POC, couverture de tests, etc.)
    • Un ticket du sprint futur sur lequel il faut faire l’étude/conception.
  • Une tâche urgente peut arriver en cours de journée (par exemple un bug critique en production, ou une anomalie bloquante lors de la recette alors que la date de MEP est proche) qui oblige à mettre de côté un ticket moins urgent. De manière générale, on est très autonome sur ce qu’on choisit de faire dans la journée.
  • Les réunions font partie aussi de mes journées de travail. Elles peuvent, soit faire partie du contexte agile Scrum (sprint planning, rétro, demo, review, grooming, etc.), soit être lié à un projet particulier (réunion purement technique entre développeur, voire des réunions avec des équipes d’autres projets pour définir les modes de communication et les flux d’échanges).
 

Est-ce qu’il y a de nouveaux projets à venir ?

Il y a énormément de nouveau projets e-commerce sur les mois à venir. Nous avons déjà développé et mis en production le programme de points de fidélité du site des Galeries Lafayette, et actuellement nous sommes en train de mettre en place le portail vendeur, c’est à dire la gestion de commande internet prépayées en magasin via une tablette. Il y a également à venir (la liste n’est pas exhaustive) :

  • Refonte de gestion des stocks, des réservations et des choix d’entrepôts sur les commandes e-commerce.
  • Mise en place d’un suivi précis de colis dans le backoffice pour l’expédition et le retour.
  • Expédition en multi-colis pour une même commandes.
  • Gestion du paiement par carte cadeau.
  • Gestion de l’emballage/message cadeau.
  • Refonte totale de la redescente comptable.
  • Création automatique d’une nouvelle commande en cas de rupture.

A cela s’ajoute un bon nombre de petites évolutions mineures. Ce sont des problématiques très intéressantes à mon sens, d’un point de vue e-commerce. Mon équipe est fortement impactée par ces projets, puisque c’est nous qui implémentons tout le workflow d’une commande jusqu’à sa réception, et même au-delà en cas de retour.

Quels sont les outils mis à ta disposition pour que tu puisses bien travailler ?

  • Nous travaillons sur IntelliJ, et nous avons à disposition une marche virtuelle préconfigurée pour déployer l’application en local, qui a été mise en place par le techlead.
  • La gestion de Git, des tickets et de la documentation est centralisée via les outils Atlassian (respectivement Bitbucket, Jira et Confluence) ce qui permet de faciliter tout le processus de développement.
  • Des outils de monitoring côté développeur (Jenkins pour les nightlybuild et la remontée d’erreur, Sonar pour la revue de code, Kibana pour la gestion et la recherche dans les logs) ce qui nous permet d’être beaucoup plus efficace.
 

Quelle est le stack technique (et les outils utilisés) ?

  • Java 8, Spring, Activiti (BPMN), REST (viaSpringRest), MoM (via hornetQ), Soap, MongoDB, OracleDB, AngularJS 1.3, nodejs, grunt, karma, webpack, Git (bitbucket), Jira
 

Qu’est ce qui t’intéresse le plus sur le projet ?

  • L’aspect fullstack (backoffice) et le stack technique.
  • Le métier (domaine de l’e-commerce).
  • L’envergure du projet.
 

Qu’as-tu appris depuis le début de la mission ?

Beaucoup en terme technique (Activiti et l’orchestration via BPMN, outils sur la stack JS, MoM, …) mais également:

  • En termes d’architecture, d’interopérabilité et de gestion des impacts d’un projet.
  • Les problématiques métier de l’e-commerce.
  • L’application des méthodes Agile au sein d’un équipe de dimension importante.
 

Quels sont les points négatifs du projet ?

  • Le problème majeur est que nous avons beaucoup de gros projets et d’évolution en même temps. C’est très intéressant et réellement un challenge à la fois technique et d’organisation. Les enjeux business sont importants et chaque pôle métier voit sa demande comme étant ultra-urgente et prioritaire. C’est un rythme qui peut être fatiguant mais qui reste néanmoins passionnant.
  • Du fait de cet enchaînement incessant de gros projets, notre capacité à travailler sur des tâches purement technique (e.g. qui n’ont aucun gain direct pour les pôles métiers) est plus faible que ce que l’on souhaiterait.
 

Quels sont les + de ta mission ?

  • L’ambiance de travail au sein de l’équipe est très sympathique, même au-delà des développeurs. On est une équipe relativement grosse pour de l’agile (~15 personnes) et on arrive à garder une bonne humeur et une excellente cohésion même dans les périodes avec beaucoup de travail et de projet.
  • Il y a également beaucoup d’échange de connaissances au sein de l’équipe : les plus expérimentés sont prêt à prendre du temps pour expliquer les choses aux nouveaux, et on n’hésite pas à mettre en place du pair programming.
  • La stack est complexe est très intéressante d’un point de vue technique. Les différents projets mis en place sont au cœur des préoccupations de l’e-commerce, et c’est une expérience très enrichissante je trouve.
 

Que dirais-tu à ton/ta prochain(e) collègue Olymppien?

  • Le niveau technique attendu et très élevé, et le niveau d’exigence également : c’est un pré-requis important.
  • Il faut savoir faire preuve d’autonomie et à la fois être disponible pour l’équipe.
  • Et il faut surtout avec un bon sens relationnel et être force de proposition : l’équipe laisse beaucoup de place à chacun pour proposer des choses, prendre des décisions et réellement impacter le projet. Il ne faut pas rester dans son coin mais réellement participer et s’impliquer dans le projet.