Zatrudnianie programistów - jakieś wskazówki dotyczące większej wydajności? [Zamknięte]


17

Reprezentuję firmę programistyczną, która buduje duży zespół programistów. Jesteśmy wybredni, jeśli chodzi o to, kogo zatrudniamy i mamy bardzo dobry wskaźnik retencji (większość deweloperów jest tu średnio przez 5-6 lat).

Spędziliśmy dużo czasu dla programistów i HR i mamy niski współczynnik aplikacji do zatrudnienia. Oto proces, którego używamy:

  • Wywiad HR na telefon - dotyczy podstawowych pytań behawioralnych i technicznych
  • Test online - obejmuje 30-minutowy test techniczny
  • Techniczny wywiad telefoniczny - 60-minutowy wywiad programisty
  • Wywiad na miejscu - 60-90 minutowy wywiad przeprowadzony przez kilku starszych programistów

Chociaż ten proces działa, spędzamy zbyt dużo czasu na wywiadach. Czy są jakieś przemyślenia na temat tego, jak można to zrobić inaczej? Naszym celem jest zautomatyzowanie wszelkich zadań, jeśli to możliwe, przy zachowaniu jakości talentów.


AKTUALIZACJA: Dzięki za odpowiedzi. Musisz wyjaśnić kilka rzeczy. Naszym celem jest zmniejszenie liczby kandydatów, którzy przechodzą z jednego etapu na drugi. Oto nasze aktualne liczby.

  1. Otrzymujemy 1000 CV
  2. 800 wznawia zdanie wywiadu HR
  3. 500 zdało test online
  4. 100 przechodzi przez początkowy ekran telefonu
  5. 10 minąć na miejscu i zatrudnić

Jak widać, musimy lepiej oddzielić kandydatów wcześniej na tym etapie. Czy możemy lepiej wykonać test oceniania ludzi przez test online?

Oto więcej szczegółów na temat procesu w oparciu o niektóre odpowiedzi:

  • Wywiad HR na telefon - zadają bardzo podstawowe pytania techniczne (co to jest CLR?), Aby wyeliminować jak najwięcej ludzi
  • Test online - masz około 10 podstawowych pytań z 3 pytaniami kodującymi
  • Ekran telefonu technologii - obejmuje różne technologie. Nie obchodzi nas, że wnioskodawca nie wie wszystkiego, dopóki może wykazać, że będzie w stanie wybrać nowe technologie i szybko przyspieszyć
  • Onsite - Kodowanie pytań przed programistami. Więcej pytań na poziomie architektonicznym.

2
Jedną strategią jest zatrudnianie na miejscu. Nie oszczędza to czasu, ale zmniejsza koszty, jeśli koszt jest ważnym czynnikiem.
rwong

1
Drugim sposobem jest zidentyfikowanie współpracowników, którzy są bardziej skłonni (lub nie mieliby nic przeciwko) zaangażowani w zatrudnianie, i pozwolić im wziąć na siebie większą część odpowiedzialności.
rwong

2
Dlaczego nie wymagać od programistów przesyłania CV za pomocą git? To także wyeliminowałoby kilka zakazów.
WernerCD,

2
@WernerCD - Jeśli zatrudniasz programistów .NET, prawdopodobnie nie słyszeli o git.
jfrankcarr

4
Z drugiej strony nienawidzę HR zadawania pytań technicznych i konieczności przeprowadzania testów online. To po prostu źle wpływa na firmę. Byłbym bardziej zainteresowany tą firmą, gdyby przeszli bezpośrednio do FizzBuzz i zamiast tego spędzili 10 minut na rozmowach o architekturze. Uważam, że te rzeczy są znacznie bardziej pouczające i oszczędzają czas.
MrFox,

Odpowiedzi:


31

Myślę, że jest kilka miejsc, w których marnujesz czas.

