Recruter un (bon) développeur
 Crédit photo : Ruiwen Chua via FlickR

 

Recruter un développeur est un sujet qui revient très fréquemment sur le devant en ce moment. Encore récemment, je discutais avec une étudiante qui me présentait son projet. Afin de construire techniquement le service qu’elle souhaite à terme commercialiser, elle cherchait à recruter un développeur qui serait intéressé pour intégrer sa structure en début d’activité. Je me rends compte rapidement qu’elle ne sait pas comment trouver son « mouton à 5 pattes », celui ou celle que beaucoup de monde recherche. Pour tout vous dire, elle ne sait même pas ce qu’elle recherche.

 

A chaque fois que je commence à discuter de ce sujet, je me retrouve systématiquement à donner les mêmes conseils. Plutôt que de me répéter une énième fois (et surtout pour vous fournir un support de référence), j’ai souhaité compiler une liste de conseils personnels.

 

Comme dans tous les domaines, vous trouverez de tout : des très bons développeurs et aussi des très mauvais ! Vous serez confrontés à la même situation que si vous cherchiez un prestataire informatique. La seule chose qui compte à présent est de savoir les identifier pour recruter un développeur qui correspond à vos besoins.

 

Le questionnement que je souhaite aborder aujourd’hui n’inclut pas le « où » : je ne vous apprendrai pas comment rencontrer des développeurs. Ce sujet fera, à coup sûr, l’objet d’un autre article.

 

 

Pourquoi devriez-vous me croire ?

Pourquoi, au juste, devriez-vous écouter mes conseils ? Vous devez vous demander si la personne qui écrit ce post, c’est à dire moi, sait réellement de quoi elle parle, et c’est tout à fait légitime.

 

Afin de vous laisser juger par vous-même, voici plusieurs faits qui vous permettront de juger ma crédibilité sur ce sujet :

- cela fait 5 ans que j’étudie en école d’ingénieur dans laquelle je suis constamment entouré de développeurs ;

- je travaille en tant que freelance depuis environ 2 ans et j’ai collaboré avec (au bas mot) une cinquantaine de développeurs ayant des domaines de compétences très variés  ;

- j’aide souvent mes amis et mes clients à trouver rapidement les profils qu’ils recherchent.

 

L’intégralité du contenu mis ci-dessous à votre disposition est le fruit de ma propre réflexion. Je ne vous demande pas de me croire sur parole ou bien même d’agréer totalement. Chacun a ses propres méthodes et je vous fournis ici les miennes ;)

 

 

L’état d’esprit nécessaire pour recruter un développeur

Il est primordial de bien s’entourer, surtout au début de votre activité : un mauvais profil peut entraîner la mort d’une société sur un laps de temps très court.

 

Premier point : pour recruter quelqu’un sur un domaine, il est primordial de s’y connaître un minimum. Si vous n’y connaissez rien, faites vous assister d’un développeur expérimenté qui saura vous conseiller. Ne vous risquez pas à faire un recrutement approximatif !

 

Rien ne me tue plus que de voir des profils non techniques recruter des développeurs. Pour vous donner un exemple concret, j’étais récemment en discussion avec une recruteuse du groupe SFEIR qui recherchait des développeurs HTLM 5 (oui, vous avez bien lu, je l’ai même faite répéter pour vérifier que je n’étais pas sourd ce matin la…). Les pros du Java m’excuseront pour la mauvaise publicité, mais ce genre d’attitude – niveau RH – est pour moi impensable.

 

Second point : sachez jauger la quantité de travail. Le développeur le plus merveilleux ne pourra pas faire le travail de 10 personnes. Sachez donc estimer les durées afin de savoir combien de développeurs seront nécessaires et vers quels profils techniques se tourner (back-end, front-end, admin serveur…). Encore une fois, si vous ne savez pas, demandez de l’aide !

 

Dernier point, et non des moindres : les bons développeurs, c’est comme les bons prestataires / freelances, ils sont en permanence sollicités. Il faut donc que votre offre soit assez alléchante pour donner au développeur envie de travailler avec vous. Ce que j’entends par la est de ne pas espérer convaincre un développeur agrémenté de 10 ans d’expérience avec une maigre compensation de 30K ni même 40K. Si vous comptez vous associer, prévoyez une part conséquente du capital. Si une équipe est déjà en place (5 – 10 personnes), prévoyez salaire + equity.

 

 

Sachez quelles technologies utiliser

Recruter un développeur c’est bien, savoir quel type de développeur recruter, c’est mieux ! Dans le cas d’une création, c’est un choix qui, au mieux, va entraîner tout le développement du produit. Au pire, vous serez obligé(e) de changer d’environnement technique en cours de route ; et cela vous coûtera cher, très cher !

 

Vous comprendrez donc qu’il ne s’agit pas uniquement de faire un choix technique portant sur un laps de temps très court mais aussi de penser à l’avenir de votre projet : si votre solution prend du galon (ce que je vous souhaite), il va vous falloir recruter plus de développeurs pour maintenir, faire évoluer la solution…etc. Le choix que vous prenez dès le départ doit s’orienter sur une vision long terme.

 

