Test techniczny dla starszego programisty [zamknięty]

21

Mam dylemat Mam kandydata na stanowisko starszego programisty.

Facet wydaje się kompetentny podczas pierwszej rozmowy z nim, a on odpowiedział dokładnie na zadane pytania i dał mi dowody swojej pracy. Ponadto został bardzo polecony przez niektórych zaufanych kolegów.

W tym przypadku kusi mnie, aby pominąć test techniczny wymagany przez HR, ponieważ muszę jak najszybciej wypełnić wakat. Podziel się swoim doświadczeniem.

EDYTOWAĆ:

Wbrew lepszemu osądowi poddałem test. Najlepsze wyniki w prawie wszystkich pytaniach, nawet na temat, z którego się nie chwalił. Ale tak bardzo go poparłem, gdy zobaczył pytania z testu - które najwyraźniej nie były dla seniora.

Więc złożyliśmy ofertę.

Dzięki wszystkim za wgląd.

Daniel Voina
źródło
22
zalecane przez zaufanych współpracowników powinny być wystarczająco dobre. Większość nie zrobiłaby tego z powodu swojej reputacji na linii.
Aditya P
28
Jeśli nie masz wystarczająco dużo czasu, aby go teraz przetestować, to do cholery, czy będziesz miał wystarczająco dużo czasu, aby go zwolnić, poszukać nowego kandydata, a następnie przetestować tego faceta? Zrób to poprawnie za pierwszym razem.
Alex Feinman
1
@Alex: Nie chodzi o to, aby proces nie przebiegał prawidłowo. Chcę szybko zatrudnić, ponieważ mam termin do dotrzymania. Mogę go przetestować tak bardzo, jak chcę, nawet zmusiłem go do zaprojektowania rozwiązań podczas rozmowy - nie ma kodu, ponieważ tak naprawdę nie byłem zainteresowany składnią języka, ale proponowanymi rozwiązaniami i odpowiednimi technologiami.
Daniel Voina
Czy nie mógłbyś zawrzeć umowy w tym trudnym czasie?
Kevin Peno
1
@Aaron, czy HR naprawdę byłby tak zmartwiony pozycją kontraktową? Zwłaszcza jeśli umowa została zawarta na krótki okres, aby zapobiec długoterminowym trudnościom firmy.
Kevin Peno

Odpowiedzi:

34

Jak zwykle...

To zależy

Nigdy nie widziałem testu technicznego potwierdzającego kompetencje. Widziałem wiele testów technicznych, które wykazały ignorancję - zarówno ze strony osoby wykonującej test, jak i osoby wykonującej test.

Ile masz zaufania do testu technicznego? Wziąłeś to? Myślisz, że to sprawiedliwe?

Poufnie wziąłem internetowy test techniczny jako przysługę dla klienta jakiś czas temu (chcieli, aby moje wyniki były „punktem odniesienia” dla nowych pracowników) i nie udało mi się - głównie dlatego, że pytania testowe składały się wyłącznie z nazw składni i funkcji dla określonego wersja określonego języka. Używam tego języka cały czas i mam od lat, ale nie te specyficzne cechy . To były wszystkie rzeczy, na które mogłem spojrzeć, kiedy / w razie potrzeby - i jako takie były zupełnie nieistotne dla umiejętności / kompetencji.

To naprawdę zależy od testu. Jeśli uważasz, że twoje badanie techniczne jest znaczące, to zrób to za wszelką cenę. Jeśli tego nie zrobisz, pozbądź się go . Twoje wrażenie oparte na osobistym wywiadzie oraz zaleceniach zaufanych współpracowników są o wiele cenniejsze niż jakikolwiek test .