Porzuć wywiad HR poza zwykłym pierwszym kontaktem, aby umówić się na kolejne rozmowy. Posiadanie przez personel HR pytań technicznych to strata czasu. Na przykład kazałem zadać mi niejasne pytanie na temat MVC i nie mogli wyjaśnić, o co pytano.

Przerwij test online, zwłaszcza jeśli zatrudniasz programistów średniego i wyższego szczebla. To marnuje ich czas plus twój czas i pieniądze. Ponadto niektórzy programiści po prostu nie radzą sobie dobrze w tego rodzaju testach.

Chociaż wywiad telefoniczny jest dobry, nie powinien on wymagać pełnej godziny. Często wystarczy 5-10 minut, aby ustalić, czy dana osoba jest dobrze dopasowana, czy nie. 30 minut powinno być tym, czego potrzebujesz najwięcej, aby ustalić, czy poręczenie osobiste jest uzasadnione.

Najważniejszy będzie wywiad osobisty. Nie marnuj go na BS, takie jak testy osobowości HR, standardowe testy online i tym podobne. Poświęć trochę czasu na poznanie osoby i sprawdzenie, czy pasuje ona do Twojego zespołu. Zadawaj dobre pytania związane z pracą, której oczekujesz, nie zadawaj pytań, nie wspominając o łamigłówkach, które słyszeliście w Google / Microsoft / Apple / etc lub niejasnych ciekawostkach.

Możesz również przejść przez firmę rekrutacyjną, która zawiera umowę na wynajem. Wielu z nich przeszło wstępną kontrolę i testy, aw niektórych przypadkach współpracowało wcześniej z tą osobą. W ten sposób możesz zatrudnić najlepszego kandydata (-ów) i ustalić, czy są dobrze dopasowani, wykonując dla Ciebie rzeczywistą pracę. Jeśli coś nie działa z jakiegokolwiek powodu, pozwól im odejść. Jeśli dobrze się nadają, trzymaj ich jako stałych pracowników.


Edytuj na podstawie zaktualizowanych informacji ...

Jeśli twoje HR wyrzuca tylko 200 na 1000, problem może leżeć.

Twoja reklama potrzebna do pomocy może być zbyt ogólna i zachęcać wiele osób do zgłaszania się, którzy w innym przypadku sami się wykluczą. Możesz lepiej ukierunkować swoją reklamę, ale nie przekierowuj jej nadmiernie.

Przy tak wielu wznowieniach dział HR może lepiej zlecić tę fazę agencji preselekcyjnej, aby nieco zawęzić zakres, poprzez zastosowanie automatyzacji i / lub wstępnych wywiadów i kontroli przeszłości. Może to obejmować faktyczny wstępny wywiad techniczny udzielony przez prawdziwego programistę. Może również obejmować test online, ale będzie to różnorodność sztuczek i ciekawostek.

Tak jak powiedziałem, nie sądzę, abyś czerpał wiele korzyści z ekranów HR i testów online. Proponuję przemyśleć je ponownie, a przekonasz się, że twoje liczby w innych fazach będą bardziej rozsądne.


22
Zabawne, nie będę pracował dla firm, które nalegają na takie bzdury. Przekonałem się również, że wywiady z kadrami to ogólnie marnowanie mojego czasu. Nic mi nie mówią o firmie, a drony HR wydają się myśleć, że zależy mi na „wartościach korporacyjnych”.
Kristof Provost

2
@jfrankcarr - nie ma znaczenia, co robi. Programista musi być w stanie myśleć logicznie. Jeśli po prostu nie kopiujesz już istniejących rzeczy. Każdy projekt musi zrobić coś nowego, nawet jeśli wykorzystuje algorytm z bibliotek itp.
srnka

3
@ srnka - W przypadku typowych aplikacji korporacyjnych nie dbam o to, czy potrafią napisać od podstaw ścisły, niski poziom algorytmu sortowania. Dostępnych jest do tego wiele świetnych bibliotek. Dbam o to, czy wiedzą, jak postępować zgodnie z wzorcami programowania, zaprojektować dobry interfejs użytkownika, napisać dobre zapytania DB i tak dalej, tj. Rzeczy, które będą robić codziennie w pracy.
jfrankcarr