Pour cela, il vous faudra définir un spectre technique cohérent : listez ce dont vous avez besoin pour construire votre projet ou votre MVP (Minimum Viable Product). N’hésitez pas à demander l’avis de spécialistes : il est toujours bon de récolter des critiques extérieures constructives, que ce soit pour la technique ou autre d’ailleurs ! Avec ces informations en poche, vous saurez exactement le type de profil(s) recherché(s) et vous pourrez commencer à enfiler votre casquette de « chasseur de têtes ».

 

N’oubliez pas que la technologie seule ne vaut rien ! Seule la réalisation compte ! PHP, Zend, Symfony, Yii, Laravel, Ruby, Python, Django, Java, Play… la liste est tellement longue que l’on pourrait s’amuser toute la journée. Il y a toujours des technos en vogue et je vous conseille de ne pas tout le temps vous y référer. Actuellement, c’est la « mode Ruby on Rails ». Rien qu’au dernier startup weekend, j’entendais valser des « on va faire notre machin chose en RoR, c’est mieux » de la part de gens qui s’y connaissaient très peu (voir pas du tout). Ruby on Rails, c’est super, mais encore faut-il savoir l’utiliser :)

 

Plus une technologie est nouvelle (ou peu utilisée), et plus vous aurez de mal à recruter, tout simplement car vous trouverez moins de profils compétents. Tout est question d’offre et de demande. Vous trouverez beaucoup plus facilement des développeurs PHP que Ruby on Rails par exemple. Attention: je ne suis pas en train de vous dire « ne cherchez pas de dev RoR » mais plutôt « analyser bien votre produit et vos besoins, vous aurez peut être plus besoin de compétences en Symfony qu’en RoR » par exemple.

 

 

Qu’est ce qu’un bon développeur ?

Au final, vous devez vous demander comment différencier un bon d’un mauvais développeur. Voici les différents critères qui me permettent de faire mon choix rapidement.

  • Un bon développeur est passionné : il effectue une veille permanente, chatte sur IRC avec la communauté qui l’entoure, traîne sur Twitter en recherche de nouvelles technologies, participe souvent à un (ou plusieurs) projet(s) open-source…
  • Un bon développeur est logique : il n’abordera pas directement un problème avec une ligne de code mais réfléchira d’abord avec sa tête pour trouver une solution. Il n’hésitera pas à demander l’avis de ses collègues et à remettre en question sa façon de résoudre un problème.
  • Un bon développeur est curieux : il ne s’arrêtera pas uniquement à ses compétences et partira constamment à la recherche de nouveaux défis. Il ne prétextera jamais être parfaitement au point (sauf s’il créé lui même le framework, module…).
  • Un bon développeur collabore : il communique avec le reste de l’équipe. Ne recrutez pas un barbu qui passera ses journées dans une cave sans la moindre intéraction avec vos autres entités. Il faut qu’il y ait de l’échange et de la créativité, donc du dialogue.
  • Un bon développeur est bon élève : il est capable de prendre rapidement en main une nouvelle technologie ou un nouveau langage de programmation. Un bon développeur a donc de très bonnes bases au niveau technique, ce qui lui permet d’être à l’aise et d’appréhender n’importe quel sujet (ou presque).
  • Un bon développeur est fainéant : il n’aime pas faire et re-faire les mêmes choses, à bas les tâches répétitives et le gaspillage de temps. Il s’armera d’outils lui rendant la tâche plus simple, tels des snippets ou une librairie hand-made par exemple.
  • Un bon développeur est perfectionniste : il ne pushera pas uniquement du code mais s’assurera aussi qu’il est maintenable, évolutif et surtout qu’un autre développeur puisse le comprendre. Il cherchera en permanence à améliorer la qualité de son code et des autres livrables.
  • Un bon développeur n’a pas spécialement de diplôme(s) : ne vous basez surtout pas sur une quelconque licence, un statut d’ingénieur ou autre. Mieux vaut être ouvert et chercher un développeur compétent et passionné plutôt qu’un développeur diplômé qui ne se foulera pas le petit doigt pour votre business.
  • Un bon développeur n’a pas d’âge : vous trouverez des jeunes surdoués du développement et des « vieux ténors » qui monteront sur leurs grands chevaux parce qu’ils veulent un statut de CTO (Chief Technical Officer). Vous aurez aussi l’inverse. Ne vous basez pas sur l’âge mais sur l’expérience et les réalisations !
  • Un bon développeur est expérimenté : il sait estimer la durée de réalisation d’une tâche, déléguer… Il a déjà travaillé sur des projets personnels ou professionnels. Il identifiera très rapidement les problèmes actuels et à venir et fera tout son possible pour les résoudre.

 

 

Vous l’aurez donc compris : recruter un développeur n’est pas chose facile.
Avec toute cette check-list, je me demande si je ne devrais finalement pas monter un cabinet de chasseur de têtes avec mon associé. A bon entendeur… ;)