Steven A. Lowe
źródło
:) Naprawdę nie interesuje mnie składnia ani formatowanie kodu. Chcę tylko doświadczonego faceta, który poradzi sobie z niepewnością i dobrze zna swoje sprawy. Ponadto jest SCJP - id zweryfikowany w Oracle. Czy warto zadawać mu pytania na temat C # tylko ze względu na proces HR?
Daniel Voina
3
+1 „Zarówno ze strony osoby wykonującej test, jak i osoby wykonującej test”… rzeczywiście.
Żałuję,
1
@Daniel: Nie sądzę - ale mam bardzo niską opinię na temat procesów i formalności HR. Myślę, że wiele z nich istnieje wyłącznie w celu uzasadnienia istnienia działu, a nie w celu dodania wartości do firmy. Ale to tylko moja opinia.
Steven A. Lowe
Jeśli jest to test online, możesz poszukać odpowiedzi tak, jak zwykle, nie?
Zan Lynx
3
lol na twoją historię o nieudanym teście technologii, w której klient już wie, że jesteś ekspertem. Przeprowadziłem już tego rodzaju testy i naprawdę sprawiły, że wątpię w swoje własne umiejętności (byłem zbyt wcześnie w mojej karierze, aby zdać sobie sprawę z tego, jak bezużyteczny był test.) Właśnie z tego powodu większość certyfikatów technicznych jest w najlepszym razie modna Twoje CV dla przesiewaczy HR.
jhocking
33

Czy wyniki testu technicznego wpłyną na decyzję o zatrudnieniu? Czy siła rozmowy z nim i rekomendacje zaufanych kolegów są wystarczająco silne, aby jakiekolwiek wyniki testu technicznego były nieistotne?

Jeśli test nie zrobi różnicy, pomiń go.

Przyjemny
źródło
2
Jeśli test nie zrobi różnicy, pomiń go. - Myślałem tak samo. Jest jednak jeszcze jedna zmienna - HR, jeśli zdecydowanie wymaga tego testu i nie zajmuje dużo czasu, to polecam to zrobić, ponieważ nie jest obwiniony przez HR za słabe testy lub nie wspiera reguł / zasad firmy.
alebb
1
@alexb Jeśli HR naprawdę wymaga testu, samo pytanie jest dyskusyjne i należy go podać. Fakt, że pytanie zostało zadane, musimy założyć, że istnieje możliwość nie przystąpienia do testu.
Gratzy
1
@Gratzy Z pewnością się zgodził. Przez „HR zdecydowanie wymaga” miałem na myśli, że HR wymaga testu, ale nadal można go pominąć (jeśli HR może być elastyczny), ale może to być ryzykowne dla menedżera w przypadku zatrudniania inżyniera bez pewnych potrzebnych umiejętności, ponieważ menedżer w takich Sprawa może być obwiniona za nieprzyjmowanie testu. Po prostu chciałem powiedzieć.
alexb
Mogę dodatkowo powiedzieć: jeśli test nie zajmuje dużo czasu, polecam go wziąć, to powinno utrudnić + pewne przydatne informacje mogą zostać odzyskane.
alexb
1
@alexb Nie zgadzam się z tobą. Więcej informacji jest lepszych niż mniej, eliminacja ryzyka jest lepsza niż ryzyko, jednak plakat wyraźnie ma krótki okres czasu i chce podjąć decyzję w oparciu o ograniczone informacje, które posiada, dlatego też podjęcie testu nie doda zbyt wiele to nie jest tu bardzo przydatne. Gdybyśmy mieli nieograniczoną ilość informacji, decyzje byłyby łatwe. Możliwość podejmowania dobrych decyzji na podstawie ograniczonej ilości informacji jest cenna.
Gratzy
6

I nie patrz mocny argument, aby przejść test. Dlatego powinieneś to zatrzymać .

Jeśli wierzysz, że kandydat nie będzie chciał się poddać testowi, to samo w sobie mówi.

Jeśli przeprowadzenie testu zajmie tak dużo czasu i sprawdzisz, czy oznacza to, że decyzja o zatrudnieniu jest opóźniona, prawdopodobnie będziesz musiał przejrzeć sam test.

I odwrotnie, jeśli planujesz zatrudnić osobę bez względu na wynik, to idź bez niej, ale prawdopodobnie powinieneś ponownie zapoznać się z polityką testowania i uczynić ją wyraźnie opcjonalną.

