W obu postach jest kilka bardzo trafnych argumentów przeciwko filtrowaniu kandydatów na podstawie ich pracy nad OSS. Zgadzam się z oboma postami, no i muszę przyznać, że też jestem winny - szukając programistów sam patrzyłem na to podobnie. Co o tym sądzicie?
Wszystko zależy od tego co mamy na myśli przez „pracę nad OSS”. Trudno oczekiwać bogatego profilu na GitHubie od początkującego lub mało doświadczonego programisty. Natomiast jeśli ktoś mówi, że ma np. 5 lat doświadczenia w danej technologii, to zdecydowanie trudniej będzie zaakceptować fakt zupełnego braku zaangażowania w społeczności. Nie uwierzę, że przez tak długi okres człowiek nie natknął się na przynajmniej kilka błędów w bibliotekach, których używa, i które musiał naprawić (a jak już naprawił to powinien być ślad w postaci choćby pull requesta).
Sam spotkałem się natomiast z tym, że pracodawca odrzucił moją kandydaturę m.in. ze względu na brak odpowiednich OS projektów na GitHubie. Projektów, które mogłyby pokazać sposób w jaki projektuję i implementuję większe aplikacje, a nie tylko „odwzorowuję jakieś istniejące API w Rubim”. Założenie, że każdy po godzinach siedzi przed komputerem i rozwija OS jest mocno utopijne.
Ciężko jednak polemizować z tym, że posiadanie bogatego profilu na GitHubie jest dużą zaletą w naszej społeczności. Nie można oczekiwać, że jeśli pracodawca ma do wyboru dwie osoby: jedną z ładnym profillem a drugą „tabula rasa”, to nie weźmie pod uwagę dorobku tej pierwszej.
No ale właśnie w obu postach jest dosyć dużo o tym dlaczego osoby mogą nie mieć żadnego wkładu do projektów open source - między innymi poprzez marginalizację lub chociażby brak czasu po pracy (nie mówiąc już o tym, że jak ktoś pracuje w firmach, które wykorzystują pracowników, to może nie mieć ochoty na jakiekolwiek kodzenie). Zauważ również dysproporcję pomiędzy procentem kobiet w IT i w OSS, naprawdę ciężko mi uwierzyć, że powodem tego jest lenistwo czy niechęć bez żadnego powodu.
Z tym nie polemizuję, ale po przemyśleniu tego wydaje mi się, że powinno się to trochę zmienić. Nie mówię o tym, żeby to zupełnie ignorować, ale trzeba mieć na uwadze problemy wymienione w obu postach.
Nie można oczekiwać, ale mam nadzieję, że pod wpływem tego typu postów może tak właśnie zrobią, może dzięki temu ludzie zaczną wpadać na lepsze sposoby sprawdzania pracownika.
Mogę mówić ze swojego doświadczenia, bo sama niedawno zaczęłam: po kilku miesiącach nadal nie czuję się wystarczająco pewnie, aby udzielać się w “zewnętrznych” projektach open source (piszę “zewnętrznych”, bo mam to szczęście, że część rzeczy, którymi zajmuję się w codziennej pracy, jest open source).
Masz rację, nie ma co się oszukiwać. Z drugiej strony warto mieć na uwadze, że osoby początkujące, szczególnie z grup społecznych, które nie stanowią większości środowiska programistycznego, mają tutaj wyższą barierę wejścia, gdyż społeczność open source czasami nie traktuje mniejszości najlepiej (patrz np. świeża afera z PRem dotyczącym usunięcia gender specific pronouns z dokumentacji node.js).
Użyję przykładu kobiet w środowisku programistycznym, bo tutaj jestem całkiem pewna tego, o czym mówię. Jeśli szukasz sobie projektu OS, w którym chcesz się podszlifować jako osoba początkująca z grupy zagrożonej stereotypem, a następnie widzisz różne nieprzyjemne sytuacje (node.js to nie jest jedyna githubowa drama), to ja się nie dziwię, że odechciewa ci się angażować. Zresztą, nie chcę powtarzać tego, co bardzo celnie opisuje Ashe.
Wolontariat jest bardzo fajną rzeczą, ale to chyba jedyna branża, z którą miałam styczność, w której wolontariat miałby być warunkiem zatrudnienia (nie jest to nawet warunkiem przy zatrudnianiu w wielu organizacjach pozarządowych).
Nie chodzi mi o to, żeby zupełnie nie zwracać na to uwagi, ale może trochę inaczej traktować. W tym momencie jest trochę tak, że jak masz mnóstwo projektów na githubie, albo np. dużo commitów do railsów, to ludzie w ogóle przestają zwracać uwagę na cokolwiek innego. Do prawie żadnej roboty nie musiałem wysyłać CV, jak miałem jakieś rozmowy kwalifikacyjne, to była to raczej prosta pogawędka, na której z reguły nie dostawałem żadnych ciężkich pytań, raczej jakieś proste “światopoglądowe” pytania (np. co myślę na temat mocków w testach, albo co myślę o jakiejś technologii czy podejściu). Myślę, że daje to trochę skrzywiony obraz kandydata.
Wydaje mi się, że to powinno wyglądać trochę inaczej. Jeżeli ktoś ma bogaty dorobek OSS, to nie powinien być brany ponad innych kandydatów z automatu. Nie powinno to też odbywać się tak jak teraz, tzn: ok, masz pińćset commitów do railsów, to znaczy że jesteś dobry, tylko bardziej na zasadzie: wyślij nam jakieś kawałki kodu, z których jesteś dumny - i teraz mogę wybrać czy to będzie kod OSS, czy nie.
Jeżeli po sprawdzeniu kandydatów ciężko jest się zdecydować, to oczywiście ciężko będzie nie spojrzeć na różne dodatkowe atuty, jak właśnie kontrybucje do OSS, ale trochę mnie przeraża, że stało się to niejako wymogiem.
Ale czy faktycznie sie stalo? Chyba zalezy w duzej mierze od firmy, stanowiska i charakteru pracy. Ja sie nie spotkalem jeszcze z potraktowaniem pt. ‘spadaj, nie masz bogatego dorobku na publicznym githubie i reputacji na StackOverflow’ ; mimo ze taka ocena bylaby merytorycznie uzasadniona
Jeśli pracowałeś kilka lat i przez cały ten czas nie udało ci się w ramach pracy zawodowej wypuścić chociaż kawałka kodu oss (spatchowanie używanej biblioteki, heloł?), to znaczy że dokonałeś zestawu kiepskich decyzji.
Kod na githubie nie musi być działający czy też wykorzystywalny przez kogokolwiek komercyjnie, może być hobbyprojektem (który jest dobrym wskaźnikiem kompletności wachlarza kompetencji, od rozpoczęcia po deployment projektu), może być wygłupianiem się i proof-of-conceptami w jakimś dziwnym języku, frameworku czy środowisku.
Problem z wygłupianiem się i proof-of-conceptami jest taki, że nie dają żadnego poglądu jaki kod piszesz „na poważnie”. Moim zdaniem (jako prowadzącego rekrutacje) jest strasznie trudno kogoś ocenić po jego githubie, dokładnie z powodów opisanych w „Why GitHub is not your CV” - brak kontekstu, wielość projektów na profilu.
Jest jeszcze kwestia, o której @radarek pisał w swoim ostatnim poście na blogu - żeby nie wprowadzać niepotrzebnej entropii jak już zaakceptują nasz pull request to wypadałoby usunąć swojego forka. Dużo osób tego nie robi tylko ze względu na to, żeby profil na githubie wyglądał lepiej. Wygląda to potem jak NK z taką zmianą, że zamiast zdjęciami z Hurgady chwalimy się wysłanymi patchami. Trochę nie o to powinno chodzić chyba.
No i co z ludźmi używającymi beanstalk czy bitbucket? Dyskryminacja!
Tak jak już powyżej pisałem, z jakiegoś powodu dysproporcja pomiędzy ilością kobiet w IT oraz ilością kobiet, które zajmują się OSS jest bardzo duża (ponad dwadzieścia procent vs 1.5%), więc to niekoniecznie musi być kwestia udało/nie udało, potrafię kompletnie zrozumieć dlaczego ktoś może nie chcieć się angażować publicznie w żaden sposób ze względu na wcześniejsze nieprzyjemności.
No ale widzisz, tutaj też to jest śliska sprawa. Pamiętam jak ktoś kiedyś wrzucił swój projekt w nodzie, który de facto dublował jakąś komendę systemową i twitter zrobił sobie z tego pośmiewisko (później większość osób przeprosiło, ale dalej, jakbym coś takiego zobaczył, to odeszła by mi ochota na wrzucanie swoich eksperymentów).
Dodatkowo mogę powiedzieć, że ja takich małych projekcików zrobiłem mnóstwo i prawie żadnego nie wrzuciłem na githuba. Dlaczego? Sam nie wiem, mam jakieś takie podejście do swoich rzeczy i swojej pracy, że rzadko mi się podoba to co robię, szczególnie jak to jest w ramach zabawy, bo wtedy się skupiam na jakichś elementach, a zupełnie pomijam inne.
… włączając w to Klabnika, jedną z głównych twarzy boju o inkluzywność środowiska. Tak.
Projekty zabawkowe nie mają pokazywać czy masz kulturę testowania (zresztą coraz częściej dochodzę do wniosku że kultura testowania zależy wyłącznie od tego czy zespół dostaje/wymusza taką możliwość) tylko czy lubisz zajmować się czymś innym niż praca.
Czy lubisz i masz taką możliwość. No i tutaj moim zdaniem github nie ma żadnego znaczenia - wystarczy spytać czy ktoś robił coś w wolnym czasie, przecież to mogą być też hobbystyczne zamknięte projekty.
Zostały tu poruszone dwie odrębne sprawy i jak zwykle część nieporozumień wynika z tego, że jeden mówi o tym a drugim o czymś innym. Te odrębne kwestie to udzielanie się w świecie OSS, czy konto na GH można traktować jako CV oraz czy to jest ok by odrzucać osoby nie mające takiego konta.
Odpowiedź na wszystkie te pytania może być tylko jedna: nie. Jeśli ktoś myśli inaczej to IMHO myśli zbyt tunelowo. Oczywistym jest, że im ktoś lepszy tym większa szansa, że będzie mieć konto na GH z fajnymi projektami, ale nie jest to pewnik.
To jest dokładnie taka sama kwestia jak umieszczanie w ogłoszeniach wymagania “wykształcenie wyższe”.
Co do OSS to już w ogóle śmieszne żeby tego wymagać.
Jak dla mnie to osoba rekrutowana po godzinach może mieć na wszystko wyj***** byleby byłaby dobra w tym co robi. A że osoby, które poza pracą nie kształcą się dodatkowo zwykle dobre nie są…
Czy Ci się to podoba, czy nie - pracodawcy wpiszą Twoje nazwisko w Google i wyrobią sobie na Twój temat zdanie zanim odbędzie się jakakolwiek oficjalna rozmowa kwalifikacyjna. Mam wrażenie, że to nie tylko kwestia programistów i GitHuba, ale aktywności w sieci w ogóle.
Znakomita wiekszosc bardzo dobrych programistow z ktorymi do tej pory pracowalem wyglada na githubie bardzo biednie. Takze…jasne, bogaty profil na githubie jest jakas tam informacja jaka nalezy wziac pod uwage i tyle.
Natomiast cos czego sie nie powinno robic to automatyczne odrzucanie ludzi z powodu braku aktywnosci w OSS. Tak jak James pisze, nie kazdy jest w stanie pracowac nad OSS. Wykluczanie takich osob w procesie rekrutacji jest po prostu nie fair.