Bien le bonjour chers homologues,
Je vous écris, parce que j'aimerais avoir quelques retours d'expérience concernant les méthodologies pratiquées au sein des entreprises (SSII, agences digitales, startups, qui font du dev quoi) en France.
Pour me présenter un peu, j'ai raté un master en informatique au cours duquel j'ai fait quelques stages (3) dans une microagence web (on était 2 le patron et moi) où tout se faisait à l'arrache, un jour je me souviens qu'il m'a pourri pour avoir oublié de renommer un fichier en xxxxxx.old.1.2.3.4.monculsurlacommode et que on ne pouvait pas faire un rollback dessus ça se passait aux alentours de l'année 2011 et non vers 1970), je lui avais répondu qu'on aurait pas ce genre de soucis si nous utilisions GIT, il m'a dit "ça me fait chier de payer pour ça" (depuis je cherche toujours le rapport de cause à effet).
Après donc l'échec de ce master et un an de freelancing je reprends des études en alternance, j'atterris dans une autre agence "web" (agence de com' en fait) ou tout se fait tout autant à l'arrache, tout basé sur Wordpress "Votre site e-commerce avec Wordpress on vous l'fait M Michu faites nous confiance aucun problème!", toujours pas de système de versionning mais comme j'étais le seul dev ça passait.
L'agence fini par couler et j'atterris dans une startup qui fait tourner un jobboard, nous sommes 3, le temps du préavis de la personne que je suis destiné à remplacer et mon manager.
Il y a du versionning avec Git (c'est déjà ça), pas de doc, pas de framework, mon manager a des idées très arrêtées sur les frameworks et leurs "limitations", bref c'est que du fait maison et dans l'ensemble c'est assez sale mais ça passe.
On essaie pas de se la jouer méthodes agiles et compagnie, il y a une mise en production par semaine, ou toutes les deux semaines, mon manager teste vite fait les devs et ça part en production avec un merge sur la branche de prod, ce système fonctionne plutôt bien.
Nous finissons par partir, moi parce que j'ai eu mon diplôme et pour divergences irréconciliables avec la direction, lui quelques mois après parce qu'ils n'avaient plus que lui sur qui taper.
Je me retrouve donc il y a bientôt un an sur le marché du travail, je finis par accepter un entretien dans une agence digitale à taille moyenne, qui arrive à me convaincre malgré mes réticences parce je préfère travailler sur le même projet sur le long terme et que j'aime pas trop les agences où c'est l'usine du vite fait mal fait.
Premier jour, et entretien avec le "manager" qui n'est pas clairement annoncé comme tel mais semble l'être néanmoins, et qui me dit "si tu viens ici, on veut pas que tu partes dans deux jours en disant que le code est trop pourri", parce que deux personnes ont été recrutées avant moi et sont parties au bout d'une semaine parce que leur code est trop sale.
Comme je ne prends pas mes jambes à mon cou nous avons donc un accord tacite mais c'est vrai qu'il est sale le code, mais quand je vous dis qu'il est dégueulasse ça dépasse tout ce que j'aurais pu un jour imaginer même dans mes pires cauchemars, c'est indescriptible, a côté de ça ce qu'on faisait dans mon précédent taf était un modèle d'architecture logicielle !
Mais je décide de rester quand même en me disant que finalement comme ils en sont conscients, et on manifesté le désir d'avoir quelqu'un qui aurait la motivation et les compétences pour refaire proprement les parties qui leur posent problème (en gros 99% du truc) et que cette personne semble être moi, je me dis qu'au fond ça serait pas plus mal pour bibi d'être acteur de de changement qui règlerait 99% des problèmes qu'ils rencontrent, peut être qu'il y aurait à la clé une augmentation, une promotion, ou même de la reconnaissance morale dans un premier temps je m'en contenterai.
Que nenni, au bout de quelques mois de présence je me rends compte qu'on m'avait sérieusement bullshité sur cette entreprise, avec leur soit disant ouverture d'esprit à l'initiative, leur soit disant organisation, leurs "méthodes agiles" (pffff tu parles).
Ils font 1 à 3 mises en production quotidiennes à chaque fois sur 3 serveurs différents, "à la main", en FTP (ne pas oublier de sauvegarder d'abord les fichiers à mettre à jour avant de les écraser en prod, sinon !), sans serveur d'intégration continue, sans aucun test unitaires (ils ne savent même pas ce que c'est mais à part ça ils font de l'agile), ni même fonctionnels, les chefs de projets sans aucun background technique ne savent même pas ce que c'est qu'un cookie pour la plupart d'entre eux. Enfin voilà c'est du grand n'importe quoi.
Alors bien sur les clients sont extrêmement mécontents car tous les jours il y a des problèmes parce que quelqu'un oublie de mettre à jour un fichier en prod ou parce qu'une version du fichier A modifié pour la feature 1 puis pour la feature 2 passe en prod pour la feature 1 mais avec les modifications effectuées pour la feature 2 mais sans les autres fichiers dont dépend la version pour la feature 2 et PAF ça fait des chocapics !
Tous les jours il y a un bug critique, une mise en prod qui rate, parce que rien n'est organisé dans le code, rien n'est architecturé, commenté, documenté ou testé et ça dure depuis des années.
Ça nuit gravement à l'image de la boite et on se prend des taquets quotidiens de la part du patron qui débarque régulièrement dans l'open space en proférant des insultes.
Depuis des mois, je me bats en essayant d'instaurer des méthodes et une vraie organisation qui règleraient pas mal de ces problèmes (test unitaires, fonctionnels, déploiements avec un outil sérieux), quand les solutions que je propose sont acceptées (ce qui n'est pas souvent le cas) alors qu'elles ont déjà fait leurs preuves, on ne me laisse que rarement le temps de les mettre en place puisqu'on vient m'interrompre avec un truc "urgent urgent" qui se rajoute à d'autres truc "urgent urgent" alors que l'urgence ce serait plutôt de stopper l'hémorragie et de corriger tout ce qui merde avant d'en rajouter encore une couche.
Par contre de l'autre côté ça continue de pleurnicher "Oin oin on a des problèmes" sans faire quoique ce soit pour vraiment y remédier malgré leurs beaux discours volonté de changement, problèmes que nous ne devrions pas avoir d'après le boss parce que nous utilisons git, haaaa git l'outil magique qui débugue ton code, règle tes conflits de merge tout seul et écrit même tes tests unitaires.
Et ça se demande en réunion "Comment ils font Amazon pour afficher un panier en moins d'une seconde?", ben déjà, Amazon, ils ne font surement pas 300 requêtes SQL juste pour afficher le panier du client, true story.
Côté reconnaissance pas mieux hein, il y a quelques mois j'ai conçu un petit module tout bête sur ma propre initiative pour optimiser les temps de chargement des pages et diviser par 3/4 le nombres de requêtes nécessaires (et donc la charge serveur) rien que du bon sens, avec l'aide d'un collègue je l'ai déployé sur le site à plus fort trafic que nous ayons et ça a fonctionné du tonnerre et ça "nous" a permis de gagner un paquet de pognon (j'ai vu les chiffres).
Je n'ai eu absolument aucun retour de mes supérieurs là dessus même pas à mon point annuel, pas plus que mon collègue qui m'a aidé, tout le monde en a parlé pendant des semaines, c'est même devenu un argument de vente mais c'est comme si personne en particulier n'en était à l'origine, comme si c'était apparu comme ça d'un seul coup deus ex machina, par contre récemment je me suis fait pourrir en bonne et due forme pendant deux jours par le patron pour avoir causé d'après lui "l'incident le moins grave de ces derniers mois" oui vous avez bien lu, le MOINS grave.
Patron qui quand il nous demande des solutions à ces problèmes nous coupe avec "Non non non non, c'est pas ça qui faut faire!" et débarque avec sa super solution à tout "Vous devez vous organiser et faire plus attention", ha ben oui mais c'est vrai ça qu'on y avait pas pensé tiens!
Dans ce cas, pourquoi nous demander une solution, pourquoi faire appel à notre expertise?
Contrairement à ce qu'on m'avait vendu à l'entretien d'embauche, c'est comme partout ailleurs ou je suis passé mais en pire, au lieu d'être un ingénieur qui conçoit des solutions pour répondre au besoin du client je ne suis qu'un exécutant, un ouvrier hautement qualifié à qui on demande de ne surtout pas réfléchir et d'assembler les boulons dans le bon ordre parce que le mec qui t'a dit de les assembler dans cet ordre fort de ses 3 pauvres lignes de PHP écrites il y a 10 ans sait mieux que TOI petit singe savant dont c'est le métier.
Aujourd'hui je n'ai plus aucune motivation à travailler là bas, et pire encore je n'ai plus aucune motivation à faire mon travail du mieux que je peux et à apporter des solutions intelligentes aux problèmes qu'ils ont, tout ça pour quoi? Ne rien avoir quand je fais mieux que les autres et ramasser une volée de bois vert quand je me plante? Très peu pour moi.
Surtout quand je vois que les planqués de la boite, ces ouvriers du code as du copier-coller qui ne prennent jamais aucune initiative, ont des augmentations juste parce qu'ils ont de l'ancienneté, qu'ils sont bien dociles et vont boire des coups 3 soirs par semaine avec les autres au bar d'à côté?
Conséquence logique j'ai pris la décision de partir, mais honnêtement je me demande si ça en vaut la peine, si c'est pour retrouver la même chose ailleurs autant rester et ne pas me taper tout le bordel rupture conventionnelle && inscription pôle emploi && mise à jour CV && entretiens d'embauche && on prend les mêmes et on recommence.
Il y a bien quand même quelque part en France au moins UNE entreprise qui sait ce qu'elle fait, qui emploie des vraies méthodes, qui a une vraie organisation, et qui écoute réellement ceux qu'elle a engagé pour leur expertise et dont c'est le métier?
Je n'ai pas fait beaucoup d'entreprises, mais vu ce que j'entends, lis et vis j'en suis déjà à penser que ma seule chance d'atterrir dans ce genre d'entreprise c'est de m'exiler outre atlantique.
Plus globalement, quels seraient vos conseils pour m'aider à détecter ce genre de guignols à l'entretien, voire même avant?
(Désolé c'était un peu long, mais merci de m'avoir lu !)
Partager