03 août 2011

recrutement 2.0

Les temps changent.
Lorsque je travaillais en SSII, mon CV était comme des milliers d'autres basé sur un ronflant titre d' "Expert Java EE confirmé" et incluait tous les mots clés (Spring | Hibernate | GWT | Maven, ...) qu'on retrouve aujourd'hui même sur les CV de débutants. Je pouvais me targuer de plus de 10 ans d'expérience, et bien sur appuyer mon expertise sur la publication de mon bouquin. Cependant, lorsque j'ai quitté Cap j'ai été surpris de voir que, malgré tous les points différenciateurs que j'essayais de mettre en avant, l'équation habituelle s'appliquait :

Salaire = f( Diplôme, Ancienneté ) +/- 1%

Lorsque j'ai postulé chez CloudBees, j'ai poussé le même CV. Etant rédigé en Français, je ne pense pas qu'il ait été transmis en interne (j'aurais du prendre le temps de le traduire mais c'est allé très vite). Arrivant pile au moment où un besoin se faisait sentir, les grandes lignes de mon expérience autour de Maven et de la forge logicielle ont suffit pour passer un entretien sur skype avec le responsable technique de DEV@Cloud. Autrement dit, j'aurais presque pu postuler par twitter :P

Lors de cet entretien, qui servait aussi à vérifier que mon niveau d'anglais scolaire ne poserait pas de problème par la suite, on m'a demandé si je connaissait les API Amazon, Ruby et si j'avais développé des plugins Jenkins. Trois réponses négatives, avouez que ça ne part pas très bien. Cependant, le contact est très bien passé et la question suivante était nettement plus intéressante :

"peux tu m'envoyer un exemple du code que tu as produit ?"

Voilà un élément de différenciation qu'aucun CV ne peut remplacer. Vous pouvez être un expert de classe internationale de Hibernate+Spring, 1000 autres CV prétendront la même chose. Par contre, le code que vous rédigez est votre marque de fabrique. Dans mon cas, le plugin gwt-maven et Fonzie sont deux projets dont je suis fier et qui ont fait mouche. Ils sont avant tout la preuve de mon autonomie et de ma capacité à assimiler Amazon, Ruby, Jenkins et tout le reste lorsque le besoin se fera sentir.

Peut-on extrapoler ce cas particulier au contexte du recrutement en France ?

Le succès de l'express-board en est la preuve. Les candidats ne veulent plus être harcelés par les recruteurs des grandes SSII parce qu'ils ont mis "Java" sur leur profil Monster. Les recruteurs qui cherchent un profil pointu et passionné ne veulent pas perdre 4 mois à enchaîner les entretiens. D'autres critères sont nécessaires.

Ippon avait ouvert le bal en proposant un recrutement sur GitHub. Il fallait donc savoir faire un clone de leur repo, builder l'appli Maven pour avoir accès à l'adresse de recrutement. Ce filtre qui peut paraître simpliste a eu deux effets bénéfiques : d'une part le buzz (indispensable) d'autre part un premièr niveau de sélection.

Je citerais ici Kohsuke sur le mode de "recrutement" de Jenkins :
"Etre contacté par des développeurs qui arrivent à passer un build maven multi-module complexe et proposent un patch, c'est déjà la preuve qu'on a affaire à des personnes de qualité"

Le filtre est certes assez léger mais il n'est pas aussi insignifiant que vous autres, lecteurs de ce blog, pourriez le croire (savoir s'informer via les blogs est aussi un mode de filtrage qui sélectionne beaucoup).