sdg
źródło
Dobra uwaga, że ​​test (a nie wynik) jest problemem. Zdecydowanie upewnij się, że test jest odpowiedni.
ChrisF
4

Czy test techniczny jest ogólnie przydatny czy BS? Czy chcesz go pominąć, ponieważ chcesz, aby został zatrudniony szybciej, bo boisz się uzyskać blokadę drogi do pożądanego zatrudnienia, czy boisz się, że może go to urazić?

Zasadniczo lubię tworzyć reguły. Ponieważ jeśli zaczniesz robić wyjątki dla jednej osoby, powinieneś zacząć robić wyjątki coraz bardziej, aż do poparzenia i dowiedzieć się, dlaczego reguła istnieje. I zaufaj mi, zły zatrudnienie to naprawdę bolesny błąd. Ale jest to prawdą tylko wtedy, gdy reguła jest przydatna. To, czy ta reguła jest przydatna, zależy od testu technicznego.

Po drugie, bez względu na to, jaką presję odczuwasz przy zatrudnianiu, nie pozwól, aby zmusiło cię to do podjęcia szybkiej decyzji. Pośpiech zmusza nas do powiedzenia „tak”, kiedy nie powinniśmy, ignorowania znaków ostrzegawczych itp. W rzeczywistości im większa presja, tym więcej trzeba naciskać na tę presję, aby mieć pewność, że podejmiesz właściwą decyzję.

Po trzecie, jeśli masz dokuczliwy głos mówiący: „Obawiam się, że pomimo wszystko innego, on może nie przejść testu”, a następnie wysłuchaj tego głosu - nie pomiń testu. To może nie być odpowiedni wynajem.

I na koniec, jeśli kandydat jest dobry, nie tylko nie będzie obrażony koniecznością poddania się testowi technicznemu, ale prawdopodobnie uzna to za dobry znak dla twojej organizacji. Jest to pozycja 11 w szeroko cytowanym teście Joela . W końcu nie podobało im się praca z programistami, którzy nie przeszliby testu technicznego i prawdopodobnie nie chcą powtarzać tego doświadczenia.

Z tych wszystkich powodów powinieneś poddać się testowi, jeśli (a jest to ważne, jeśli) test nie jest oczywistym kawałkiem BS, który należy zastąpić przydatnym testem technicznym.

btilly
źródło
Głównie BS, w większości bez znaczenia dla pracy. HR zadaje pytania w języku C #, ale w większości jesteśmy domem Java / Unix (nie śmiej się - kupili testy od konsultanta ds. Rekrutacji). Jak skomentowałem powyżej - podczas wywiadu nie był to „prawdziwy kod”, ale pseudo-kod i niektóre szkice UML.
Daniel Voina
1
@Daniel Voina - Czy ta osoba będzie zajmować się programowaniem lub architekturą? W przypadku pracy z kodem osoba musi napisać kod podczas rozmowy kwalifikacyjnej. Poważnie. Jeśli kandydat się na to nie zgadza, musisz o tym wiedzieć przed zatrudnieniem.
btilly
Obie. Oczekuję, że się rozwinie. Oczekuję, że przyjdzie z rozwiązaniami na poziomie projektowania / architektury, a także je koduje. Myślę, że 2. miejsce jest naturalnie implikowane przez SCJP + poprzednie doświadczenie + rekomendacje
Daniel Voina
@Daniel Voina - Więc zdecydowanie musisz to przetestować. Niektórzy bardzo doświadczeni, poza tym bardzo dobrzy kandydaci rozwijają postawę, że kodowanie jest jakoś pod nimi. Mogą być świetne w roli czystej architektury, jeśli rola czystej architektury ma dla ciebie sens. Ale jeśli zatrudnisz jednego z nich, a następnie poprosisz go o kod, nie będziesz mieć końca urazy i problemów. Dlatego musisz tego poszukać w trakcie rozmowy kwalifikacyjnej.
btilly
4

