Qu’est ce qu’un Lead Dev (en startup)

Il arrive un temps dans une startup, plus ou moins tôt en fonction du profil des associés, de leur niveau et appétence technique, où il devient nécessaire de recruter un Lead Developeur (comprenez en français, “développeur en chef”. Oui, c’est beurk).

C’est mon cas actuellement. Et avant que de poster une offre, il convient de se poser et de réfléchir aux points suivants, afin d’avoir les idées claires:

  • À quoi correspond ce poste exactement? Quelles sont ses caractéristiques, comment s’insère-t-il par rapport aux postes existants?
  • Une fois ceci défini, de quel profil j’ai besoin au juste? De qui ai-je besoin?

Mon expérience personnelle m’a donné à réfléchir à ces points en deux fois, par une période d’essai d’intervalle..

A. Le poste

Le poste de Lead dev semble varier, au delà d’être excellent techniquement, selon les entreprises, le management, les nécessités et tout plein d’autres facteurs abscons ou aléatoires. Voici la définition que j’en ferai dans mon cas:

  • Être un mentor. Le lead dev doit inspirer et insuffler aux équipes et autres développeurs le goût et l’envie du beau code, du travail efficace, propre et scalable. Il doit rassurer, éclairer les moins expérimentes, les aiguiller (et ne pas résoudre à leur place!) vers une solution en cas de souci ou blocage. Il est apprécié et respecté par les autres dans son travail et l’expertise qu’il apporte. Il épouse la vision de l’entreprise et la communique aux autres développeurs aux côtés du directeur technique et d’autres managers.
  • Être un manager. Le lead dev, bien qu’expert et spécialiste de certaines technos/domaines, doit avoir une vision globale du projet, de la solution et de ce qui est nécessaire à mettre en oeuvre techniquement pour mener à bien les développements. Il ne peut s’offrir le luxe de se cantonner dans son domaine d’expertise, et doit être prêt à épauler/encadrer du mieux qu’il peut les développeurs avec lui sur le projet. Il a conscience des obstacles à franchir, peut en apprécier la difficulté et le temps nécessaire ainsi que les moyens à mettre en oeuvre pour les surmonter. Il est le garant de ses délais et de ceux de son équipe. Il est à noter que ce point est partagé par le directeur technique (à quelques différences près).
  • Être un passionné méticuleux. Le lead dev doit défendre certaines valeurs comme le souci du travail bien fait, d’un code lisible et aisé à maintenir, découplé. Il a le sens du détail, aussi bien d’un point de vue technique que fonctionnel. Il partage et infuse cette passion aux autres développeurs, ainsi que les bonnes pratiques nécessaires au bon déroulement de projets complexes en équipe.
Voila ce qui semble important à mes yeux pour ce poste en plus de l’expertise technique. Et vous, qu’en pensez-vous?

 

B. Le profil

Je ne pense pas ici qu’il soit possible ou judicieux de définir le profil de Lead Dev selon des points comme effectué pour le poste ci-dessus. Là encore, le profil recherché dépend de la définition du poste, des développeurs présents ou futurs parmi lesquels il viendra s’insérer (beaucoup de profils juniors, peu ou moyennement autonomes, il faudra insister sur le côté Mentor. Au contraire, beaucoup de profils autonomes, mais désorganisés et indépendants, il faudra privilégier le côté Manager).

Si je pense que tout le monde sait plus ou moins recruter sur des compétences objectives et techniques, pré-requis d’un bon lead dev, je pense que les points ci dessus du poste demandent une bonne dose d’intuition, de fit, et d’analyse de petits détails afin de tomber au plus juste.

J’ai fait l’erreur il y a quelques mois, de m’être trop focalisé sur l’expertise technique du lead dev que j’ai recruté, sans prêter assez attention à ses attentes et ses aspirations. Il est vrai qu’il avait une excellente connaissance du framework sur lequel nous travaillons, une bonne référence avec son précédent employeur, créateur de ce framework, ainsi qu’un bon nombre de projets open-sources montrant une bonne propension à l’innovation, à la passion et l’entreprenariat. Mais malheureusement, son tempérament d’aventurier du code lui faisait entamer tout plein de projets plus audacieux les uns que les autres, afin de monter en compétence sur certains langages/méthodes, non réellement suivis ou maintenu par la suite une fois le défi franchi. De même, son envie personnelle d’apprendre et de monter en compétence surpassait de loin son aptitude à mentorer ou manager d’autres développeurs sur le projet, lui donnant l’impression de reculer. Pire, le fait d’être meilleur que moi sur certains points le frustrait et ses observations ou remarques pour me tester me mettaient en porte-à-faux face aux autres membres de l’équipe.

