Wie beurteilen Sie das Github-Profil eines Programmierers? [geschlossen]


54

Viele Leute in der Open-Source-Community geben an, bei der Einstellung das Github-Profil eines Kandidaten zu berücksichtigen.

Ich bin auf Github aktiv, mit einigen eigenen Projekten und einigen Beiträgen für andere. Aber wenn ich mein eigenes Profil so betrachte, als wäre ich ein Arbeitgeber, sehe ich viel Lärm: Projekte, die ich geklont, aber nie beigetragen habe usw. Die Projekte und Patches, auf die ich stolz bin, sind nicht besonders auffällig.

Wie gehen Sie vor, wenn Sie die Github-Profile von Personen bewerten? Und sollte ich als Entwickler etwas anderes tun - zum Beispiel geklonte Repos löschen, an denen ich nicht aktiv arbeite?


1
Ich würde gerne sehen, welche Projekte die Person selbst initiiert hat und an welchen Open-Source-Projekten sie mitgewirkt hat. Der Quellcode ist ein Beweis genug für das Design und die Codierungsmöglichkeiten. Die Leidenschaft, an einem Projekt außerhalb des regulären Tagesgeschäfts zu arbeiten, würde auch ihre Präferenzlinie anzeigen. Ein paar Hinweise, die zumindest auf die Jobdiskussion hindeuten, fangen an.
Abi

3
Warum Projekte forken, wenn Sie nicht dazu beitragen werden? Dies scheint bei GitHub viel zu passieren. Soll sichergestellt werden, dass der Quellcode nicht verschwindet, wenn der ursprüngliche Autor beschließt, das Repository zu löschen?
Htbaa

5
@Htbaa - manchmal habe ich etwas gegabelt, damit ich im Quellcode stöbern kann und denke, ich könnte einen Beitrag leisten. Manchmal trage ich etwas bei. andere tue ich nicht.
Nathan Long

Antworten:


51

Ich habe GitHub-Profile, Twitter-Streams und Blogs als Qualitätsindikatoren für die Programmierung von Interviews / Kandidaten-Screenings verwendet. Sie alle erzeugen auf ihre Weise unterschiedliche Signale.

9 von 10 Bewerbern haben noch nie einen Patch für ein Open Source-Projekt eingereicht. Selbst das Aktualisieren von defekter Dokumentation versetzt Sie in eine obere Ebene der Entwickler. Es zeigt, dass Sie mit einem Open-Source-Paket vertraut genug sind, um zu wissen, was falsch ist. Sie möchten einen Patch einreichen, und die Betreuer dieses Pakets sind der Meinung, dass Ihre Arbeit gut genug ist, um aufgenommen zu werden. Als Verallgemeinerung zeigt sich, dass Sie die Initiative ergreifen, um schmutzige Dinge besser zurückzulassen, als Sie sie gefunden haben.

Es klingt wirklich einfach, aber wiederum machen sich 9 von 10 Entwicklern nie die Mühe, diesen alles entscheidenden Schritt zu tun.

Ein einzelner akzeptierter Patch sieht also großartig aus. Eine lange Geschichte von 2-3 einfachen Patches pro Quartal ist noch besser. Noch besser wäre es, etwas Bemerkenswertes beizutragen.

  1. Wesentliche Beiträge zu wichtigen Open Source-Projekten (obere 0,1% -1% der Kandidaten)
  2. Erweiterte Historie von kleinen Beiträgen zu irgendwelchen Projekten (obere 5% der Kandidaten)
  3. Ein einzelner Einzeiler auf ein relativ unbekanntes Paket (obere 10% der Kandidaten)

Aus dem gleichen Grund neigen Entwickler, die über das Trinken twittern und die ganze Zeit Filme sehen, dazu, mittelmäßige Einstellungen vorzunehmen. Ein Tweet-Stream, in dem sich jede dritte Nachricht mit Technologie befasst, weist auf die Art von tollwütigem Schrotthundentwickler hin, der sich um sein Handwerk kümmert und unermüdlich nach Lösungen sucht.

