Préproduction

Chez J2S

Pierre, développeur front-end chez J2S, mais pas que !

À l’ère digitale, le métier de développeur est devenu essentiel. Nous sommes de plus en plus connectés dans notre quotidien, que cela soit par nos smartphones, et même nos véhicules, nos domiciles (chauffage, télévision, machine à laver…), notre santé, etc.
Tous ces logiciels et applications que nous utilisons ont nécessité la compétence d’un développeur, ne serait-ce que pour les créer, mais aussi pour les maintenir, les améliorer, et bien sûr les corriger. C’est ce qui explique pourquoi les développeurs sont de plus en plus recherchés. Pour exercer ce métier, il faut faire preuve de rigueur, de patience, de logique et de créativité.
Aujourd’hui, nous retrouvons Pierre, développeur multi-casquettes dans l’équipe J2S depuis bientôt 6 ans.
Dans cette rétrospective sur le métier de développeur, Pierre nous parlera de cet univers et de ses anecdotes. Il évoquera aussi sa contribution à l’évolution du portail Simple Workspace.


Sommaire


Pierre

Pierre

Peux-tu nous parler de ton métier de développeur dans l’équipe J2S, quelles sont tes missions, tes expériences passées ? Depuis combien de temps exerces-tu ce métier ?

« Cela fait 20 ans que j’exerce ce métier ».

Pierre : Je suis au départ un lead développeur front-end, un programmeur qui prend cependant en charge des taches supplémentaires, comme aider les autres à monter en compétence, prendre en charge une direction technique commune, mais il y a aussi d’autres types de développeurs, comme les back-end .
À J2S l’équipe étant plus petite, Georges. L, notre directeur technique, occupe une grande partie de cette responsabilité en assurant le back-end.

Pour ma part je fais plus de la conception, du développement, de l’assistance et de la formation des autres développeurs et intégrateurs. Ces formations concernent les outils internes, le portail Simple Workspace, et de manière générale tous les outils que nous développons.
Je suis actif à la fois sur la partie assistance et organisation technique, notamment car j’aide les développeurs juniors à organiser leurs projets et je les accompagne pour monter en compétence (revue de code, suggestions).

J’agis occasionnellement sur l’assistance fonctionnelle, c’est-à-dire former les intégrateurs à la connaissance fonctionnelle de l’outil. Et beaucoup plus rarement, j’interviens auprès de clients sur des sujets techniques ou simplement, pour présenter nos solutions.

« Je suis un autodidacte ! J’ai appris à coder sur AMIGA dans les années 1990. Je n’étais pas parti pour faire de l’informatique, il s’agissait plus d’une passion ».

L’AMIGA

En effet, venant d’une formation littéraire – les matières scientifiques ne rentraient pas dans mes centres d’intérêt – j’imaginais plus une carrière en lien avec ma formation et je ne voyais pas de débouché professionnel dans l’informatique.

Après avoir fait un DEUG d’histoire, et à la suite d’une discussion avec un ami d’enfance, celui-ci me persuada de changer de carrière et de me lancer dans des études d’informatique. Je me souviens qu’il m’avait dit, je cite : « Pour faire un BTS informatique de gestion, il n’y a pas besoin de faire un cursus scientifique ».
Au départ assez circonspect, je me laissais finalement convaincre. C’est de là que j’ai décidé de faire un BTS IG (informatique de gestion). Comme j’avais déjà créé des programmes et que j’avais mon propre site web, je ne démarrais pas de zéro, ayant déjà travaillé avec PHP (Le fameux langage de script ) et MySQL . J’avais donc de bonnes notions de départ ! Les deux années se sont très bien passées et j’ai été conforté dans l’idée d’en faire mon métier.

J’ai par la suite travaillé dans plusieurs entreprises dans le domaine du site web, notamment dans la communication de site web, le lettrage, la retouche photo, et bien sûr le développement.

En 2007, je rejoignis un éditeur logiciel pour lequel j’ai travaillé 10 ans, originellement en tant qu’analyste-développeur. Rapidement je suis passé lead-développeur : je faisais partie du service technique qui avait la charge de créer un Framework .) de composants graphiques (c’est en quelque sorte une boite à outils mis à disposition d’autres développeurs) utilisé par les équipes métiers.