Cette fois-là donc, je n’ai pas su recruter la bonne personne pour ce poste. Heureusement la fin de l’aventure avec cette personne s’est bien déroulée et les deux parties en sont je pense ressorties grandies et plus matures.

D’où l’importance de tous les facteurs autres que techniques du profil recherché, même si à priori dans le domaine du développement, on pourrait hâtivement croire que seuls les hard skills (ie: le code, la technique) comptent. Si jamais vous avez du mal à cerner la personnalité de votre recrue, demandez à quelqu’un de votre startup dont vous appréciez les qualités de jugement émotionnel (pas forcément donc une personne technique) de participer avec vous aux entretiens afin de vous donner une perspective extérieure et nouvelle, à recouper avec votre impression!

Bon recrutement!

A propos: ce billet est fortement inspiré mon expérience chez Balloon ainsi que de mes réflexions autour de l’offre de Lead Dev que je diffuse actuellement, si jamais ce que j’ai décrit dans ce billet colle avec vous ou une de vos connaissances.. :)

17 thoughts on “Qu’est ce qu’un Lead Dev (en startup)

  1. Donc en gros tu dis que c’est encore plus compliqué qu’on ne le pense de recruter un lead dev :)
    C’était déjà la perle rare, là ça devient mission impossible !
    (c’était déjà une belle perf d’avoir recruté quelqu’un de la core team symfony).

    À quand des écoles qui forment des lead devs ? :)

    • “À quand des écoles qui forment des lead devs ?”

      Les écoles forment des devs. L’expérience en fait (parfois) des “lead” ;)

      Juste une question pour Guillaume : combien de devs êtes-vous chez Balloon ?

      • En effet, je ne pense pas qu’il soit judicieux d’essayer d’établir des programmes scolaires de “lead dev” et que l’expérience et les soft skills d’un dev l’amènent à endosser ce rôle (plus ou moins tôt au cours de sa carrière).

        Pour info nous sommes 3 devs chez Balloon (soon to be 4 ou 5) et deux-trois stagiaires en fonction des périodes de stage :)

        • OK. Je me demandais à partir de quelle taille d’équipe ça devenait intéressant / nécessaire de formaliser un poste de lead dev. J’ai l’impression que dans de petites équipes le CTO suffit. Dans la petite startup (3 devs, profils “autonomes”) où je travaille c’est lui qui remplit ce rôle et ça fonctionne plutôt bien.

          D’autant plus que dans une petite équipe de gens compétents il y a peu de chances qu’une seule personne soit meilleure que les autres dans tous les domaines, de l’admin système au frontend (web, mobile, etc) en passant par le backend, les bases de données… Donc comme tu dis, la personnalité du lead dev compte beaucoup, entre autres pour savoir faire confiance aux autres devs dans les domaines qu’ils maitrisent mieux que lui.

        • Le recrut… C’est clairement le point le plus dur pour une start-up, grosse prise de risque au moment de se jeter !

          L’un des fondateurs de Smile m’a dit deux choses que je garde en tête :
          - le pire qui puisse arriver dans une embauche, faire une erreur de casting !
          Ça veut pas forcément dire qu’il ne faut pas embaucher, mais que ça coûte une fortune que de perdre du temps à faire rentrer dans un moule quelqu’un qui ne peut pas y rentrer
          - toujours regarder en interne pour des postes clés :
          On retrouve encore un point de vue assez conservateur et difficile à tenir en start-up, mais qui a de la cohérence, pourquoi pas prendre un bon dev et regarder s’il a le profil pour devenir, 6 mois après, lead dev, expert techos, ou même défricheur (le dev qu’on envoi pour tenter de nouvelles expériences…)
          Ça peut paraître une grosse dépense que d’envisager ces trois postes, mais ils sont complémentaires, apportent une forte valeur ajoutée aussi bien au poste qu’à la boite, et quand on cherche un lead dev, c’est qu’on a une équipe à diriger…
          Par contre,sur les compétences, je suis bien d’accord avec toi, il doit être très bon dans tout le lead dev ;)

  2. Très bon article Guillaume, tu as bien cerné les qualités requises pour être un lead-dev, par contre c’est un peu bullshit dans certains recoins. Je vais essayer de rectifier.

    “Mais malheureusement, son tempérament d’aventurier du code lui faisait entamer tout plein de projets plus audacieux les uns que les autres, afin de monter en compétence sur certains langages/méthodes, non réellement suivis ou maintenu par la suite une fois le défi franchi.”

    Je pense que sur ce point tu te trompes, en faisant des projets perso ton dev rencontre plein de problématiques différentes qui lui font gagner plus d’expérience qu’en restant sur le même gros projet pendant des années. En fait cela accroît son domaine de compétence car étant seul sur le projet il devra gérer plusieurs facettes du développement web tel quel le design, frontend, backend, administration serveur, … alors que dans une équipe le dév ne gère bien souvent qu’une seule facette. J’espère que tu considères mon conseil d’autoriser tous les développeurs a faire 10%-20% de leur temps en projets perso qui bien souvent n’aboutiront pas mais auront permis au développeur de progresser, de rester motivé et d’avoir une vision globale de leur métier.

    “Pire, le fait d’être meilleur que moi sur certains points le frustrait et ses observations ou remarques pour me tester me mettaient en porte-à-faux face aux autres membres de l’équipe.”

    C’est assez compliqué à gérer pour un Lead Dev de rentrer dans une boite et d’avoir un supérieur hiérarchique avec moins d’expérience que soi, forcement les avis ne seront pas les mêmes. Parfois en imposant ses choix techniques, le lead dev peut paraitre un peu rude, mais c’est avant tout le role du lead-dev, ne pas faire d’erreur sur l’architecture car plus on attendra avant de rectifier le tir plus on perdra de temps!

    A bon entendeur et banzaiiiiii pour la V5!

  3. Bonjour,

    Beaucoup de recruteurs peu scrupuleux me considère comme un Lead développeur alors que j’ai un profil de développeur confirmé. C’est triste, j’ai 8 ans d’expérience en PHP et je n’ai pas une expérience en management ou en encadement. Pour l’histoire, j’ai eu un recruteur qui supplie de le faire, à la fin, j’ai négocié le contrat “sans période d’essai” et 45k€ par an, soit c’est ça ou soit je me casse…

  4. Hello,

    Ce que vous décrivez là est “l’ancien disparu” rôle d’Architecte logiciel (tandis que désormais, un Architecte est souvent vu du côté Fonctionnel / Macro. Dans les années 2000, l’Architecte était purement technique et jouait le rôle de lead de développeurs (oh tiens ?! Lead dev !)).

    Aujourd’hui, vous demandez avec ce rôle des véritables couteaux suisses alors que l’on a rabaissé le rôle d’Architecte logiciel en mettant le mot “développeur” dedans (ce qui, pour la majorité, n’a pas vraiment la même ampleur). Pourtant, les compétences sont les mêmes, et ces compétences, ça se paye pas à coup de 32k messieurs !

  5. Pingback: Lead Dev, quésaco ? - WISNIEWSKI Benjamin

  6. Merci pour ces explications

    Je suis moi même devenu lead developpement et connaître le besoin d une entreprise est nécessaire. Surtout quand les besoins sont définis par le nom de la fonction et dont la définition se résume à un brouillon, brouillard de volontés toutes plus différentes, et pas forcément complémentaires.

    En tout cas tu m’as donné le positionnement final qu’ils cherchent, par un jeu d étape, à me faire atteindre …

  7. @Jules Boussekeyt
    En réponse à cette partie :
    ““Pire, le fait d’être meilleur que moi sur certains points le frustrait et ses observations ou remarques pour me tester me mettaient en porte-à-faux face aux autres membres de l’équipe.”

    C’est assez compliqué à gérer pour un Lead Dev de rentrer dans une boite et d’avoir un supérieur hiérarchique avec moins d’expérience que soi, forcement les avis ne seront pas les mêmes. Parfois en imposant ses choix techniques, le lead dev peut paraitre un peu rude, mais c’est avant tout le role du lead-dev, ne pas faire d’erreur sur l’architecture car plus on attendra avant de rectifier le tir plus on perdra de temps!

    Le Lead Dev n’a rien à “imposer” : je me trompe peut-être, mais il y a du monde, AU-DESSUS du Lead Dev. Ce n’est pas lui qui définit les lignes directrices, les grandes lignes de conception d’un projet ( chez nous c’est le directeur technique, et je crois que c’est la norme ).
    Un lead dev qui impose et met ceux qui prennent les décisions techniques en porte-à-faux devant tout le monde est un mauvais lead dev, puisque une partie de son rôle consiste à s’assurer que les dev suivent les normes de développement de l’entreprise, ce qu’ils ne feront pas s’ils perdent la confiance en leur hiérarchie.
    Il y a différentes façons de remettre en cause, la meilleure ( mais la perfection n’est pas de ce monde :) ) étant de mettre en place ces grandes lignes en réunion sans les autres dev, et ensuite de parler d’une même voix avec eux.

    • Quand je dis ” Ce n’est pas lui qui définit les lignes directrices”, en fait je précise : la décision finale ne lui appartient pas.

Leave a Reply to combo Cancel reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>