Comment évalueriez-vous le profil Github d'un programmeur? [fermé]

54

De nombreux membres de la communauté open source déclarent qu’ils prennent fortement en compte le profil Github du candidat lors de l’embauche.

Je suis actif sur Github, avec quelques projets personnels et quelques contributions à d’autres. Mais si je regarde mon profil comme si j'étais un employeur, je vois beaucoup de bruit: projets clonés mais jamais contribués, etc. Les projets et les patchs dont je suis fier ne se démarquent pas.

Si vous évaluez les profils Github des gens, comment procédez-vous? Et en tant que développeur, devrais-je faire quelque chose différemment - par exemple, supprimer des dépôts clonés sur lesquels je ne travaille pas activement?

Nathan Long
la source
1
J'aimerais voir les projets initiés par la personne et les sources ouvertes auxquelles il a contribué. Le code source est une preuve suffisante de la conception, des capacités de codage. La passion de travailler sur un projet en dehors du travail journalier ordinaire indiquerait également leur ligne de préférence. Quelques conseils pour au moins se lancer dans la discussion de travail.
Abi
3
Pourquoi créer des projets si vous ne comptez pas y contribuer? Cela semble arriver souvent chez GitHub. Est-ce pour s'assurer que le code source ne disparaît pas lorsque l'auteur original décide de supprimer le référentiel?
Août
5
@Htbaa - Parfois, je bifurque quelque chose pour pouvoir fouiller dans le code source, pensant pouvoir y contribuer. Parfois, je finis par contribuer; d'autres non.
Nathan Long

Réponses:

51

J'ai utilisé les profils GitHub, les flux Twitter et les blogs en tant qu'indicateurs de qualité dans la programmation d'entretiens / sélection de candidats. Ils génèrent tous des signaux différents à leur manière.

9 candidats sur 10 n'ont jamais soumis un seul correctif à un seul projet open source. Même la mise à jour d'une documentation endommagée vous place dans un échelon supérieur de développeur. Cela montre que vous connaissez suffisamment un paquet open source pour savoir ce qui ne va pas, que vous tenez suffisamment à soumettre un correctif et que les responsables de ce paquet pensent que votre travail est suffisamment bon pour être inclus. D'une manière générale, 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 se donnent jamais la peine de franchir cette étape si importante.

Donc, un seul patch accepté a fière allure. Une longue histoire de 2-3 patchs simples par trimestre est encore meilleure. Encore mieux que cela serait d'apporter quelque chose de remarquable.

  1. Contributions substantielles à des projets Open Source importants (plus de 0,1% à 1% des candidats)
  2. Historique étendu de petites contributions à des projets (plus de 5% des candidats)
  3. Un seul patch à une ligne pour un paquet relativement inconnu (supérieur de 10% des candidats)

Dans le même ordre d'idées, les développeurs qui tweetent sur le fait de boire et d'aller voir des films tout le temps ont tendance à faire des embauches médiocres. Un flux de tweet où chaque message sur trois est lié à la technologie indique le type de développeur de chiens junkyard enragé qui se soucie de son métier et qui 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 de blog n ° 1? Le même type de seuils de 1% / 5% / 10% s’applique ici.

marshally
la source
5
"Donc, un seul patch accepté a fière allure. Une longue histoire de 2-3 patchs simples par trimestre est encore meilleure." Où allez-vous du profil de quelqu'un pour voir les demandes d'attraction acceptées sur les projets forkés?
Nathan Long
Nathan Long, je suppose que si vous allez voir des contributeurs, vous pourrez voir son nom?
Midhun Krishna
Vous êtes tombé
Garry Shutler
2
"Dans le même ordre d'idées, les développeurs qui twittent sur le fait de boire et de voir des films tout le temps ont tendance à faire des embauches médiocres."
Whatsisname
10

En tant que développeur, je ne ferais rien différemment 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 le problème de Github non plus - il est destiné au développement logiciel collaboratif, 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 aperçu rapide du profil indique si le développeur a déjà soumis un correctif, si quelqu'un d'autre a créé son projet, combien de langues il utilise ...

Une autre option serait de générer automatiquement ce résumé sur votre page d’accueil à l’aide de l’API Github: une liste personnalisée de projets avec un certain nombre de forks et d’observateurs, la dernière fois qu’ils ont été mis à jour, etc.