Multi-casquettes, j’orientais les décisions techniques et donnais les directives pour l’utilisation du Framework (best practices, documentations, revues de code), je faisais de la veille technologique, du design d’applications, je formais les personnes à leur utilisation et en même temps les aidais à monter en compétence.
« C’est d’ailleurs une chose que j’ai toujours appréciée, le fait de partager, d’échanger sur ses connaissances avec les autres. »

Puis en 2017, j’ai rejoint J2S avec un profil de poste similaire bien qu’atténuée du fait d’une équipe plus petite.

Qu’est-ce qui t’a donné envie d’exercer le métier de développeur ? As-tu un modèle dans le monde de la technologie qui t’a inspiré ? Peux-tu dire que c’est une vocation ?

Pierre : J’ai eu un AMIGA pour mes 8 ans. À partir de là, il y a eu comme un déclic, tout me paraissait magique ! J’avais eu une console de jeux, mais cet objet était différent. Il me permettait aussi bien de jouer, que de dessiner, de faire de la musique et plus tard il m’a aidé à créer mes premiers programmes.

« En quelque sorte, c’est l’AMIGA qui m’a permis de laisser parler ma créativité ».

De mon point de vue, ce qui est déterminent dans le développement c’est le fait d’avoir imaginé quelque chose et de réussir à le fabriquer et à le faire fonctionner.

Je n’ai pas un modèle au sens d’une personne ou d’une entreprise, mais davantage l’esprit d’une communauté. Je peux en citer deux qui m’ont beaucoup inspiré :

  • La communauté AMIGA , c’était une équipe de passionnés qui prenaient sur leur temps libre pour créer des jeux, des démos, des choses révolutionnaires pour l’époque. Ils ont eu à mon avis un rôle important dans l’avancée des techniques de l’imagerie, notamment 3D. Il faut se dire que sur AMIGA, une personne sur cinq était un créateur. Vous imaginez aujourd’hui, le volume culturel qui existerait si un utilisateur de PC ou de Mac sur cinq créait quelque chose avec ?
  • La communauté Open source (ou code ouvert) sous Linux principalement, qui a ancré l’idée que tous les développeurs pouvaient s’entraider. Grâce à elle, je pouvais accéder à des documentations gratuites et des gens toujours prêts à vous faire progresser. L’arrivée de l’open source, facilitée par la démocratisation d’Internet à la toute fin des années 1990 a tout révolutionné, car les développeurs pouvaient partager leurs idées, leurs avis, leurs lignes de codes. C’était à la fois pratique – on gagnait un temps fou – et inspirant, car la diversité de tous ces développements pouvaient donner des idées !

Donc oui, évidemment ce métier est une vraie vocation pour moi !

Dans le développement on parle souvent de plusieurs métiers complémentaires et spécifiques à chaque partie du développement. Il y a par exemple, des développeurs front-end, back-end, etc.

Pierre : Le monde du développement est très diversifié : on y trouve du DevOps , du sysadmin (ou administrateur Systèmes et Réseau), des développeurs back-end… Ces derniers par exemple travaillent sur des problématiques très différentes, ils opèrent sur le côté serveur.
De mon côté, sur la partie front-end, les développeurs doivent principalement veiller à la compatibilité des navigateurs, l’ergonomie, la performance, les interactions utilisateurs et ce qu’elles peuvent déclencher. Pour la partie serveur, les développeurs back-end travaillent sur des problématiques du type : accès concurrents , les infrastructures, les performances, les API (Application Programming Interface), etc.

Ce sont des métiers dans lesquelles les personnes ne travaillent pas sur les mêmes technologies et nos tâches sont complètement différentes. Nous devons tout de même communiquer très souvent les uns avec les autres, car nos programmes « dialoguent » ensemble.

« Il faut à mon sens, avoir certaines notions des autres domaines du métier, on ne peut pas être un bon développeur front-end si on a aucune idée de ce qu’il se passe du côté du back-end ».

Il est aussi souvent question de faire des compromis, car nous ne travaillons pas avec les mêmes contraintes ni le même historique, et dialoguer entre développeurs doit amener à l’élaboration de solutions qui prennent en compte les des deux côtés. Dans la plupart des cas, nos idées se complètent et on aboutit à quelque chose d’encore mieux que ce qu’on imaginait de prime abord.