Plus récemment, Pod-Programming (start-up Rennaise pleine d'avenir) a posté une annonce sur l'Express-Board qui va plus loin : il ne s'agit pas juste de passer les difficultés techniques que le projet github proposé nous impose pour obtenir l'email de recrutement, cette fois il faut le forker et démontrer son talent. Pas exactement la page blanche, mais presque. Au final, seulement une poignée de candidats, mais avec un excellent niveau. Le recrutement a finalement permis de sélectionner Michel, co-organisateur du BreizhJug, vainqueur du concours Rennes OpenData, développeur de l'appli Android BreizhCamp, autrement dit un très bon choix :)

Du point de vue de la rentabilité du recrutement on ne peut espérer mieux. Du point de vue des candidats, on fait mieux que le CV anonyme : pas de diplôme ou de niveau d'expérience à prouver pour passer un entretien, il faut "juste" montrer qu'on est capable de faire le job.

Je ne crois pas que ces deux cas deviennent une généralité, mais il est clair qu'une façon de se démarquer est de devenir un développeur "public" : le code que vous produisez pour votre entreprise/client est

  1. rarement publiable
  2. dicté par des règles qui ne vous sont pas propres
  3. généralement pas fondamentalement passionnant

a contrario, un projet open-source même insignifiant cumule les avantages d'être :

  1. public et librement diffusable (par définition)
  2. le reflet de vos capacités, niveau d'exigences
  3. directement lié à ce qui vous plait

Ca tombe bien, de nombreuses "plateformes" proposent des mécanismes de plugins qui permet de proposer de la plus-value très ciblée sans devoir investir un temps fou à comprendre les rouages internes : plugin Jenkins, Maven ou Eclipse selon vos habitudes, il y a matière à s'exprimer.

S'exprimer, justement, c'est aussi un élément de différenciation. Avec l'explosion des JUGs en France (19 à ce jour), il devient presque "facile" de trouver un public pour présenter quelque chose. N'hésitez donc pas, ça aussi c'est un élément de différenciation et ça peut intéresser un recruteur : quelqu'un qui s'exprime en public peut évidement aider à vendre mon produit et à communiquer avec mes clients ;)

Le BreizhJug organisera par exemple en octobre un Jenkins User Meeting, sous forme de quickies : 15 à 20 minutes pour proposer un plugin, une utilisation, une réflexion, ce-que-vous-voulez autour de Hudson/Jenkins. 15 minutes c'est vite passé, et c'est l'occasion de présenter en public son savoir faire même si on est pas un caïd du sujet. Si ça vous intéresse, proposez un sujet à team@breizhjug.org

Moralité :

Nous verrons encore longtemps passer les annonces sur Monster "développeur Java/EE ...". Inutile de donner dans la surenchère des "Expert Sénior Avancé" qu'on voit fleurir dans le monde Java,  ou alors faites le avec humour : "Maître Jedi" par exemple. Mon rôle de "Senior Engineer" chez CloudBees me convient très bien pour caractériser mon profil.

Si vous espérez trouver le poste de rêve, motivant, dans une boîte innovante, tout ça, n'attendez pas que ça tombe tout cuit dans les annonces de ouest-job. Il faudra le moment venu savoir vous mettre en avant parmi des centaines de candidats potentiels. Même si vous n'y voyez qu'un investissement professionnel, rejoignez le monde opensource; vous y trouverez de toute façon tant de choses que le côté "CV" passera vite au second plan. Enfin, prenez la parole, en interne (coding dojo ?), au JUG, participez aux conférences, barcap, opencoffee - bref faites partie du mouvement actuel plutôt que de vous laisser encrouter dans un poste d'expert fonctionnel sur un projet pharaonique de 4 ans (un exemple juste pris au hasard comme ça).

13 commentaires:

Dominique - Pod Programming a dit…

Merci pour cet article Nicolas. Du côté recruteur, je peux aussi témoigner que l'on gagne un temps fou. On en passe pas mal à la préparation de l'annonce (ou de l'appli :-), mais c'est largement amorti grâce au filtre du challenge qu'il faut relever pour postuler. Au final, il ne reste qu'une poignée de candidats : les meilleurs et les plus motivés... On on les juge sur pièce ! N'est-ce pas ce que tout recruteur recherche au final ?

Dominique
Pod Programming

Foxykeep a dit…

Tres bon article qui correspond en grande partie a ce que je pense et a ce que je fais : je suis rédacteur d'un blog Android, je viens de sortir une librairie open-source pour Android et je réalise aussi des applis hors-boulot ce qui permet de démontrer mon intérêt pour la techno ainsi que mes compétences

Sinon juste une petite coquille : Android et non pas Androïd ;)

MD a dit…

Merci Nicolas ;)
Côté candidat ça a pas mal d'avantages aussi. Ça montre que la boite est innovante et qu'elle s'investit vraiment dans le recrutement d'un profil particulier. Ce n'est pas un(e) RRH "classique" qui peut éplucher les forks github pour caster les candidats. L'autre avantage est aussi l'esprit de compétition que ça engendre (surtout si les forks sont publics), ça pousse les candidats à donner plus.
Je suis très content d'avoir participé et surtout très heureux d'avoir "remporté" le job!

À très bientôt avec des nouvelles de Pod :-)

Gabriel Kastenbaum a dit…

Très bon point mais cela veut dire aussi qu'avec ce système tu recrutes quelqu'un qui fait de l'open source. Qui travaille sur son temps libre. ça ne marche pas pour tout le monde non plus :)

NicMarti a dit…

Merci Nicolas pour ton retour sur l'eXpress-Board.
Fin juillet nous avons aussi ajouté la possibilité d'importer son profil Viadeo et Linkedin vers l'eXpress-Board. D'ici fin août nous aurons l'intégration avec MasterBranch. C'est un site qui donne ta "geek-reputation" en regardant les projets open-sources sur lesquels tu as travaillé. Il est codé avec Play! Framework comme l'eXpress-Board. J'ai contacté les développeurs et on va avoir une API, pr donner donc ton rating directement sur ton profil express-board.
Voili voilou pour les dernieres nouvelles

