Projet en Recrutement :
Développeur(se) Back-end
Feature Team : dépôt annonce
Feature Team : dépôt annonce
Leboncoin ne cesse d'initier de nouveaux projets et fait grandir ses feature team. En réalisant une immersion au sein de leurs locaux, j'ai pu :
Définition du projet en recrutement
Historique Les mots de la Direction :
"Nous avons réalisé aussi bien un virage technique qu'un virage organisationnel en réorganisant notre staff technique en feature team. Il y a 10 feature team actuellement et nous souhaitons progresser à 13 feature team avant la fin de l'année. En ce qui concerne les technologies, nous avons mis en place les dernières technologies, tant pour l'émulation intellectuelle que pour répondre aux enjeux business forts"
Contexte actuel Leboncoin est aujourd'hui le 1er site de petites annonces en France. Cela se traduit techniquement par de fortes contraintes techniques, une exigence de performance et une capacité à être réactif face aux éventuels bugs. Christophe disait par exemple, "il est arrivé un bug sur le système d'authentification du site. Cela a duré 10 minutes environ ce qui a engendré 600 mails au support. La moindre minute d'interruption a un impact sur des milliers d’utilisateurs"
Voici quelques chiffres parlants :
28 millions annonces (même nombre d’annonces de locations saisonnières que Airbnb par exemple)
27 millions de visiteurs uniques par mois
800 000 nouvelles annonces par jour
7 milliards de pages vues par mois
Date existence 2006
Nombre de personnes à l'ITUn peu plus de 120 personnes
Localisation Paris 10 eme
Les locaux
La configuration des équipesIl y a actuellement 10 feature team
La configuration d'une feature team est la suivante :
les personnes des FT font partie de chapters, qui sont des "pôles de compétence" (chapter web, chapter iOS, chapter backend, chapter produit, etc.)
Chaque feature team fonctionne de façon autonome et est garante de son produit sur tous les supports (web, mobile, iOS, Android). Le nombre de personnes au sein de la FT est vraiment variable. Cela va de de 3 personnes à 15 personnes
Selon Christophe, "l'organisation en feature team fait que les mondes se côtoient, travaillent ensemble pour répondre aux enjeux business et pour garantir la satisfaction client"
Les développeurs baignent dans un environnement de travail qui pousse à la prise d'initiatives. Les évolutions sont possibles et sont même encouragées : au sein de la feature team, entre feature team, et entre services. Les personnes de l'équipe évoluent en fonction des opportunités. Chaque personne a un espace de liberté pour exprimer ses souhaits (dans le cadre formel du bilan annuel mais aussi en cours d'année en discutant avec son manager direct)
Comme le disait Christophe, "nous sommes un acteur de référence dans le secteur des pure player web. Nous sommes connus de tous, même dans les coins de la France les plus reculés. Cependant, nous n'oublions pas notre histoire, d'où nous venons, les chemins parcourus, les pivots techniques réalisés. Cette humilité nous permet d'innover continuellement, de nous remettre en question pour maintenir ce niveau de qualité technique et d'exigence client, d'autant plus que c'est un secteur très concurrentiel et en perpétuel changement"
L'équipe Data est vraiment une équipe distincte des feature Team
L'ancienneté des collaborateurs est de plus de 2 ans en moyenne sur un même poste. Les départs existent mais ils sont plutôt rares. Selon Géraldine, "dernièrement, il y a eu le départ d'une personne qui souhaitait réaliser un projet de vie aux USA"
La configuration de ton équipe : FT dépôt annonceLa Feature Team "dépôt annonce" est composée de 13 personnes pouvant évoluer jusqu'à 15 personnes
Selon Rogelio, "la FT dépôt annonce est au cœur du cercle vertueux de la boite et a un rôle central chez nous. On y retrouve tous les profils : 3 développeurs Back-end, des profils senior (10 d'expérience), des personnes sorties d'école, des développeurs plus intermédiaire, des développeurs iOS, Android. Il y a aussi un binôme PO et ces derniers ont un rôle très fédérateur. C'est une équipe où il y a une bonne gamme d'énergie propice à l'accueil"
Pour les nouvelles recrues, plutôt junior, qui intègrent l'équipe il y a tout un parcours initiatique en Pair Programming ce qui permet de créer du lien et d'adopter une approche bienveillante (discussion sur ce qui a été construit, présentation des travaux etc). "Grâce à cette méthode d'intégration, Fabrice, par exemple, qui est arrivé chez nous il y a 3 mois, a poussé son code au bout d'une semaine. Nous lui avons fait rapidement confiance"
Split junior/senior :
15 à 20% ont plus de 10 ans d'expérience
65 % ont entre 5 et 10 ans d'expérience
15 à 20% ont moins de 2 ans d'expérience
La moyenne d'âge est de 31/32 ans
La stack technique actuelle de la FTArchitecture micro services articulée autour d’API Rest, écrites en en GO et PostgreSQL
Pourquoi PostegreSQL ? Selon Rogelio "c'est une techno dans laquelle nous avons confiance, qui est stable et surtout qui répond à nos besoins (persistance, ça se scale bien, ça répond aux problématiques de stockage et transactionnel)
Passage en cours sur Kubernetes pour adresser les problématiques de déploiement
La qualité de code de la FTUsage de Gerrit pour tout ce qui est revue de code
Intégration continue avec Jenkins
Daily tous les matins dans les feature team
Sprint de deux semaines
Comme le disait Christophe, "nous ne sommes pas des dictateurs de l'agilité. Cependant, naturellement, vue que la satisfaction client est le nerf de la guerre pour le bon fonctionnement de notre business, l'agilité est indispensable tant sur le plan organisationnel avec l'intégration des PO dans la feature team que la qualité dans l'écriture du code. Cela se traduit par un rituel de code review, des pratiques en pair programming afin de bien valider le code mais aussi pour faire progresser les nouvelles recrues sur nos besoins spécifiques et surtout critiques"
Rogelio me disait "nous serions vraiment contents d'avoir une personne qui pousse davantage les bonnes pratiques, qui souhaite faire de l'évangélisation autour du TDD. Aujourd'hui, cela est possible de le faire de façon individuelle car c'est avant tout une hygiène que l'on s'impose à soi-même mais le pousser à grande échelle serait vraiment un plus que la nouvelle recrue peut apporter"
En ce qui concerne la couverture de tests, Rogelio me disait "nous pourrions avancer les chiffres que l'on veut. Cependant, une chose est sûre, nous sommes pragmatiques. Une bonne couverture de code est une couverture qui protège et qui permet d’avoir un feedback rapidement. Nous allons tester essentiellement les fonctions qui font sens par rapport au business. Cela dépend vraiment des équipes. Par exemple, côté web, ils s'imposent 100% de couverture de tests"
Les projets d'évolution à moyen/long terme de la FTIl y a un énorme projet de migration technique. Il existe encore une bonne partie de la stack en C à faire basculer en GO sans interruption de services et sans détérioration du produit
Selon Rogelio "nous avons décidé d'y aller de façon incrémentale. Nous mettons en place un espèce de Y au moment du dépôt d’annonce pour vérifier le comportement de la plateforme entre l'ancienne et la nouvelle stack et donc prévoir une bascule sans risque"
La migration est aujourd'hui à 20/30% et il y a de réels enjeux en termes de charges, et de complexité (la base de données pèse 6 To)
L'environnement de travail globalEn ce qui concerne le choix des machines et les IDE, c'est assez libre. "Nous avons tous des Thinkpad et des Mac; Par contre personne n'est sous Windows. Il y a une seule contrainte : il faut que Linter (outil qui permet de vérifier la qualité de code) passe"
Une formation par an, par salarié, basée sur ce qu’il veut, en lien tout de même avec sa profession
Mise en place du concept "Tshape" : la barre verticale du T représente le socle de compétences et la barre horizontale représente les appétences, les ouvertures techniques afin de croiser, chez une même personne, les compétences maitrisées et avérées et les souhaits d'évolution et d'apprentissage technique
Meetups et salons illimités sur toute la France. Selon Rogelio, "l'entreprise va au-delà de la simple proposition d'un catalogue de conférences techniques. Elle encourage les développeurs à y aller en intégrant cela dans leurs objectifs et en leur proposant de faire systématiquement des REX pour partager les idées et best practices aux personnes qui n'ont pas pu s'y rendre. Cette année, des devs sont partis à la conf GO à Denver et d'autres à New York. Mettre des sous dans des conférences c'est un investissement pour l'entreprise et non un coût"
Il y a aussi de nombreux BBL et meetups internes organisés par les collaborateurs sur les sujets qu'ils souhaitent
Leboncoin hoste aussi de nombreux meetups : cette année, ils ont hébergé la premier journée d'ateliers organisée par NCrafts
"Vu que nous poussons régulièrement les Devs à être speaker lors des conférences, le CTO a mis en place un accompagnement de prise de parole en public"
Leboncoin sponsorise : Goland, Devoxx, et Android Maker
Team Building tech sur toute une journée (REX, bilan projets, présentation des choses qui ont été lancées et des nouveautés techniques)
Journée Chapter : Présentation, questions/réponses pendant 15 min puis ateliers pratiques
Un séminaire d'entreprise par an
Selon Rogelio, "il y a vraiment une super ambiance de travail. Cela fait un an que je suis là. C’est la boite la plus fun que j'ai connue au cours de mon expérience. J’ai travaillé dans l'univers de la finance, de la recherche; J'ai monté ma boite, j'ai été indépendant aussi et ici je suis respecté comme jamais je n’ai jamais été respecté. En un an, j'ai fait deux formations et 4 confs dont deux à Devoxx"
Budget resto, par feature team, pour créer des moments d’échange
Compétences techniques Développeur Back-end GO (H/F)
Cette personne va rejoindre une équipe de bon niveau techniquement mais il n'est pas nécessaire d'être expert(e) en GO. Ils ont conscience que la technologie est récente
Cependant, la nouvelle recrue devra montrer un réel intérêt/passion pour cette technologie (veille, participation à des meetups, culture générale, etc).
Au-delà de l'appétence technique pour GO, les compétences techniques exigées sont les suivantes :
Christophe disait : "je préfère avoir un équipe de devs qui s'entend bien, qui communique bien pour atteindre un niveau de ligue 1 qu'une équipe de stars, brillante individuellement mais ingérable collectivement et qui tire contre son camp"
Soft SkillsFaire preuve d'une grande ouverture d’esprit
Etre bon communicant. Comme le disait Rogelio, "la FT dépôt annonce étant centrale dans l'entreprise, il y a continuellement des interactions avec les autres FT (création de compte, fonctionnalités premium, paiement, etc)"
Ne pas hésiter à être Drôle/ fun. "C'est tellement bon de rire dans un contexte de travail où il y a d'importants enjeux techniques"
Se poser avant tout les bonnes questions et non proposer, avec des raccourcis rapides, des solutions toutes faites
Etre bienveillant à tous les niveaux : entre collègues mais aussi avec les autres services. Géraldine disait "les managers techniques, par exemple, sont très impliqués dans le processus de recrutement et aident au sourcing des profils techniques".
Etre un(e) développeur(se) responsable : "l'autonomie des feature team passe par l'autonomie individuelle, c'est-à-dire cette capacité à assumer un raté, à le rectifier et surtout à le partager. Cela permet de maintenir un bon niveau technique dans l'équipe et surtout de garantir un haut niveau de qualité du livrable. L'autonomie passe aussi par le respect : respect des horaires de daily meeting le matin, des contraintes business, etc"
Le côté fun en image !
L'engagement RSE de l'entreprise ?
Engagement associatif et diversité Accueil des MissCode de Simplon
Si le collaborateur prend une journée de RTT pour aider une association, Leboncoin lui offre une journée de RTT
La question de la mixité a été l'objet d'une conférence en salle plénière sur le thème : les femmes dans l'IT. Rogelio me disait "je serais le manager le plus heureux si il y avait davantage de femmes dans mon équipe. Le cadre de travail est bienveillant, respectueux. Elles sont les bienvenues !"
Mise en avant des talents (exemple : exposition de photos réalisées par l'un des collaborateurs)
Engagement écologique Des vélos Leboncoin en libre-service
Bien être au travailDes salles de sieste a disposition
Respect du cadre vie pro/vie perso : Rogelio me disait "je fais davantage de recadrage pour dire aux personnes de partir quand elles sont encore là à 21h que de recadrage pour respecter les horaires de travail. Je pousse les personnes à rentrer chez elles, à avoir une vie après le travail"
Les plusBonne ambiance de travail
Locaux agréables et centraux dans Paris
Environnement de travail pensé par et pour les développeurs(ses) : technologies récentes, feature team, qualité de code, partage de best practices, veille technique et montées en compétences multiples et variées
Une proximité avec la Direction
Entretien technique poussé lors du processus de recrutement, non seulement pour évaluer le cheminement intellectuel des candidats mais surtout pour cerner le potentiel, les souhaits d'évolutions technologiques et les aspirations professionnelles. Géraldine me disait "nous ne recrutons pas pour faire du volume ou pour boucher un trou. Chaque personne sait pourquoi elle est là dans l'équipe"
Les moins Il y a encore des brique legacy en C "ton âme de spéléologue peut s'avérer utile, cependant nous souhaitons clairement que tu nous aides à nous en débarrasser".
Les bonnes pratiques de développement pourrait être encore plus poussées au sein de la FT dépôt annonce
Rémunération et avantagesGéraldine me disait "Nous sommes ni en dessous, ni au-dessus du marché mais dans le marché en termes de rémunérations"
Variable de 2000 €, en fonction des objectifs de l'entreprise et en fonction des objectifs personnels
Participation aux bénéfices de la société ce qui équivaut à deux mois de salaires (l’année dernière : 2,4 de salaire)