Comment s’organise le travail dans l’équipe de développement chez J2S ?

Pierre : Les sujets sont attribués aux différentes personnes en fonction des compétences et de la disponibilité de chacun.
Le cycle de développement s’organise de la manière suivante :

  • Nous recevons une expression de besoin qui passe par Georges L., notre directeur technique du pôle développement.
    Il supervise le fait que la demande est valable du point de vue fonctionnel et qu’elle est faisable techniquement. Je m’explique, c’est-à-dire, que la demande ne rentre pas en conflit avec des décisions prises au préalable ou des contraintes préexistantes. Georges L., ajoute aussi des précisions si nécessaire.
  • Puis, le travail est organisé sous forme de tickets qui correspondent à des tâches à accomplir. Une fois le besoin reçu le développeur prend en charge le ticket en s’occupant du codage et des tests. Il transmet ensuite le ticket au pôle de testeurs, à Sandrine.V.
  • Généralement, une fois le test validé par Sandrine V., le développement est intégré dans le programme. À intervalle régulier, Sandrine V. va le déployer sur les environnements de pré-production et de production.

Tu contribues énormément aux améliorations du portail Simple Workspace et de ses différentes applications, comme tu as pu l’expliquer dans tes différents articles. Quelles sont les dernières évolutions sur lesquelles tu as travaillé ?

Pierre : En 2022, j’ai réécrit Module Editor (L’application J2S pour éditer et tester les modules qui définit des instructions de mise en page) avec une nouvelle technologie : une toolchain , une chaine de compilation qui fait intervenir des technologies comme Electron, VITE, NodeJS…

J’ai aussi accompagné la mise en place de la refonte de Simple MOM+ que j’avais développé il y a deux ans, en faisant des ajustements sur les comptes clients, en ajoutant les nouvelles demandes fonctionnelles, etc.

Peux-tu nous expliquer en quoi ces améliorations consistent ? En quoi cela diffère des versions précédentes ?

Pierre : Module Editor est une technologie plus récente et surtout largement diffusée, donc qui est peu susceptible de tomber dans l’oubli et qui est surtout, open source ! Ce qui a permis notamment « sous le capot » de meilleures performances et un code documenté et maîtrisé.

En outre, ça a simplifié la procédure d’installation, et nous avons désormais un code qui a une meilleure maintenabilité. Je m’explique : il est plus facile à évoluer, plus flexible face à d’éventuelles demandes d’évolutions, voire à terme des demandes spécifiques clients. Globalement, nous perdons moins de temps à naviguer dans le code de l’outil. Ça rend les diagnostic et résolution de problèmes bien plus rapide.

En ce qui concerne les évolutions fonctionnelles du logiciel :

  • L’interface graphique a été retravaillée : présence de plusieurs thèmes (par exemple : sombre, etc.), des raccourcis clavier…
  • Nous donnons accès à plus d’informations intéressantes directement visibles par exemple : un indicateur sur un champ mal saisi, des « trucs et astuces » sur des explications concernant des champs. En quelque sorte, c’est à la fois de l’assistance à la saisie et des indications pour corriger des erreurs.
  • Des mécanismes de contrôle qui empêchent de corrompre des documents ;
  • Des prévisualisations en temps réel ;
  • Un éditeur de code plus complet (autocomplétions, coloration syntaxique, etc.).
    En bref, tout un tas d’outils qui accélèrent et simplifient le travail de ses utilisateurs.

Comment le choix des améliorations à intégrer est-il fait ? Pourquoi certaines et pas d’autres ?

Pierre : Les améliorations en interne sont décidées de deux manières : les choix de la direction – avec l’intervention de Georges L. – et les demandes des clients.

Ces demandes sont souvent améliorées en cours de développement, l’idée étant souvent d’aller « au-delà » de la demande du client, dans le but de pouvoir capitaliser sur ce qui a été fait et d’en faire quelque chose de générique dans le portail Simple Workspace par exemple.

Quels outils, logiciels, méthodes sont utilisés chez J2S ? On parle aussi beaucoup de composants en interne peux-tu nous en dire plus ?