Nicolas Martignole
L'eXpress-Board,
Site de rencontre pour développeurs passionnés

nicolas deloof a dit…

@Gabriel on ne fait pas de l'opensource *que* sur son temps libre. 99% de mes contribs se sont faites dans le cadre de mon boulot, sans autorisation explicite d'ailleurs vu que personne n'y comprenait rien, mais "il vaut mieux demander pardon qu'attendre l'autorisation".
Qui n'a pas eu besoin d'un "bout de truc" un peu générique sur un projet ? un bidule-utils peut être un bon départ pour un premier projet opensource. Quand à contribuer à l'outil que tu utilises tout les jours ça devrait sembler une évidence pour tout employeur qui ne veut pas se retrouver lié à un fournisseur / consultant !

LucDew a dit…

Intéressantes façons de recruter. Même pour les entreprises qui valorisent les profils techniques, le fait d'avoir une personnalité apte à s'intégrer à leur équipe et d'être capable de mettre en avant ses idées sans écraser les autres est aussi très important. Ça c'est difficile de le jauger sans faire passer d'entretien en face à face, même pour quelqu'un qui travaille dans un projet opensource avec beaucoup de contributeurs. Aurais-tu recruté Ja...V..Z.. ;-) par exemple ?

nicolas deloof a dit…

@Luc la méthode n'empêche pas un indispensable entretien pour tester ces facteurs humains ! C'est juste d'une efficacité redoutable par rapport à une pluie de CVs

Gaby a dit…

J'ai fait l'"erreur" de mettre à jour mon CV sur Ouest Job pour qu'ils ne désactivent pas mon profil. Depuis je reçois trop d'appels de SSII à la RH robotisée par mot clé...
Je me considère comme un développeur correct, mais c'est clair que lorsque je pousse un petit projet sur Google Code, mon temps libre ne me permet pas de faire des tests unitaires... Cela fonctionne pour mon besoin, point barre! Et quand on est déjà sur un poste pas trop dégueu, assez prenant, je me suis contenté de compiler le challenge Pod Programming pour voir, mais j'ai bien d'autres choses à priorité supérieure. Autant pour le challenge USI de l'année dernière je trouvais ça marrant, autant là, bof...
Et puis au boulot, ben je trouve un certain plaisir là où je suis, à faire du maintien de code legacy pourtant pas bien vieux (JEE5, Seam2 et Richfaces3). Le code est atroce et mes contributions quasi invisibles. Un peu rageant pour un projet accessible par tous sur une Forge publique...
Alors ok il y a bien 2-3 plugins Maven, des archetypes, un PKI ou un profiler Java que j'ai pu faire dernièrement, mais il faut l'envie de le valoriser... Je vais quand même regarder du côté de l'express board ;)

nicolas deloof a dit…

@Gaby si tu es bien dans ton taf tu es évidemment moins concerné, mais je vois que tu as déjà des "trucs" visibles, peut importe qu'ils ne soient pas à la pointe de la méthodologie puriste, c'est déjà un reflet de ton savoir faire : tout le monde ne peut pas monter un profiler, même minimaliste, en claquant des doigts. Dans ce cas je mettrais sous src/test un gros README "j'aurais du faire du TDD, mea culpa" :P

J'ai moi même fait pas mal de petits trucs sans avenir sur sourceforge avant d'en trouver un que j'ai envie de pousser plus loin et de "valoriser".

Piwaï a dit…

Merci pour cet article passionnant !
Pour aller dans ton sens : j’inclus désormais dans mon CV mes projets Open Source : http://cv.piwai.info/#Welcome_SoftwareEngineer

technofeliz a dit…

Article ET commentaire excellents... :)

Perso, je trouve qu'il y a un fossé de plus en plus grand qui est en train de se creuser entre :
- ce que j'appelle le modèle "boite-à-grand-Papa", qui continue à recruter sur diplôme (la fameuse formule salaire = f() )
- et ce que j'appelle le modèle "startup"
beaucoup plus axée sur la personnalité et les compétences des gens qu'elle recrute puisqu'elle ne peut pas se permettre de se tromper sur un recrutement.


Je retiens aussi la phrase de @Nicolas : "il vaut mieux demander pardon que de demander l'autorisation" (de bosser sur des projets open source pendant les heures de boulot)... Je la ressortirai celle là... :)

Fabian Piau a dit…

Article très intéressant! Effectivement, il suffit de mettre à jour son CV sur Monster pour qu'on vous appelle à tout va! Un recrutement plus ciblé, ca ne fait pas de mal (autant aux candidats qu'à la RH)