Byliśmy ostatnio w tej samej sytuacji. Pominęliśmy głębokie techniczne, ponieważ początkowo wydawało się, że przeczytał wszystkie właściwe książki i pracował nad wszystkimi odpowiednimi rodzajami projektów. Wydawał się naprawdę dobry.

Potem, po kilku tygodniach, stało się jasne, że nie był w stanie kodować na poziomie, na którym powiedział jego wywiad. A jego osobowość nie pasowała do zespołu. Pozbycie się go i posprzątanie tego, co zrobił, było bałaganem.

Wykonaj czynności techniczne przed zatrudnieniem kogokolwiek.


źródło
3

Przechowywać test ze względu na uczciwość. Jeśli inni nowozatrudnieni dowiedzą się później, że musieli napisać test, ale ten facet tego nie zrobił, mogłoby to wywołać poczucie urazy.

Test należy zastosować do wszystkich lub do nikogo. Jeśli chcesz zastosować go selektywnie, upewnij się, że istnieje jasna i pisemna polityka wyjaśniająca, kiedy można go odstąpić.

FrustratedWithFormsDesigner
źródło
1

Wartości testów technicznych są zróżnicowane i są w dużej mierze zależne od tego, jak dobrze testy są dopasowane do roli, w której zatrudniony jest starszy programista. Mam na myśli, czy dałbyś listę pytań na temat inżynierii systemów wbudowanych programistom Oracle (to zły przykład na potwierdzenie tego).

Nawet jeśli starszy programista uzyska słabe wyniki w teście technicznym, czy przeszkodą byłoby dla ciebie zatrudnienie kandydata?

Jak wspomniałeś, że masz presję czasu, nie spiesz się z tego powodu. Gorzej, jeśli starszy programista okaże się kimś, kto nie spełnia swoich obowiązków i skończy z opóźnieniem w realizacji projektu.

tehnyit
źródło
1

Obróć to.

Jeśli jest to stały pracownik wyższego szczebla, który jest wysoce rekomendowany przez osoby, którym ufasz, może on / ona znaleźć się w przyszłych zespołach przeprowadzających rozmowy kwalifikacyjne. Zapytaj tego potencjalnego starszego programistę o ich ulubione pytania testowe podczas wywiadu technicznego oraz o to, jak mogą ocenić mocne i słabe strony różnych odpowiedzi. Może wymyśl jakieś nowe złe odpowiedzi, aby je przetestować. Możesz nawet wiele się nauczyć z tego, jak wykorzystujesz swój czas (lub możesz znaleźć coś, co jest czerwoną flagą).

Następnie zaznacz niektóre odpowiedzi na własne pytania jako „test techniczny zakończony”.

hotpaw2
źródło
1

Pomyśl o tym w ten sposób - jaka jest różnica między zatrudnieniem kogoś doskonałego nieco później niż chcesz, a zatrudnieniem kogoś potencjalnie okropnego w tej chwili?

Jak oceniasz także, czy jesteś w stanie wykonać pracę, którą test został zaprojektowany do oceny?

Pracuję dla firmy, która wymaga około 99% kandydatów do zdania testu programowego. 1%, którzy nie muszą przejść, dzieli się na dwie kategorie. Pierwsza kategoria to typy „rockstar”, które aktywnie rekrutowaliśmy od samego początku. Drugą i prawdopodobnie bardziej istotną kategorią są osoby, dla których proces został uchylony przez kadrę kierowniczą, która ma bardzo dobre doświadczenie w rekrutacji i jest zdolna do wykonywania pracy, dla której zatrudniają.

Osobiście uważam, że jest to dobra polityka i polecam ją w twojej sytuacji.

Ben Burns
źródło
1

I tak dałbym test. Może być zalecany z wielu powodów (niektóre z nich mogą nie być dla ciebie tak korzystne ...). Jedną z zalet wywiadu technicznego jest rozpoczęcie procesu wiązania z innymi członkami zespołu. Nie lekceważ potrzeby zespołu, aby zaangażować się w proces rekrutacji.

Al Biglan
źródło
1

