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%
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
- rarement publiable
- dicté par des règles qui ne vous sont pas propres
- généralement pas fondamentalement passionnant
a contrario, un projet open-source même insignifiant cumule les avantages d'être :
- public et librement diffusable (par définition)
- le reflet de vos capacités, niveau d'exigences
- 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).