2
Chociaż nie zrobiłbym -1 ... ale porzuć HR i upuść test online ... i wykonaj 1000 10 minutowych wywiadów? Co z kimś, kto nie może spełnić wymagań pracy (filtr HR)? Czy może przeprowadzić wywiad telefoniczny, ale nie FizzBuzz (test online)? Są to dość ważne filtry.
WernerCD,

3
@NimChimpsky: Tak jak niektóre firmy używają testów osobowości jako narzędzi do sprawdzania kandydatów, niektórzy kandydaci używają ich jako narzędzi do sprawdzania firm.
Blrfl,

23

Jest to jedna sytuacja, w której nie chcesz być bardziej wydajny niż już jesteś. Jest już zbyt wielu kandydatów, którzy nie mogą przejść FizzBuzz. Twój obecny proces filtrowania wygląda tak, jakby zapewniał jakość programisty. W rezultacie marnowałbyś jeszcze więcej czasu, jeśli wyeliminowałbyś któryś z kroków, które robisz do tej pory.


5

Wygląda na to, że sukces kandydata zajmuje około trzech do czterech godzin. Nie próbowałbym skracać tego ogólnego czasu. Jeśli już, to mogę dodać więcej czasu na rozmowę na miejscu, aby dać naprawdę dużo czasu dla naprawdę świetnych kandydatów, aby ostatecznie wykazali swoją wartość i zdecydowali, czy to, co oferujesz, jest dla nich interesujące na dłuższą metę. Przy niskich obrotach musisz robić coś dobrze.

Niski zwrot z inwestycji w proces może stanowić pierwsze trzy kroki. Być może możesz ściślej wznowić ekran lub poszukać jeszcze lepszych wyników testu online. Techniczny ekran telefonu może być celem optymalizacji, jeśli ustawisz go na 30 minut, ale pozwolisz wyższym kandydatom wydłużyć się do 45 lub 60 minut.

Jeśli jest to jakaś pociecha, myślę, że rozproszenie i koszt czasu, podczas gdy przeciąganie pracy nad projektem, jest jednym z najcenniejszych czasu, jaki możesz poświęcić. Zastanów się nad kosztami i problemami wynikającymi z błędów w zatrudnieniu oraz wspaniałymi korzyściami dla zespołu i firmy, gdy zostanie dokonany dobry wynajem.

Jeśli masz na myśli, pracując z prawie wszystkimi twoimi kandydatami, jesteś czymś w rodzaju baranka ofiarnego. Jednak globalny efekt wykonywanej pracy ma wielką wartość. Powinieneś przyjąć tę rolę i wydoić ją z dobrej woli, jaką możesz zdobyć wśród nowych pracowników. Jeśli proces pójdzie dobrze, kierownictwo będzie doceniać twoją opinię na temat innych rzeczy.


4

Jak czytam, twój system działa i jesteś bardziej niż zadowolony z rezultatów. Twoje zespoły pracują dobrze, są wydajne i wszyscy są zadowoleni. Jedynym problemem jest to, że uważasz, że to kosztuje zbyt wiele.

Zastanów się nad alternatywą - zmniejszasz koszty rekrutacji personelu (niezależnie od metody). W rezultacie okres zatrudnienia spada z 6 lat do 3. Jeśli spędziłeś 1/2 czasu na każdą rekrutację, to spędziłeś to samo w sumie na samej rekrutacji. Spójrzmy teraz na koszt obrotu - w przeciwieństwie do pracy fizycznej (dobrym przykładem jest malowanie ogrodzenia), przyspieszenie zajmuje dużo czasu, powiedzmy 3-6 miesięcy. Oznacza to, że Twoje oszczędności związane z rekrutacją muszą odzyskać 3-6 miesięcy wynagrodzeń, kosztów i utraconych zysków dla firmy (nazwijmy to płacą 2,5 *). Teraz uwzględnij zakłócenia w zespole i ryzyko, że nowy rekrut będzie musiał dynamizować zespół.