Biorąc pod uwagę ograniczenia HR, myślę, że pobrałbym kopię cyber-dojo , zainstalowałem ją na lokalnym serwerze, umieściłem twojego kandydata przed przeglądarką internetową, która może uzyskać dostęp tylko do tego serwera i poprosić go o wypełnienie kilku wybranych przez ciebie kata w wybranym przez siebie języku (najlepiej w innym języku na kata).

Następnie spójrz na sekwencję sygnalizacji świetlnej. Jeśli są dobrym programistą TDD , powinieneś uzyskać ładną, powtarzającą się progresję czerwono-zieloną.

Jeśli chcesz mieć zabawę z cyber-dojo, autor ma ładny wersji online tutaj .

Mark Booth
źródło
hmmm ... niezłe narzędzie. Rozważałem Codility codility.com, ale ten jest bezpłatny. Dzięki!
Daniel Voina
0

Kolejne pytanie - ile masz zaufania do swojego działu HR.

Być może piję tu za dużo psychodelicznego KoolAid, ale często byłem mile zaskoczony, gdy dowiedziałem się, że mój dział HR miał dobry plan, wdrażając dany środek ochronny przy zatrudnianiu. Na przykład wydaje się, że to prawda, że ​​twój starszy facet będzie potrzebny do Oracle, a nie do C #, więc test C # wydaje się nieistotny. Ale jeśli twój dział HR jest bardzo wrażliwy na to, jak trudno może być zwolnić kogoś, gdy nie może on trafić do celu w kilku różnych projektach, wtedy twoja krótkoterminowa potrzeba kogoś może zostać przełamana przez długoterminową potrzebę upewnienia się, że każdy programista może spełnić pewne minimalne kompetencje w powszechnie używanym języku programowania.

Wszystko to ma związek z obecną metodologią zatrudniania, przepisami obowiązującymi w firmie oraz zapotrzebowaniem na umiejętności techniczne. W niektórych firmach konfiguracja takich rzeczy jak okres próbny ułatwia wybranie się na próbę z kimś, a następnie zwolnienie go, jeśli nie uda się to w ciągu pierwszych 3 miesięcy. W innych firmach, gdy tylko ktoś wejdzie do drzwi jako stały pracownik, podlegają one masowym, sprawiedliwym traktowaniom, co oznacza, że ​​musisz je zatrzymać i ponownie przeszkolić przez długi czas, zanim będziesz mógł pozbyć się kogoś, kto nie mierzy w górę.

Sprawdziłbym Twoją firmę i sprawdziłbym, czy istnieje jakiś powód do staranności, nawet jeśli ten facet nie musi demonstrować tych umiejętności w krótkim okresie. Długookresowe konsekwencje - szczególnie w przypadku wysokości wynagrodzenia starszego inżyniera - mogą być ogromne.

bethlakshmi
źródło
Szczerze? Niewiele. Wydają się być oddzielone od technologii i być może nieumyślnie nie podążają za trendami lokalnego rynku IT.
Daniel Voina
@Daniel Voina - Czy próbowałeś wcześniej kogoś zwolnić?
bethlakshmi
Nawet mi się udało.
Daniel Voina
@Daniel Voina - świetnie ... ale widziałem sytuacje, w których wyrzucenie kogoś zajęło 6 miesięcy do 1,5 roku. Biorąc pod uwagę ból i cierpienie związane nie tylko z osobą i osobami bezpośrednio nimi zarządzającymi, ale z całym zespołem, powiedziałbym, że istnieje uzasadniony powód, aby skłonić osobę do przeskakiwania przez pozornie niepotrzebne obręcze, szczególnie jeśli jest to część CYA mechanizm.
bethlakshmi
0

Wielokrotnie powtarzałeś, że zbliżają się terminy - zakładam, że wiesz o prawie Brook'a.

