Jak oceniasz profil Github programisty? [Zamknięte]

54

Wiele osób ze społeczności open source twierdzi, że podczas rekrutacji zdecydowanie bierze pod uwagę profil Github kandydata.

Jestem aktywny na Githubie, mam kilka własnych projektów i mam swój wkład w inne. Ale patrząc na mój własny profil, jak gdybym był pracodawcą, widzę dużo hałasu: projekty, które sklonowałem, ale nigdy nie przyczyniłem się do ich powstania itp. Projekty i łatki, z których jestem dumny, nie wyróżniają się.

Jeśli oceniasz profile użytkowników Github, jak to robisz? Czy jako programista powinienem robić coś inaczej - na przykład usuwać sklonowane repozytoria, nad którymi nie aktywnie pracuję?

Nathan Long
źródło
1
Chciałbym zobaczyć projekty, które ta osoba zainicjowała, oraz projekty typu open source, do których się przyczynił. Kod źródłowy jest wystarczającym dowodem projektu, możliwości kodowania. Pasja do pracy nad projektem poza codzienną pracą wskazywałaby również na ich preferencje. Kilka wskazówek, aby przynajmniej zacząć rozmowę o pracy.
Abi
3
Po co rozwiązywać projekty, jeśli nie zamierzasz w to wnosić wkładu? Wydaje się, że zdarza się to często w GitHub. Czy ma to zapewnić, że kod źródłowy nie zniknie, gdy oryginalny autor zdecyduje się usunąć repozytorium?
Htbaa
5
@Htbaa - czasami coś rozwidlam, aby móc przeszukiwać kod źródłowy, myśląc, że mogę coś wnieść. Czasami w końcu mam swój wkład; inni nie.
Nathan Long

Odpowiedzi:

51

Użyłem profili GitHub, strumieni Twittera i blogów jako wskaźników jakości podczas wywiadów programowych / selekcji kandydatów. Wszystkie generują różne sygnały na swój własny sposób.

9 na 10 wnioskodawców nigdy nie przesłało ani jednej poprawki do jednego projektu typu open source. Nawet aktualizowanie zepsutej dokumentacji stawia cię na wyższym poziomie programisty. Pokazuje, że znasz już jakiś pakiet open source, aby wiedzieć, co jest nie tak, zależy ci na przesłaniu łatki, a opiekunowie tego pakietu uważają, że twoja praca jest wystarczająco dobra, aby zostać uwzględnionym. Jako uogólnienie pokazuje, że podejmujesz inicjatywę, aby pozostawić brudne rzeczy lepiej niż je znalazłeś.

Brzmi to naprawdę prosto, ale znowu 9 na 10 programistów nigdy nie zadaje sobie trudu, aby zrobić ten ważny krok.

Tak więc jedna zaakceptowana łatka wygląda świetnie. Długa historia 2-3 prostych poprawek na kwartał jest jeszcze lepsza. Jeszcze lepiej byłoby dodać coś ważnego.

  1. Znaczny wkład w ważne projekty Open Source (górny 0,1% -1% kandydatów)
  2. Rozszerzona historia niewielkich wkładów do dowolnych projektów (górne 5% kandydatów)
  3. Pojedyncza łatka jednowarstwowa do stosunkowo nieznanego opakowania (górne 10% kandydatów)

Z tego samego powodu programiści, którzy tweetują o piciu i chodzeniu do kina przez cały czas, mają tendencję do przeciętnego zatrudniania. Strumień tweetów, w którym co 3 wiadomość dotyczy technologii, wskazuje na wściekłego twórcę psów ze złomowiska, który troszczy się o swoje rzemiosło i nieustannie poszukuje rozwiązań.

Blogowanie jest również doskonałym wskaźnikiem jakości, ale raczej ze względu na styl komunikacji niż umiejętności techniczne. Ilu programistów stara się napisać artykuł nr 1 na blogu? Obowiązują tutaj te same rodzaje limitów 1% / 5% / 10%.

marshally
źródło
5
„Tak więc jedna zaakceptowana łatka wygląda świetnie. Długa historia 2-3 prostych poprawek na kwartał jest jeszcze lepsza”. Gdzie idziesz z czyjegoś profilu, aby zobaczyć zaakceptowane żądania ściągania w rozwidlonych projektach?
Nathan Long,
Nathan Long, myślę, że jeśli pójdziesz do autorów, zobaczysz jego imię?
MIdhun Krishna
Znalazłem odpowiedź na to pytanie, ponieważ dzięki temu wyszukiwanie stało się bardziej wydajne (nie jestem pewien, czy było to możliwe wcześniej), możesz przeprowadzić takie wyszukiwanie: github.com/...
Garry Shutler
2
„Z tego samego powodu programiści, którzy tweetują o piciu i chodzą do kina przez cały czas, zwykle zarabiają przeciętnie na wynajmie”.
whatsisname
10

Jako programista nie zrobiłbym nic innego na koncie Github. To nie twój problem, że konta Github nie można szybko ocenić. I ściśle mówiąc, nie jest to również problem Githuba - jest przeznaczony do wspólnego tworzenia oprogramowania, a nie do oceny programistów.

Powinny istnieć specjalne narzędzia do oceny użytkowników, pracujące z danymi Github. Na razie możesz korzystać z witryn stron trzecich. Na przykład jest http://coderwall.com - jedno szybkie spojrzenie na profil pokazuje, czy deweloper kiedykolwiek przesłał łatkę, jeśli ktoś rozwidlił swój projekt, ile języków używa ...