Podsumowując - rekrutacja kosztuje średnio 3-6 miesięcy pensji. Ile wydajesz na obsadzenie stanowiska - przypuszczam, że tydzień lub dwa.

Sposób na zmniejszenie tego: wszystko, co widzę, to czasy rozmów kwalifikacyjnych - czy je przerywasz, czy uzupełniasz, gdy zdecydujesz, że kandydat jest Nie (lub Tak)? Jeśli zdecydowałeś się złożyć mu ofertę po pierwszych 5 minutach - złóż ofertę. Jeśli potrzebujesz 90, aby zdecydować się nie składać oferty, zapytaj, dlaczego zajęło 90, aby dostać się do Nie (tj. Co on zrobił, aby wysadzić ją w ciągu ostatnich 60 sekund).

Rekrutacja to w najlepszym wypadku bzdura - wygląda na to, że udało ci się załadować kostki na swoją korzyść, kusiłoby mnie, aby tak było ......


3

Sugerowałbym również coś, co tutaj przeczytałem: Skuteczne programowanie: więcej niż pisanie kodu :

Miło jest zobaczyć, czy kandydat „pasuje” do kultury organizacji i codziennego życia. Można tego dokonać, pozwalając kandydatowi zadawać pytania obecnym pracownikom „poza rejestrami” lub na poziomie zaawansowanym wykonującym pracę kontraktową na tydzień lub dwa (sugerowane przez autora).

Z perspektywy czasu, gdyby niektóre firmy, dla których pracowałem, zastosowałyby tę strategię, nigdy by mnie nie zatrudniły, co byłoby równie dobre dla obu stron.


1

Na ogół prosimy ich o przyniesienie i wyjaśnienie kodu, który napisali i z którego są szczególnie dumni, najlepiej z projektu typu open source.

Czekaj ” - mówisz - „ Czy to nie pociąga cię do ludzi, którzy piszą oprogramowanie w wolnym czasie?

Tak. Tak. Właśnie o to chodzi.


10
Dwie notatki: 1) w ten sposób po prostu przegapisz wielu kandydatów, którzy w równym stopniu byliby równie sprawni, a którzy nie robią projektów typu open source w wolnym czasie, z jakiegokolwiek powodu (np. Nie mają wolnego czasu, będąc ojcem / matką) ; wolą zachować równowagę między pracą a życiem prywatnym, aby uniknąć wypalenia; mają inne hobby; itp.) 2) to nie odpowiada na pytanie.
Péter Török

1
Najlepsi programiści +1 imho nie są 9 do 5 programistami. Spędzają trochę czasu na pracy z projektami. Niezły artykuł: theundercoverrecruiter.com/…
jgauffin,

6
Myślę, że to jest baloney. Wolę zatrudnić kogoś, kto jest dobrze poinformowany o zainteresowaniach poza pracą. Kodowanie jest łatwe.
NimChimpsky

3
Mam rutynowe pytanie do mojej rozmowy: „czy kiedykolwiek byłeś zaangażowany lub miałeś udział w projekcie open source” ?, powiem ci, że to tylko sonda kulturowa . Jeśli mają, WIELKIE !: lubią to, co robią wystarczająco dużo, aby wykorzystać na to swój wolny czas, są dobrzy w pracy na odległość i mają umiejętności komunikacyjne / negocjacyjne (duża część pytania dotyczy zaangażowania w samą społeczność , Nie dbam tak bardzo o kod). Jeśli tego nie zrobią, nie powinny mieć żadnej różnicy , ponieważ prawdopodobnie oznacza to po prostu, że mają rodzinę.
dukeofgaming,