Powiedziawszy to, powinieneś zobaczyć, jakie opóźnienie może spowodować faktyczny wywiad. Jeśli jest on bardzo kompetentnym kandydatem, który według ciebie może wskoczyć i naprawić problemy z terminem w biegu, nie powinien mieć problemów z spędzeniem kilku godzin na rozmowie kwalifikacyjnej / programowaniu par. Innym czynnikiem, który należy wziąć pod uwagę, są twoi obecni rówieśnicy. Nie chcesz sprawiać wrażenia dla większego zespołu, że ludzie wchodzą / wychodzą zgodnie z twoimi zachciankami - ponieważ zwykle odzwierciedla to źle, jeśli facet oszukuje. Jest to jeden z głównych powodów, dla których HR nalega na wiele wywiadów, aby jedna osoba nie miała wpływu na sukces.

Powodzenia w zatrudnianiu i projekcie!

Subu Sankara Subramanian
źródło
Terminy nadchodzą za około 5 miesięcy. Nie oczekuję od niego supermocy, po prostu będę w stanie obsłużyć nowe funkcje, zrozumieć obecną bazę kodów, zaznajomić się z niektórymi technologiami i być w stanie poprawić błędy, jeśli to konieczne. Terminy są moim problemem i chcę zatrudnić, aby utrzymać ich jak najwięcej bez nadmiernego konsumowania zespołu. Faceci z mojego zespołu znają go lepiej niż ja - pracowali razem w innej firmie.
Daniel Voina
Oznacza to, że zakładasz, że będzie w stanie rzucić się na ziemię. Dlaczego nie zrobisz 1-godzinnej sesji programowania pary i nie podejmiesz decyzji?
Subu Sankara Subramanian
Miałem na myśli dać mu problem i uzyskać rozwiązanie w ciągu kilku dni (rozwiązanie = kod + testy). Programowanie w parach byłoby również doskonałe. Problem polega na tym, że jeśli nie zatrudnię, mogę stracić szansę - ten facet jest także prześladowany przez innych. Niepokoi mnie to, że nie mogę go dłużej trzymać w mieście (obecnie mieszka gdzie indziej), dopóki HR nie zdecyduje, że test rekrutacyjny jest w porządku. Myślę, że mimo wszystko pójdę za tobą.
Daniel Voina
O ile nie próbujesz zatrudnić osoby na poziomie Richarda Stallmana, jestem pewien, że istnieją inni równorzędni programiści :). Ale znowu musimy od czasu do czasu podążać za jelitami - Jak już wcześniej powiedziałem, powodzenia :). Zaktualizuj ten post, aby dowiedzieć się, jak to się później potoczyło!
Subu Sankara Subramanian
0

Zwykle w ramach umowy masz sześć miesięcy na okres próbny na początku zatrudnienia. Jeśli kandydat jest całkowicie niekompetentny, będzie to dość oczywiste w ciągu pierwszych kilku miesięcy, a przynajmniej masz możliwość rozwiązania go po okresie próbnym. Chciałbym również zauważyć, że nikt nie może wiedzieć wszystkiego, a ludzie często potrzebują czasu, aby urosnąć do tej roli i rzeczywiście może zwiększać szczebel kariery, więc trochę czasu na osiedlenie się przed podjęciem jakiegokolwiek osądu jest zawsze mądre (z obu imprezy!)

Matt Wilko
źródło
0

Szczerze mówiąc (i powtórzę moją odpowiedź na inne pytanie), sam bałbym się zatrudniania przez sklep, który nie udzielił mi wywiadu technicznego. Wątpiłbym w ich zaangażowanie w doskonałość techniczną i nie podoba mi się fakt, że nie miałbym okazji porozmawiać z zespołem przed podjęciem decyzji.

Spraw, aby wywiad techniczny był również okazją dla członków zespołu do poznania faceta i dla niego. Ponieważ facet jest starszy, bardzo ważne jest, abyś mógł komunikować się z nim wyraźnie w kwestiach technicznych. Jak zamierzasz to przetestować bez pogłębionej rozmowy technicznej?

Krótko mówiąc: jeśli jest wystarczająco ważny, aby zrezygnować ze standardowego wywiadu technicznego, jest wystarczająco ważny, aby przeprowadzić z nim specjalny wywiad techniczny.

quant_dev
źródło