Inną opcją byłoby automatyczne generowanie takiego podsumowania na stronie głównej za pomocą Github API: niestandardowa lista projektów z wieloma widelcami i obserwatorami, ostatnia ich aktualizacja itp.

Lukas Stejskal
źródło
6
„Git nie jest przeznaczony do oceny programistów”. Powiedz to Andreessenowi Horowitzowi, że właśnie zainwestował 100 milionów dolarów w GitHub, ponieważ Kiedy pytam wszystkich, czego używają do rekrutacji inżynierów, a wszyscy korzystają z GitHub ”. Po prostu
powiedz
8

Zachowaj ostrożność, oceniając kandydatów na podstawie profilu GitHub. GitHub nie jest CV. Jest wielu świetnych inżynierów, którzy nie mają krzykliwych profili z wielu powodów: mogli pracować dla firm o zamkniętym źródle lub spędzać więcej czasu na innych czynnościach, takich jak rodzina, hobby itp.

Chociaż wkład w projekt open source może być zaletą dla kandydata (jak wspomniano @marshally), należy oceniać i zatrudniać w staromodny sposób, rozmawiając.

Niektóre odniesienia, na które natknąłem się po przeczytaniu tego wątku:

defvol
źródło
2
Amen. Facet, który rozwiesił sto projektów i przesłał 1000 uszkodzonych poprawek do dokumentacji, nie jest facetem, którego chcesz zatrudnić - nigdy nie zrobiłby nic pożytecznego. Jedynymi prawdziwymi kryteriami jest staroświecki czas poświęcony na rozmowę i zrozumienie kogoś. Bez względu na to, jak bardzo popkultura naszej branży chce traktować deweloperów jak roboty, wciąż jesteśmy ludźmi (cóż, większość z nas)
gbjbaanb
1
Nie musisz brać pod uwagę tylko statystyk profilu GitHub. Możesz spojrzeć na kod, aby ustalić, czy są dobrymi programistami.
Siyuan Ren,
5

Myślę, że możesz, wystarczy poświęcić trochę czasu na sprawdzenie, czy on jest aktywny na githubie, czy nie, patrząc na strumień aktywności.

Możesz zobaczyć, jak popycha, wydaje problemy itp., Co jest dużym wskaźnikiem tego, że jest naprawdę aktywny i pracuje nad czymś, a nie tylko wygłupia się.

Jeśli ktoś chce cię ocenić, powinien spojrzeć na twoje „prawdziwe” zdjęcie, gówniany kod, a także dobry kod. Niedawno przeprowadziłem wywiad, a ankieter poprosił mnie o otwarcie konta github, a następnie przejrzał jedno z moich repozytoriów, przejrzał jakiś gówniany kod, który napisałem rok temu w języku, którego się uczyłem.

Więc zapytał mnie, jak możesz to poprawić? Odpowiedziałem poprawnie na wszystkie jego odpowiedzi, ponieważ wiedziałem, jak to poprawić, ale tak naprawdę nie miałem ochoty naprawiać tego projektu, ponieważ był to dla mnie tylko projekt podstawowy.

To samo dotyczy konta stackoverflow.com. Jest to bardziej oczywiste na SO, ponieważ masz reputację itp.

zengr
źródło
4

Osobiście nie widzę wartości, patrząc na ich profil per se. Jak słusznie powiedziałeś, stosunek szumów jest na tyle duży, że nie warto go przesiewać.

Niedawno złożyłem podanie i byłem wyłączony z mojej pierwszej pracy deweloperskiej i uważałem, że proces, który zastosowali, był bardzo uczciwy. Zamiast pytać o profile i tym podobne, koncentrowały się one na projektach, które wybrałem do wpisania w moim CV.

Naprawdę jest tylko kilka rzeczy, które musisz zebrać od kandydata, najważniejsze to: czy mogą się rozwijać, czy są zmotywowani i jak tykają. Wszystko to można uzyskać z rozmowy wstępnej lub pierwszej rundy, można to zrobić telefonicznie lub 1 godzinę na miejscu.

Chodzi o to, aby kandydat mógł mówić i dowiedzieć się, na czym polega jego pasja. Przekonałem się, że ten bardziej zrelaksowany styl sprawił, że otworzyłem się o wiele bardziej niż wysyłanie profilu na dowolne usługi, z których korzystam w związku z programowaniem.

Miło było nie zaczynać od wywiadu technicznego. Wydawało się, że mieli właściwe podejście do znalezienia dobrego „zespołu”, a następnie oceny umiejętności.

DeanMc
źródło
3
Zgadzam się, że dopasowanie osobowości i pasja są ważne, ale wiele osób napisało o tym, jak trudno jest określić, jak powiedziałeś, „czy mogą się rozwijać”. Wydaje się, że powszechna jest mądrość (przynajmniej w świecie Ruby, w którym pracuję), że czytanie czyjegoś kodu jest najlepszym sposobem, aby zobaczyć, co może zrobić przed rozmową. Aby zagłębić się jeszcze bardziej, przyprowadź ich i sparuj z nimi program, który pokazuje zarówno ich osobowość, jak i sposób rozwiązywania problemów. Więc to nie jest albo. Myślę, że czyjś profil może być przydatnym narzędziem; ponownie pojawia się pytanie, jak to ocenić.
Nathan Long,