Pierre : Nous avons deux dépendances principales. Nous utilisons du côté frontal, pour Simple Workspace un framework, Backbone.js . C’est en quelque sorte comme son nom l’indique, la colonne vertébrale sur laquelle nous nous appuyons.
Il y aussi AG-grid sur lequel toutes nos grilles sont basées.

Chez J2S nous utilisons aussi jQuery . C’est un peu la pierre angulaire de plusieurs extensions, qui nous permet de faire du « drag-and-drop » (Ou glisser-déposer), ainsi que des listes déroulantes évoluées, etc.

Passons aux composants. Tout d’abord, un composant est une brique qui va être réutilisable, cela peut être, un bouton, un formulaire, une grille et cela peut même être quelque chose d’invisible. Nous partons sur l’optique de créer quelque chose de logique et c’est pour cette raison que nous développons ces composants et les réutilisons dans nos solutions. Ils permettent de créer de la cohérence au niveau de l’interface, de l’utilisation et de créer moins de maintenance, étant donné que l’élément est déjà existant et réutilisé.

En tant qu’utilisateur de logiciels on ne se rend pas toujours compte que le métier de développeur consiste aussi à consacrer du temps à la maintenance d’un logiciel. Peux-tu nous expliquer en quoi c’est crucial pour le fonctionnement d’un logiciel ?

« Un logiciel c’est comme une voiture, si on ne met pas de carburant à l’intérieur elle tombera en panne. »

Pierre : En quelque sorte, même si un logiciel n’évolue pas, du moment qu’il n’est pas maintenu, il peut cesser de fonctionner du jour au lendemain, suite à un changement externe (nouvel OS, nouvelle version du navigateur…)

C’est pour ça qu’il est important de faire cette maintenance, comme la mise à jour du système d’exploitation, la maintenance des serveurs, comme avec le hardware (Un matériel informatique, qui peut être une pièce ou un composant de cet appareil) qui s’effectue par le changement d’une pièce défectueuse, ou le software qui consiste à mettre à jour une licence expirée par exemple. Pour résumer, il s’agit de manière générale de problématiques d’infrastructures.
Ainsi, si l’on revient à ce que j’expliquais au départ, même un logiciel qui n’évolue plus, qui n’apporte pas de nouvelles fonctionnalités, aura besoin de maintenance par rapport à son environnement.

Au contraire, s’il s’agit d’un logiciel qui évolue, il faut s’assurer que ce changement ne perturbe pas les parties fonctionnelles de l’application et de son environnement.
C’est donc aussi du temps à passer et donc de la maintenance.

Quelles sont les principales difficultés auxquelles tu es confronté au quotidien dans ton métier ?

Pierre : Globalement, les principales difficultés concernent tout ce qui précède le développement, c’est-à-dire, l’expression des besoins. Un projet réussi est un projet bien décrit en amont. Un cahier des charges aussi détaillé que possible.
Mettre en place une bonne communication, une bonne organisation et une répartition claire des responsabilités est primordial ! Et plus ces éléments seront traités en amont, au mieux le projet se passera.

Souvent, lorsqu’un projet arrive dans les mains des développeurs, la date de livraison est déjà connue bien avant que soient publiés les détails de ce que nous devons faire :
« D’accord, vous voulez que je vous livre dans 15 minutes, mais vous avez commandé une pizza ou un steak frites ? »
Ce genre de situations entraînent beaucoup d’allers-retours entre nos différents services, voire avec les clients, afin d’avancer. Et ceci consomme du temps qui finira inévitablement par manquer pour assurer une deadline sereinement. Nous avons donc une marge de progression sur ces problématiques.

Est-ce qu’il y a un projet qui t’a particulièrement marqué par le passé ou chez J2S ? De quelles réalisations es-tu le plus fier ?

Pierre : Il y en a plusieurs, mais je dirais la vue d’édition des workflows. Lorsque j’ai commencé à travailler dessus, je devais rendre un écran avec quatre grilles. Étant de l’école qui considère qu’on bon schéma vaut mieux que mille mots, je me suis dit que les workflows, souvent complexes à se représenter mentalement, profiteraient certainement d’être représentés sous forme de graphique.