3
@ PéterTörök - Firmy takie jak ta, która opisuje, nie chcą, aby ich programiści mieli życie na zewnątrz. Chcą, aby byli młodzi i wolni od przywiązań, aby mogli je wykorzystać i wypluć za 3-5 lat.
jfrankcarr

0

Czy myślałeś o współpracy z agencją rekrutacyjną, aby znaleźć ludzi? Możesz usiąść z agencją i opowiedzieć im o swoim procesie i tym, czego szukasz u kandydata. Następnie mogą spędzić czas na przeglądaniu wielu CV, przeprowadzaniu ogólnego testu technicznego i przeprowadzaniu testu online. Następnie przekazują ci dobrych kandydatów na telefon i osobistą rozmowę.

W przeszłości współpracowałem z agencją rekrutacyjną jako programista poszukujący pracy. Musiałem przejść długą rozmowę kwalifikacyjną, aby znaleźć się w ich puli, a następnie, gdy pojawiły się potencjalne oferty pracy, musiałem wykonać wstępne kroki i jeśli mój kod / odpowiedzi były dobre, musiałem spotkać się z rzeczywistą firmą.

Jestem pewien, że zmniejszy to koszty ogólne twojego zespołu, ale będzie to kosztować. Słyszałem, że może to być procent wynagrodzenia pracownika. Więc jeśli oferujesz 65 tys. Rocznie, możesz zaoferować im 60 tys., A następnie zapłacić firmie 5 tys.