Lukas Stejskal
la source
6
"Git n'est pas conçu pour évaluer les développeurs." Dites ça à Andreessen Horowitz, on vient d’investir 100 millions de dollars dans GitHub car " Quand je demande à tout le monde ce qu’ils utilisent pour recruter des ingénieurs, et que tout le monde utilise GitHub ." Juste dire ...
MikeSchinkel
8

Soyez prudent lorsque vous évaluez les candidats sur la base d'un profil GitHub. GitHub n'est pas un CV. Il y a beaucoup de grands ingénieurs qui n'ont pas de profils flashy, et ce pour plusieurs raisons: ils ont peut-être travaillé pour des entreprises de code source fermé ou ils pourraient 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 atout pour un candidat (comme indiqué par @marshally), vous devriez évaluer et engager à l'ancienne, en parlant.

Quelques références sur lesquelles je suis tombé juste après avoir lu ce fil de discussion:

defvol
la source
2
Amen. Le gars qui a lancé cent projets et soumis 1000 correctifs de documentation brisés n’est pas celui que vous voulez embaucher - il n’aurait jamais rien fait d’utile à faire. Le seul critère réel est la manière démodée de prendre le temps de parler et de comprendre quelqu'un. Peu importe à quel point la culture pop de notre secteur veut traiter les développeurs comme des robots, nous sommes toujours des gens (enfin, la plupart d'entre nous)
gbjbaanb
1
Vous ne devez pas seulement prendre en compte les statistiques du profil GitHub. Vous pouvez réellement consulter le code pour déterminer s’ils sont de bons programmeurs.
Siyuan Ren
5

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 pressions, les problèmes, etc., sont un indicateur important qu'il est réellement actif et travaille sur quelque chose, plutôt que de simplement rigoler.

Si quelqu'un cherche à vous évaluer, il / elle devrait regarder votre "vraie" image, le code de merde et le bon code. J'ai récemment interviewé et l'interviewer m'a demandé d'ouvrir mon compte github, puis il a parcouru l'un de mes dépôts, parcouru un code de merde que j'avais é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, car je savais comment améliorer cela, mais je n'avais pas vraiment envie de le réparer, car il s'agissait d'un projet essentiel pour moi, celui d'apprendre.

Il en va de même avec le compte stackoverflow.com. C'est plus évident sur SO puisque vous avez la réputation, etc.

zengr
la source
4

Personnellement, je ne vois pas l'intérêt de regarder leur profil en soi. Comme vous l'avez dit à juste titre, il existe généralement un rapport de bruit suffisamment important pour ne pas mériter d'être filtré.

J'ai récemment postulé et j'ai été excepté pour mon premier emploi de développeur et je pensais que le processus utilisé était très juste. Plutôt que de poser des questions sur les profils, ils se sont concentrés sur les projets que j'ai choisi d'inscrire sur mon CV.

Il n’ya vraiment que peu de choses à glaner d’un candidat, les principales sont: peuvent-elles se développer, sont-elles motivées et comment elles fonctionnent? Tout cela peut être obtenu à partir d'un entretien préalable ou d'un entretien au premier tour, 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 trouve sa passion. J'ai trouvé que ce style plus détendu m'avait ouvert beaucoup plus que d'envoyer sur mon profil l'un des services que j'utilise en matière de développement.

C'était bien de ne pas se lancer dans une interview technique avant. Il semblait qu'ils avaient la bonne attitude de trouver une bonne "équipe" en forme et ensuite d'évaluer les compétences.

DeanMc
la source
3
Je conviens que la personnalité et la passion sont importantes, mais beaucoup de gens ont écrit à quel point il est difficile de déterminer, comme vous l'avez dit, "peuvent-ils se développer". Il semble être généralement admis (du moins dans le monde Ruby où je travaille) que de lire le code de quelqu'un est le meilleur moyen de voir ce qu'il peut faire avant une interview. Pour aller encore plus loin, vous les amèneriez et programmez avec eux un programme, ce qui vous montre à la fois leur personnalité et leur capacité à résoudre les problèmes. Donc ce n'est ni l'un ni l'autre. Je pense que le profil de quelqu'un peut être un outil utile. la question, encore une fois, est de savoir comment l’évaluer.
Nathan Long