Les intégrateurs étaient souvent confrontés à des moments frustrants dans l’édition des workflows – qui ne sont pas faciles à recycler, car, par nature, ils changeront drastiquement d’un contexte client à l’autre. Je pense que cet écran leur rend la vie plus facile.

Je rajouterai également tout ce qui concerne les refontes. C’est toujours satisfaisant de comparer l’avant et l’après ! Ce fut le cas avec Simple MOM, Simple DAM , Simple Brief , etc. Ces refontes étaient nécessaires et ont permis au portail de gagner en flexibilité, en fonctionnalités, et en maintenabilité. C’était en tout cas une expérience très intéressante de mon côté.

Penses-tu qu’il faut un talent ou une qualité en particulier pour exercer le métier de développeur ? As-tu des astuces des anecdotes à partager avec une personne qui voudrait débuter dans ce domaine ?

« On dit souvent : « qu’un développeur, c’est un informaticien un peu plus doué dans son utilisation de Google ».

Pierre : Sans aller jusque-là, je ne pense pas qu’il faille un talent en particulier pour être développeur, je dirai surtout qu’il faut surtout être motivé, patient et curieux ! Je m’explique, une personne motivée n’ayant pas forcément beaucoup d’expérience en prendra dans le développement et aura tendance à vouloir s’améliorer et cette personne finira par devenir rigoureuse.

Il faut de la patience, que ce soit dans l’exécution de sa tâche comme dans ses relations avec les autres, est capital ! Dans sa tâche, parce qu’on apprend à accepter de se dire qu’on mettra plus de temps que prévu. « La programmation c’est aussi l’apprentissage par l’échec ! ». Et enfin, à l’égard des autres, ce que l’on considère comme logique ou évident ne le sera pas forcément pour les autres. Et puis, c’est un métier très intellectuel, avec des personnalités fortes et des opinions tranchées.

Au final, nous serons toujours confrontés à des problèmes, qui ne sont heureusement pas impossibles à résoudre ! Sur le moment on se dit que ça va être difficile, mais on finit par y arriver, et par la suite, ces problèmes se transformeront en expériences qui permettront d’éviter des pièges.

Et pour finir, le partage et la communication sont deux autres qualités essentielles : dans une équipe, nous avons besoin des autres, nous devons et sommes amenés à travailler ensemble. En échangeant régulièrement avec nos confrères, nous pouvons éviter à nos collègues de commettre nos erreurs passées, et vice-versa. Cela prend du temps, mais comme on dit : « Seul on va plus vite, ensemble on va plus loin ».


Merci à Pierre pour cet échange dans lequel nous avons découvert quelques facettes et anecdotes de son métier de développeur.
Vous avez un projet de publication et souhaitez mettre en place une solution comme Simple Workspace ? N’hésitez pas à nous contacter  !

Restez connecté·e·s à Chez J2S pour être incollable sur l’univers de la production de publications, la saisie de fiches produits, etc., découvrir le profil des autres membres de l’équipe et leurs réalisations !

C. Balavoine

Sales & CSM

P.- S. Retrouvez les autres interviews de l’équipe J2S :
· L’interview de Benjamin : Rencontre au cœur de J2S : un responsable des partenaires rejoint les rangs de J2S !  ;
· L’interview de Julie : Partie 1 – Rencontre au cœur de J2S : une nouvelle venue chez J2S ! et la Partie 2 – Rencontre au cœur de J2S : une nouvelle venue chez J2S !  ;
· Mon interview (Caroline) : Qu’est-ce qu’un Success Manager chez J2S ?  ;
· L’interview de Maria et Julie: Partie 1 – Rencontre au cœur de J2S : le monde de l’édition à travers les yeux de nos intégratrices et la Partie 2 – Rencontre au cœur de J2S : le monde de l’édition à travers les yeux de nos intégratrices  ;
· L’échange avec Olivier : Fabriquer l’usine Simple Workspace, échange avec Olivier, développeur chez J2S  ;
· L’échange avec Lieven : L’alliage de la créativité et de la technique : de la conception de catalogues à la gestion de projet  ;
· L’échange avec Corentin : Corentin, directeur de projets chez J2S : le maître de la coordination !

(Article Chez J2S du 15/6/2023)