Jakie mechanizmy muszą być wdrożone, aby upewnić się, że agencja rekrutacyjna wykonuje swoją pracę? (Na przykład, odpowiednio wybierając dobrych kandydatów i nie
wspierając

@rwong ~ To proste, firma nadal przeprowadza ostatni wywiad lub 2. To jest mechanizm. Wspieranie kandydata działa tylko wtedy, gdy nie musi z nikim rozmawiać. Wykonywanie 2 godzinnych rozmów kwalifikacyjnych (godzina na telefon i godzina na miejscu) szybko pokaże, czy kandydat jest naprawdę dobry. A jeśli przekazywanych jest wielu fałszywych kandydatów, przestań korzystać z tej agencji.
Tyanna,

0

Zamiast pytać, czy nasz proces jest niewłaściwy, należy najpierw zapytać, czy nie przyciągamy najlepszych dostępnych osób. Większość organizacji nie promuje siebie i pracy przed otrzymaniem jakichkolwiek wniosków. Uważam, że błędem jest również zaangażowanie HR w pierwszym punkcie kontaktu. Istnieje fundamentalna schizma pomiędzy typami osobowości zatrudnionymi w HR a wysokiej klasy programistami.

Po długich przemyśleniach na ten temat skorzystałbym ze 100% polityki zatrudnienia kontrahentów / pracowników tymczasowych i po roku zaoferowałem pełnoetatowe stanowiska kariery dla wybranych kontrahentów. Niektóre osoby bardzo dobrze przeprowadzają wywiady z encyklopedyczną wiedzą techniczną, ale spędzają czas na pisaniu kodu, który wiedzą, że potrzebujesz, ale nie to, o co prosili.

Mam jedną wskazówkę dotyczącą rozmowy kwalifikacyjnej, podaję kod i daję 10 minut na sprawdzenie kandydata, a następnie poproś go o krytykę.


Zgadzam się, z wyjątkiem tego, że uważam, że rok jest za długi na sytuację od umowy do trwałej ondulacji. 6 miesięcy to najdłużej, jeśli chcesz zatrzymać ludzi. Ogólnie rzecz biorąc, w ciągu 3 miesięcy będziesz wiedzieć, czy osoby są dobrze dopasowane, czy nie. Nie ma powodu, aby to wyciągać.
jfrankcarr

Sześciomiesięczna umowa najmu jest w porządku, jeśli chcesz zatrudnić kontrahentów. Może to być zbyt długie, jeśli chcesz zatrudnić kogoś, kto jest obecnie na stałym stanowisku.
kevin cline

0

Jak mówi SomeKittens, zrób test FizzBuzz ... tylko, że robisz to na żywo i najlepiej na papierze, ponieważ naprawdę chcesz zobaczyć, ile czasu zajmuje rozwiązanie tego rozwiązania. Nie oceniaj składni, tylko logikę rozwiązania, w moim przypadku dopuszczam nawet pseudokod i nie jest to problem, działa równie dobrze.

Dla mnie zadziałało to jak magia ... Byłem w stanie odrzucić tak zwanego 15-letniego doświadczonego faceta, który głośno mówił o tym, że jest tak dobry, że byłby skłonny „zrezygnować” ze stanowiska kierowniczego, aby uzyskać zastrzelony na stanowisku dewelopera w mojej firmie ... och chłopcze, czy on nie zdał egzaminu: 45 minut (nawet poszedłem po napoje gazowane i wróciłem), zrobiłem to w pseudokodzie, i pomylił się. Facet wywarł dobre wrażenie na HR dzięki swojemu życiorysowi, ale biorąc pod uwagę ten wynik, udało mi się go wyeliminować bez potu.

Średnio 15 minut, mniej niż to, nie oznacza, że ​​masz dobrego programistę, a ponadto zacznij martwić się o złego programistę przed sobą.

Przeczytaj artykuł Jeffa Attwooda „ Dlaczego programiści nie mogą programować ”, aby zrozumieć istotę testu.

Poza tym jestem niestety w Meksyku i nie jest to wystarczająco popularne, aby mieć gdzie wybierać, ale może warto spróbować careers.stackoverflow.com ? To znaczy, jest to wyspecjalizowane narzędzie rekrutacyjne właśnie dla tego, czego szukasz.


0

Odpowiadając z perspektywy programisty, poleganie na umiejętnościach programistycznych tak bardzo zyskuje wysokiej jakości programistów, ale również ma szansę wyeliminować naprawdę dobrych programistów.

Jestem zaangażowany w wiele środowisk programowania C #, Java, PHP itp. Wiele doświadczeń zawodowych zapewnia, że ​​osoba jest ekspertem w swojej dziedzinie, ale z tego powodu ignoruje się fakt, że inne tła są pomijane.

Na przykład większość mojego doświadczenia dotyczy PHP i znam prawie wszystkie cycki i fragmenty języka, tylko dlatego, że mogę odpowiedzieć na pytanie, nie czyni mnie to programistą jakości. I tylko dlatego, że nie pamiętam nazwy funkcji i definicji w bibliotece XXXX w Javie, nie jest to zły koder Java.

Uważam, że programiści powinni być oceniani na podstawie potencjału i zdolności adaptacyjnych, a nie tego, co mogą zrobić.


0

Moją sugestią byłoby zmienić rozmowę z HR, aby bardziej pytać kandydata o idealne środowisko pracy. Kluczową kwestią dla HR jest po prostu zebranie odpowiedzi i dodanie punktów na temat tego, w jaki sposób udzielana jest odpowiedź w celu ustalenia, czy kandydat wie, jakiego rodzaju środowiska chce i jak dobrze pasuje do Twojej organizacji.

Można powiedzieć coś o dziale HR, znając pewne punkty w całym procesie stosowanym w organizacji, ale jest to prawdopodobne, że można zrobić więcej odchwaszczania, jeśli można tak skonfigurować rzeczy, aby uzyskać określone wartości, style komunikacji i inne punkty jako rzeczy do znalezienia dla HR. Nie chodzi tutaj o to, aby dział HR sam określał dopasowanie, ale raczej gromadził informacje, które można następnie przekazać deweloperowi lub dwóm, którzy mogą sprawdzić, czy ktoś jest wart szybkiego śledzenia przez cały proces.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.