Beaucoup de gens dans la communauté open source disent qu'ils considèrent fortement le profil Github d'un candidat lors de l'embauche.
Je suis actif sur Github, avec quelques projets à moi et quelques contributions à d'autres. Mais en regardant mon propre profil comme si j'étais un employeur, je vois beaucoup de bruit: les projets que j'ai clonés mais auxquels je n'ai jamais contribué, etc. Les projets et les correctifs dont je suis fier ne se distinguent pas.
Si vous évaluez les profils Github des gens, comment faites-vous? Et en tant que développeur, dois-je faire quelque chose de différent - par exemple, supprimer les dépôts clonés sur lesquels je ne travaille pas activement?
J'ai utilisé des profils GitHub, des flux Twitter et des blogs comme indicateurs de qualité dans la programmation des entretiens/sélection des candidats. Ils génèrent tous des signaux différents à leur manière.
9 candidats sur 10 n'ont jamais soumis un seul patch à un seul projet open source. Même la mise à jour de la documentation défectueuse vous place dans un échelon supérieur de développeur. Cela montre que vous êtes assez familier avec un paquet open source pour savoir ce qui ne va pas, vous vous souciez suffisamment de soumettre un correctif, et les responsables de ce paquet pensent que votre travail est assez bon pour être inclus. En général, cela montre que vous prenez l'initiative de laisser les choses sales mieux que vous ne les avez trouvées.
Cela semble très simple, mais encore une fois, 9 développeurs sur 10 ne prennent jamais la peine de franchir cette étape importante.
Ainsi, un seul patch accepté a fière allure. Une longue histoire de 2-3 patchs simples par trimestre est encore mieux. Encore mieux que cela serait de contribuer quelque chose de remarquable.
Sur la même note, les développeurs qui tweetent à propos de boire et d'aller voir des films tout le temps ont tendance à faire des embauches médiocres. Un flux de Tweet où chaque troisième message concerne la technologie pointe vers le type de développeur de chiens de junky enragé qui se soucie de son métier et recherche sans relâche des solutions.
Les blogs sont également un excellent indicateur de qualité, mais pour le style de communication plutôt que pour les prouesses techniques. Combien de programmeurs prennent la peine d'écrire l'article n ° 1 du blog? Le même type de seuils de 1%/5%/10% s'applique ici.
En tant que développeur, je ne ferais rien de différent dans le compte Github. Ce n'est pas votre problème que le compte Github ne puisse pas être évalué rapidement. Et à proprement parler, ce n'est pas non plus le problème de Github - il est destiné au développement collaboratif de logiciels, pas à l'évaluation des développeurs.
Il devrait y avoir des outils spéciaux pour l'évaluation des utilisateurs, travaillant avec les données Github. Pour l'instant, vous pouvez utiliser des sites tiers. Par exemple, il y a http://coderwall.com - un rapide coup d'œil sur le profil montre si le développeur a déjà soumis un patch, si quelqu'un d'autre a lancé son projet, combien de langues il utilise ...
Une autre option serait de générer automatiquement un tel résumé sur votre page d'accueil à l'aide de l'API Github: une liste personnalisée de projets avec un certain nombre de fourches et d'observateurs, la dernière fois qu'ils ont été mis à jour, etc.
Soyez prudent lorsque vous évaluez des candidats sur la base d'un profil GitHub. GitHub n'est pas un CV. Il existe de nombreux grands ingénieurs qui n'ont pas de profils flashy, pour de nombreuses raisons: ils ont peut-être travaillé pour des sociétés fermées, ou ils peuvent consacrer plus de temps à d'autres activités telles que la famille, les loisirs, etc.
Même si une contribution à un projet open source peut être un plus pour un candidat (comme @marshally l'a mentionné), vous devez évaluer et embaucher à l'ancienne, en parlant.
Quelques références sur lesquelles je suis tombé juste après avoir lu ce fil:
Je pense que vous pouvez, vous avez juste besoin de prendre un peu plus de temps pour voir s'il est réellement actif sur github ou non, en regardant son flux d'activité.
Vous pouvez voir comment les poussées, les problèmes, etc., ce qui est un grand indicateur qu'il est réellement actif et travaille sur quelque chose, plutôt que de simplement faire le tour.
Si quelqu'un cherche à vous évaluer, il/elle devrait regarder votre "vraie" image, le code merdique et aussi le bon code. J'ai interviewé récemment et l'intervieweur m'a demandé d'ouvrir mon compte github, puis il a parcouru l'un de mes repos, parcouru un code merdique que j'ai écrit il y a un an sur une langue que j'apprenais.
Alors, il m'a demandé, comment pouvez-vous améliorer cela? J'ai répondu correctement à toutes ses réponses, parce que je savais comment améliorer cela, mais je ne me souciais pas vraiment de réparer ce projet, parce que c'était juste un projet incontournable pour moi, pour apprendre.
Il en va de même avec le compte stackoverflow.com. C'est plus évident sur SO puisque vous avez de la réputation, etc.
Personnellement, je ne vois pas l'intérêt de regarder leur profil en soi. Comme vous l'avez dit à juste titre, il y a généralement un rapport de bruit suffisamment important pour ne pas être analysé.
J'ai récemment posé ma candidature et j'ai été excepté pour mon premier travail de développeur et j'ai trouvé le processus utilisé très équitable. Plutôt que de poser des questions sur les profils et autres, ils se sont concentrés sur les projets que j'ai choisi d'inscrire sur mon CV.
Il n'y a vraiment que quelques choses que vous devez glaner auprès d'un candidat, les principales sont de savoir si elles peuvent se développer, si elles sont motivées et comment elles fonctionnent. Tout cela peut être obtenu à partir d'un entretien préalable ou d'un premier tour de table, cela peut se faire par téléphone ou par entretien d'une heure sur site.
L'idée est de laisser le candidat s'exprimer et de découvrir où se situe sa passion. J'ai trouvé que ce style plus détendu m'avait ouvert beaucoup plus que d'envoyer mon profil pour l'un des services que j'utilise en matière de développement.
C'était agréable de ne pas être lancé dans une interview technique en premier. Il semblait qu'ils avaient la bonne attitude pour trouver un bon ajustement "d'équipe" et ensuite évaluer les compétences.