Das Bloggen ist auch ein guter Indikator für die Qualität, jedoch eher für den Kommunikationsstil als für die technischen Fähigkeiten. Wie viele Programmierer schreiben den ersten Blog-Artikel? Hier gilt die gleiche Art von 1% / 5% / 10% Cutoff.


5
"Ein einzelner akzeptierter Patch sieht also großartig aus. Eine lange Historie von 2-3 einfachen Patches pro Quartal ist sogar noch besser." Wohin gehen Sie aus dem Profil einer anderen Person, um akzeptierte Pull-Anforderungen für gegabelte Projekte anzuzeigen?
Nathan Long

Nathan Long, ich denke, wenn Sie zu Mitwirkenden gehen, könnten Sie seinen / ihren Namen sehen?
MIdhun Krishna

Kam über diese Frage, da sie Suche leistungsfähiger gemacht (nicht sicher, ob es vorher möglich war), können Sie eine Suche wie folgt durchführen
Garry Shutler

2
"Aus dem gleichen Grund neigen Entwickler, die über das Trinken twittern und die ganze Zeit Filme sehen, dazu, mittelmäßige Einstellungen vorzunehmen."
Whatsisname

10

Als Entwickler würde ich im Github-Account nichts anderes machen. Es ist nicht Ihr Problem, dass der Github-Account nicht schnell ausgewertet werden kann. Genau genommen ist es auch nicht das Problem von Github - es ist für die kollaborative Softwareentwicklung gedacht, nicht für die Evaluierung von Entwicklern.

Es sollten spezielle Tools für die Benutzerauswertung vorhanden sein, die mit Github-Daten arbeiten. Im Moment können Sie Websites von Drittanbietern verwenden. Zum Beispiel gibt es http://coderwall.com - ein kurzer Blick auf das Profil zeigt, ob der Entwickler jemals einen Patch eingereicht hat, ob jemand anderes sein Projekt gegabelt hat, wie viele Sprachen er verwendet ...

Eine andere Möglichkeit wäre, eine solche Zusammenfassung mit der Github-API automatisch auf Ihrer Homepage zu generieren: eine benutzerdefinierte Liste von Projekten mit einer Reihe von Forks und Beobachtern, die zuletzt aktualisiert wurden usw.


6
"Git ist nicht für die Evaluierung von Entwicklern gedacht." Sagen Sie das Andreessen Horowitz, der gerade 100 Millionen Dollar in GitHub investiert hat, weil " wenn ich alle frage, was sie für die Einstellung von Ingenieuren verwenden und jeder GitHub verwendet ". Sagen Sie einfach ...
MikeSchinkel

8

Seien Sie vorsichtig, wenn Sie Kandidaten anhand eines GitHub-Profils bewerten. GitHub ist kein Lebenslauf. Es gibt viele großartige Ingenieure, die aus vielen Gründen keine auffälligen Profile haben: Sie haben möglicherweise für Closed-Source-Unternehmen gearbeitet oder verbringen mehr Zeit mit anderen Aktivitäten wie Familie, Hobbys usw.

Auch wenn ein Beitrag zu einem Open-Source-Projekt für einen Kandidaten von Vorteil sein kann (wie @marshally erwähnt), sollten Sie auf die altmodische Art und Weise bewerten und einstellen und sprechen.

Einige Referenzen, auf die ich gerade gestoßen bin, nachdem ich diesen Thread gelesen habe:


2
Amen. Der Typ, der hundert Projekte gespalten und 1000 fehlerhafte Dokumentationspatches eingereicht hat, ist nicht der Typ, den Sie einstellen möchten - er würde nie etwas Nützliches erledigen. Das einzige wirkliche Kriterium ist, dass man sich die Zeit nimmt, um mit jemandem zu reden und ihn zu verstehen. Egal wie sehr die Popkultur unserer Branche Entwickler wie Roboter behandeln will, wir sind immer noch Menschen (
na ja

1
Sie müssen nicht nur die Statistiken des GitHub-Profils berücksichtigen. Sie können sich den Code ansehen, um festzustellen, ob es sich um gute Programmierer handelt.
Siyuan Ren

5

Ich denke, Sie können, Sie müssen sich nur etwas mehr Zeit nehmen, um zu sehen, ob er tatsächlich auf Github aktiv ist oder nicht, indem Sie sich seinen Aktivitätsstrom ansehen.

Sie können sehen, wie drängt, Probleme usw., was ein großer Indikator dafür ist, dass er tatsächlich aktiv ist und an etwas arbeitet, anstatt nur herumzuspielen.

Wenn jemand Sie bewerten möchte, sollte er sich Ihr "wahres" Bild ansehen, den beschissenen Code und auch den guten Code. Ich habe kürzlich ein Interview geführt und der Interviewer hat mich gebeten, mein Github-Konto zu eröffnen. Dann hat er in einem meiner Repos geblättert und einen Blick auf einen beschissenen Code geworfen, den ich vor einem Jahr in einer Sprache geschrieben habe, die ich gerade lernte.

Also fragte er mich, wie kannst du das verbessern? Ich habe alle seine Antworten richtig beantwortet, weil ich wusste, wie ich das verbessern konnte, aber es war mir wirklich egal, dieses Projekt zu reparieren, weil es nur eine Aufgabe für mich war, zu lernen.

Gleiches gilt für das Konto stackoverflow.com. Es ist auf SO offensichtlicher, da Sie Ruf usw. haben.


4

Ich persönlich sehe keinen Wert darin, ihr Profil per se zu betrachten. Wie Sie zu Recht sagten, besteht eine Tendenz zu einem Geräuschpegel, der groß genug ist, um nicht durchgesiebt zu werden.

Ich habe mich vor kurzem beworben und war für meinen ersten Entwicklerjob ausgenommen. Ich fand das Verfahren, das sie verwendeten, sehr fair. Anstatt nach Profilen und Ähnlichem zu fragen, konzentrierten sie sich auf die Projekte, die ich in meinem Lebenslauf auflistete.

Es gibt wirklich nur ein paar Dinge, die Sie von einem Kandidaten lernen müssen. Die wichtigsten sind, ob er sich entwickeln kann, ob er motiviert ist und wie er tickt. Dies alles kann aus einem Vorgespräch oder einem Gespräch in der ersten Runde stammen. Dies kann per Telefon oder 1 Stunde vor Ort erfolgen.

Die Idee ist, den Kandidaten sprechen zu lassen und herauszufinden, wo ihre Leidenschaft liegt. Ich stellte fest, dass dieser lockere Stil mich weit mehr öffnen ließ, als mein Profil für einen der Dienste zu senden, die ich im Zusammenhang mit der Entwicklung nutze.

Es war schön, nicht zuerst in ein technisches Interview verwickelt zu werden. Es schien, als ob sie die richtige Einstellung hatten, um eine gute Team-Passform zu finden und dann ihre Fähigkeiten zu bewerten.


3
Ich stimme zu, dass Persönlichkeit und Leidenschaft wichtig sind, aber viele Leute haben darüber geschrieben, wie schwierig es ist, zu bestimmen, "ob sie sich entwickeln können", wie Sie sagten. Es scheint konventionelle Weisheit zu sein (zumindest in der Ruby-Welt, in der ich arbeite), dass das Lesen des Codes der beste Weg ist, um zu sehen, was sie vor einem Interview tun können. Um noch tiefer zu gehen, würden Sie sie einbinden und ein Programm mit ihnen kombinieren, das Ihnen sowohl ihre Persönlichkeit als auch zeigt, wie gut sie Probleme lösen. Also ist es nicht entweder / oder. Ich denke, das Profil von jemandem kann ein nützliches Werkzeug sein. Die Frage ist wiederum, wie man es beurteilt.
Nathan Long
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.