Jak przeprowadzasz wywiad z kimś z większym doświadczeniem niż ty? [Zamknięte]

81

Firma, w której pracuję, chce zatrudnić starszego programistę z większym doświadczeniem niż ja i oczekują, że przeprowadzę część techniczną wywiadu. Programuję dopiero od kilku lat i nie jestem pewien, czy mam wiedzę potrzebną do oceny umiejętności kodowania kogoś, kto ma większe zrozumienie / doświadczenie niż ja.

Czy ktoś może zalecić zadawanie pytań technicznych podczas rozmowy kwalifikacyjnej, które są dobrym sposobem oceny umiejętności programowania na wyższym poziomie, ale nadal mogą być dla mnie zrozumiałe?

Powiedziałbym, że przekroczyłem jr. poziom programisty, ale nigdzie blisko seniora. Większość tego, co zrobiłem, to zbudowanie małych aplikacji (internetowych i stacjonarnych), niektóre z nich są dość skomplikowane, ale wszystkie mają być używane przez nie więcej niż garstkę użytkowników. Czuję, że dobrze rozumiem większość koncepcji programistycznych i jestem w stanie uczyć się / uczyć się praktycznie wszystkiego, jednak brakuje mi doświadczenia. Jak mój szef lubi mi mówić: „Nie wiesz, czego nie wiesz”.

W szczególności rzeczą, którą chcielibyśmy, aby osoba, z którą wynajmujemy, ma doświadczenie (której nie mam) to: programowanie wielowarstwowe, środowisko dla wielu użytkowników, programowanie na dużą skalę, dwustronne przesyłanie wiadomości, wspólne sesje, oraz Multi-Threading / BackgroundWorkers.

AKTUALIZACJA:

W odpowiedzi na poniższy komentarz Thora zatrudniliśmy kogoś kilka miesięcy temu i myślę, że świetnie się sprawdził. Dużo się uczę, nie tylko na temat kodowania, ale także na temat wzorców projektowych, architektury oprogramowania, dokumentacji i tego, jak inne większe zespoły programistyczne wykonują zadania. Nie zawsze łatwo jest przyjść i wskazać lepsze sposoby robienia rzeczy, które zrobiłeś, ale jeśli potrafisz przełknąć swoją dumę i chcesz wypróbować nowe rzeczy, możesz się wiele nauczyć.

Proces wywiadu poszedł lepiej niż się spodziewałem. Zacząłem zadawać pytania na temat rzeczy, które znałem, a następnie zadałem pytania na temat niektórych rzeczy, z którymi się zmagałem. Ilekroć rozmówca mówił coś, czego nie rozumiałem, prosiłem go, aby mi to wyjaśnił, a następnie zapisał, aby móc to później sprawdzić. Ogólnie rzecz biorąc, czułem, że jestem w stanie całkiem dobrze zrozumieć poziom umiejętności, inteligencję i to, z czym chcieliby pracować.

Rachel
źródło
1
@CodexArcanum - To nie jest całkiem rzadkie, niektóre większe firmy będą miały ewentualnych podwładnych kandydata na wyższym poziomie w ramach panelu wywiadu.
rjzii
1
To mała firma z małym personelem IT. Zatrudniamy kogoś na rok lub dwa, aby pomóc w opracowaniu oprogramowania zastępującego nasze obecne, niekoniecznie jako stały pracownik. Wątpię, że mnie zastąpią, ponieważ dość dobrze znam ich działalność i podobają im się moje prace, ale nawet jeśli tak, jestem pewien, że znajdę inną pracę. Ponadto są gotowi zapłacić nowemu facetowi trochę więcej niż ja i wątpią, czy zastąpiliby moją pensję jego / jej.
Rachel
2
Poproś ich o wyjaśnienie czegoś, co masz problemy ze zrozumieniem, w sposób, który możesz to zrozumieć. Tylko nie mów im, że masz problemy ze zrozumieniem. :)
dietbuddha,
5
Po obu stronach może pojawić się dyskomfort. Użyj go na swoją korzyść. Świetnym zatrudnieniem dla tej roli będzie ktoś, kto może cię mentorować, szanując cię; kto jest otwarty na fakt, że możesz wiedzieć więcej o sytuacji, nawet jeśli ogólnie masz mniej doświadczenia; z którymi możesz budować dobre relacje. Jeśli odczuwasz złe wibracje - protekcjonalne, pochlebne, pozbawione szacunku, „tak naprawdę nie masz znaczenia” - prawdopodobnie nie chcesz współpracować z tą osobą.
poolie
1
@Thor, dodałem aktualizację
Rachel

Odpowiedzi:

85

Nie możesz

Zamiast tego sugeruję, abyś przyszedł do wywiadu z listą problemów, które masz dzisiaj i zapytałby go, jak je rozwiąże .

Jest to bardzo interesująca metoda z następujących dwóch powodów:

  1. To bezpłatne doradztwo . Nawet jeśli nie zatrudnisz faceta, może on zaproponować dobre rozwiązanie twoich problemów .

  2. Jeśli przychodzi z ciekawymi rozwiązaniami , jest on rozwiązaniem problemu . Rodzaj faceta, którego chcesz zatrudnić.


źródło
27
Wykorzystałem wszystkie moje głosy, ale -1 za spodziewane bezpłatne konsultacje i +1 za wygenerowanie listy problemów.
Josh K
16
Możesz przedstawić interesujące problemy, które już rozwiązałeś, i zobaczyć, jak jego rozwiązanie różni się od twojego. Oczywiście może nie być lepiej, ponieważ nie miał tyle czasu, aby się nad tym zastanowić, ale samo zobaczenie, jak sobie poradzi, wiele powie.
mbillard
27
Doświadczona osoba zobaczy „bezpłatną konsultację” milę, a to zaszkodzi negocjacjom. Istnieje kilka firm w branży, które mają reputację zachęcania kandydatów do wykonywania tygodniowych projektów w ramach procesu rozmowy kwalifikacyjnej, a następnie ich nie zatrudniają, ale często wdrażają swoje sugestie.
JBRWilkinson,
6
@JBRWilkinson - nie sądzę, żeby ktokolwiek sugerował tygodniowe projekty, myślę, że sugerują pytania do wywiadu w oparciu o problemy, z którymi obecnie boryka się zespół. W końcu jest to całkowicie rozsądne, są to rzeczy, do których, gdyby odgrywali rolę w czasie wywiadu, mogliby się przyczynić.
Jon Hopkins,
3
@JBRWilkinson Doświadczona osoba zobaczy „bezpłatną konsultację” o milę, a to zaszkodzi negocjacjom. Zdecydowanie się zgadzam. Program bezpłatnych konsultacji jest okropny i niestety nie jest niespotykany.
Sean Patrick Floyd,
62

Wykorzystaj swój wiek jako zaletę.

Przeprowadziłem wywiad z wieloma osobami starszymi ode mnie. I wybrać technologię, że nie znasz dość dobrze i powiedzieć im, że słyszałem o technologii X, ale nigdy go nie użyłem. Proszę kandydata, aby przedstawił mi przegląd technologii i tego, jak wykorzystali ją w projekcie.

Działa to zaskakująco dobrze. Przede wszystkim, jeśli kandydat używa swojej Technologii X jako modnego hasła w swoim życiorysie, wówczas ich wyjaśnienie będzie do niczego / nie będzie miało sensu. Ponadto, jeśli nie mogą dać ci dobrego, konkretnego przykładu tego, jak wykorzystali tę technologię w swoich poprzednich projektach, masz dużą czerwoną flagę.

Przeprowadziłem wywiad z kimś, kto miał doświadczenie java Spring. W poprzedniej pracy korzystałem z Spring, a jedną z głównych cech wiosny jest Dependency Injection. Powiedziałem kandydatowi, z którym przeprowadziłem wywiad, że słyszałem o wiośnie i nigdy jej nie użyłem. Zaczął bełkotać bez końca, ale nie mógł mi powiedzieć, gdzie używał Wiosennego AOP i nie mógł mi wyjaśnić Wstrzyknięcia Zależności, nawet po tym, jak wyraźnie zapytałem po zobaczeniu tych rzeczy w jego życiorysie. Po prostu powiedział mi, że są naprawdę fajni, i tam jest tak wiele do nauczenia się, itp. Itd. Naprawdę okazuje się, że nie znał Jacka ... i tylko ja to odkryłem młodszy członek zespołu deweloperów.

Wykorzystaj swój wiek jako zaletę! Wejdź, bądź pewny siebie i zadaj kilka pytań na temat dobrze znanej technologii.

LGriffel
źródło
2
To interesujące podejście. Zasadniczo postrzegam mój wiek / brak doświadczenia jako wadę, dlatego interesujące jest zobaczyć, jak można go odwrócić na swoją korzyść
Rachel
16
Oczekuje się, że podczas wywiadu przeprowadzisz quiz; nie musisz kłamać i mówić, że nigdy nie korzystałeś z technologii, aby zadawać im te same pytania. np. „Widzę, że znasz $ technology_x. Czy mógłbyś podać mi przegląd tego, dlaczego i gdzie miałbym go użyć oraz przykład, w jaki sposób wykorzystałeś go w projekcie?”
user21007,
1
Tak, bądźmy szczerzy. Nie mów, że nigdy wcześniej czegoś nie używałeś. Po prostu zadaj pytanie. Myślę, że to, co LGriffel próbuje powiedzieć, to zaskoczyć ich. Ustaw się pod nimi, aby stali się zbyt pewni siebie. Jeśli naprawdę czegoś nie wiedzą, pokaże to szybko.
d -_- b
Wydaje się, że idzie to w parze z jednym z cytatów Einsteina: „Jeśli nie potrafisz tego wyjaśnić po prostu, nie rozumiesz go wystarczająco dobrze”. Wygląda na to, że kandydat byłby zmuszony do mówienia rzeczy w sposób prosty i abstrakcyjny oraz cierpliwości, aby coś ci wyjaśnić. Wszystko to są umiejętności, które naprawdę chcesz mieć starszego programisty.
c_maker
31

Pamiętaj, że tylko dlatego, że mają większe doświadczenie niż Ty, mogą nie być lepszym programistą niż Ty. Wyrażenie „Jeden rok doświadczenia powtarzane n razy”. pojawia się, ponieważ widzisz, że dzieje się tak w branży. Tak więc Twoim pierwszym zadaniem podczas rozmowy powinno być ustalenie, czy rzeczywiście mają odpowiednie doświadczenie i mogą zaprezentować się jako ktoś, kto wie, co robią. Podobnie, tylko dlatego, że ktoś ma n- letnie doświadczenie w branży, nie oznacza to, że ma mnóstwo doświadczenia w danym języku, bibliotece lub frameworku, więc może od czasu do czasu przychodzić do ciebie, zadając pytania uczyć się czegoś.

Następnie pamiętaj, że dobry starszy programista to ktoś, do kogo powinieneś się zwrócić i zapytać o coś, z czym masz problemy. To dobry moment, aby zadać im kilka pytań projektowych dotyczących problemów i zobaczyć, w jaki sposób reagują i jakie są ich uzasadnienia w ich wyjaśnieniach. Czy widzieli coś podobnego wcześniej gdzie indziej, czy zgadują na podstawie doświadczenia, czy przeczytali artykuł online lub w czasopiśmie?

Wreszcie, inną sprawą do rozważenia jest to, jak podchodzą do kodu debugującego. Z własnego doświadczenia wynika, że ​​niezależnie od języka pewne techniki debugowania są zwykle stosowane uniwersalnie. Biorąc pod uwagę kandydata jako przykład jednego z bardziej ezoterycznych błędów, jakie napotkałeś, i poproś go, aby przeprowadził cię przez proces podejścia do błędu. Czy mają jakiś wgląd w problem, który nie jest od razu oczywisty?

Podsumowując, rozmowa kwalifikacyjna z imponującym wywiadem może być zastraszająca, ale jest coś, co musisz objąć, niezależnie od tego, jaki to będzie poziom (tj. Czy faktycznie wiedzą, co robią), a po zakończeniu możesz zacząć sondowanie aby zobaczyć, jak wykorzystują swoje doświadczenie. To, w jaki sposób kandydaci wykorzystują swoje wcześniejsze doświadczenie zawodowe, sprawi, że jeden z kandydatów będzie się wyróżniał bardziej niż inny.

rjzii
źródło
51
To. „N-letnie doświadczenie” tylko sporadycznie oznacza „Naprawdę dobry programista”. Największy idiota w moim obecnym zespole (nawiasem mówiąc, nie byłem jej przy okazji, była tam wcześniej) regularnie chwali się swoim 20-letnim doświadczeniem, a następnie mówi: „Kontrola źródła zawsze boli programistów”. Nie oznacza to, że nie ma starych, słonych hakerów, z którymi chciałbym pracować, ale jestem pod wrażeniem ich liczby lat niż ich wiedzy i umiejętności rozumowania.
Inaimathi,
@Inaimathi zasługuje na 1000 głosów pozytywnych :-)
Sean Patrick Floyd
24

Bardzo podoba mi się odpowiedź Użyj swojego wieku jako przewagi i sugerowałbym coś podobnego:

Wykorzystaj swój niższy poziom doświadczenia jako zaletę

Ta osoba prawdopodobnie będzie twoim szefem lub mentorem, więc zadawaj pytania w sposób, który pozwoli ci dowiedzieć się, czy ta osoba może cię mentorować.

Zadawaj skomplikowane pytania, które mogą być znacznie łatwiejsze lub które zawierają zbyt skomplikowane problemy. Jeśli jest on dobry, nie tylko rozwiąże próbę odpowiedzi na pytanie / rozwiąże problem, ale faktycznie dojdzie do prawdziwego problemu, pokazując wady w pytaniu. Jeśli uda mu się to zrobić w uprzejmy sposób, nie zastraszając cię, jest opiekunem.

Sean Patrick Floyd
źródło
1
+1 (głosy człowieka!). Nie szukasz magika u starszego programisty, szukasz kogoś, kogo możesz mentorować i pomagać programistom o mniejszej wiedzy. Jeśli nie są dobrzy w przekazywaniu wiedzy, nie będą dobrzy w pracy.
Josh K
8

Naprawdę istotna rzeczą jest, aby upewnić się, że jest odpowiedni rodzaj doświadczonego programistę, czego potrzebujesz.

W miarę postępów kariery zawodowej ludzie podążają w różnych kierunkach, jeśli chodzi o to, co robią. Być może przeprowadzasz wywiady z osobami, które są ekspertami w zarządzaniu dużymi zespołami programistów lub pracują ze skomplikowanym, starszym kodem i są dość błyskotliwe w tym, co robią, bez tego, że są osobami, które są odpowiednie dla twojej roli. Spróbuj więc z wyprzedzeniem dowiedzieć się , czego dokładnie szukasz, i pomyśl o pytaniach, które odróżnią programistę Twojej pracy od innych osób.

glenatron
źródło
7

Musiałem to zrobić kilka razy. Nauczyłem się robić to krok po kroku.

  1. Zacznij od tych samych pytań, które zadaję absolwentom szkół wyższych. Zrobiłem to, ponieważ stanowisko, w którym przeprowadzałem wywiad techniczny, było stanowiskiem programistycznym, w którym spodziewaliśmy się, że programista będzie dobrze poinformowany w kodzie, i chciałem upewnić się, że kandydaci mogą programować. Z jednym wyjątkiem żaden kandydat nie mógł - byli gorsi niż którykolwiek z absolwentów szkół wyższych. Wszyscy stanowczo zbyt długo zajmowali stanowiska kierownicze.
  2. Dla kandydata, który zdał podstawowy test kompetencji kodowania, miałem kilka bardziej ogólnych pytań „jak poradzisz sobie ze scenariuszem X”. Jeśli przykładowo wykonujesz usługi internetowe w swoim projekcie, pomyśl o interesującym pytaniu dotyczącym usług internetowych i zapytaj kandydata, jak by je rozwiązał. Nie poleciłbym, aby było to coś, nad czym obecnie pracujesz bezpośrednio, głównie ze względu na kwestię własności intelektualnej i danych zastrzeżonych firmy. Nie rozdawaj tego!
  3. Poświęć czas na pytanie kandydata o rzeczy w jego życiorysie. To jest ważne. Możesz dowiedzieć się o jego najlepszych i najgorszych doświadczeniach w zespole, doświadczeniach jako przełożonego i tak dalej. Postaraj się poznać styl pracy danej osoby, aby sprawdzić, czy pasuje ona do Twojego zespołu.

Moim największym problemem podczas przeprowadzania wywiadów ze starszymi kandydatami było to, że często denerwowali się na rozmowę kwalifikacyjną przez młodszą osobę, szczególnie tych, którzy nie mogli poradzić sobie z podstawowymi testami kodowania. Staraj się nie zagrażać umiejętnościami, które wykażesz podczas rozmowy kwalifikacyjnej - skup się na nich, nawet jeśli nie potrafią dobrze odpowiedzieć na twoje pytania. Spróbuj przekreślić wywiad na pytania, na które mogą odpowiedzieć, jeśli nie zdadzą się na podstawach.

justkt
źródło
To właściwie jedna z moich obaw ... jak przesłuchanie przez kogoś, oczywiście, jego młodszego pokolenia wpłynie na rozmowę. Jestem młody, więc nie ma mowy, żebym mógł udawać, że mam dużo doświadczenia
Rachel
1
@Rachel - niektórzy z moich rozmówców pracowali w branży jeszcze przed moim urodzeniem. Zwykle najlepszym sposobem na uspokojenie nerwowości było przejście do kroku 3 i zapewnienie kandydatowi komfortu w mówieniu o swoich mocnych stronach.
justkt
4
@Rachel, w jaki sposób przesłuchanie przez kogoś, oczywiście, jego młodszy wpływ na rozmowę, jeśli nie poradzi sobie z tym, nie są dobre
Sean Patrick Floyd
3

Jeśli chodzi o faktyczny proces rozmowy kwalifikacyjnej, zasadniczo traktujesz ich tak samo, jak każdą inną zatrudnioną osobę. Powinien istnieć podobny proces zatrudniania:

  1. Wybór według CV lub rekomendacji agencji.
  2. Test umiejętności (łączenie rzeczy takich jak FizzBuzz , strdup () / isAlpha (), OOD itp.)
  3. Rozmowa telefoniczna (do szybkiej eliminacji, jeśli nie komunikują się dobrze)
  4. Wywiad twarzą w twarz
  5. Pisemne ćwiczenie kodowania
  6. Poznaj niektórych członków zespołu.
  7. W przypadku osoby doświadczonej, co wiąże się z wyższym ryzykiem i wyższymi kosztami, dopuszczalne są dodatkowe rundy rozmów kwalifikacyjnych, ale należy wyraźnie poinformować ich, gdzie się odbywają (tj. Jest to 1 z 3 rund rozmów).

Istnieje wiele innych postów na tej stronie, które dotyczą ogólnych tematów dyskusji, które powinieneś omówić w trakcie rozmowy kwalifikacyjnej - oto moja odpowiedź na jeden z nich .

Na każdym etapie procesu rozmowy doświadczona osoba powinna doskonale rozumieć reklamowane specjalności. Możesz je zgłębić na wiele tematów poruszanych podczas dyskusji. Zadawaj pytania do granic swojego poziomu doświadczenia / komfortu i sprawdź, czy można je kontynuować bez obaw. Jeśli chcesz wyjść z czegoś głębszego z czymś, z czym nie masz dużego doświadczenia, wyszukaj w Internecie kilka przykładowych pytań (uzyskaj ich wybór), przeczytaj i zrozum odpowiedzi przed rozmową , a następnie zadaj pytanie kandydat na którekolwiek z tych pytań. Nie oczekuj, że znają wszystkie odpowiedzi, więc masz wybór pytań.

Istnieją dwa rodzaje doświadczonych inżynierów, których możesz zatrudnić:

1) Odpowiednie doświadczenie branżowe

Jest to osoba, do której możesz zabrać swoją listę bieżących problemów i omówić, w jaki sposób mogą podejść do tych problemów. Powinieneś mierzyć poziom zrozumienia każdego z tematów związanych z domeną w swojej branży. Będąc w tej branży, możesz powiedzieć „głupią” odpowiedź od „dobrej” odpowiedzi i prawdopodobnie dostrzeżesz również „doświadczoną” odpowiedź. W przeciwieństwie do innych odpowiedzi, nie spodziewałbym się, że faktycznie rozwiążą twoje obecne problemy - tak się stanie, gdy je zatrudnisz - ale potrzebujesz ich, aby przekonali cię, że mogliby to zrobić, kiedy już zaczną.

2) Brak odpowiedniego doświadczenia branżowego

Zatem ten kandydat prawdopodobnie zmienia branżę, ale ma dobre doświadczenie w podstawowych technologiach / platformach / umiejętnościach, których potrzebujesz. Zagłębiaj się w te elementy, ale nie oczekuj, że będą w stanie znaleźć rozwiązania problemów specyficznych dla domeny, chociaż możesz po prostu porozmawiać o nich. Na przykład, jeśli twoja firma to Facebook, a osoba, z którą przeprowadzasz wywiad, lubi PHP i C ++, nierealistyczne byłoby oczekiwać, że znają wszystkie pułapki ogromnych farm serwerów (chyba, że ​​twierdzą to w swoim CV).

JBRWilkinson
źródło
2

Rzecz, której wyraźnie nie zauważyłem, to „Znasz technologię X bardzo dobrze i brzmi to bardzo interesująco. Czy możesz mi to wyjaśnić za pięć minut?”

Ponieważ najprawdopodobniej będziesz w stanie utrzymać kod, który ostatecznie wyjdzie od nowej osoby, bardzo ważne jest, aby był on w stanie wyjaśnić go innym programistom skutecznie i dobrze. Uważaj to za umiejętności komunikacyjne.

Konieczne jest dogłębne zrozumienie, aby móc poznać innych programistów na ich poziomie umiejętności oraz przekazać myśli i pomysły na ich poziomie.

Jeśli dana osoba nie może komunikować się werbalnie, najprawdopodobniej pisze kod tylko dla kompilatora, a nie dla opiekuna.


źródło
2

Zgadzam się ze Stevenem w sprawie części mentorskiej. W rzeczywistości powiedziałbym, że możesz zadać mu / jej pytania na temat jego poglądów na temat mentoringu i tego, jak on sobie radzi w różnych scenariuszach. Następnie oceń na podstawie odpowiedzi (możesz uzyskać informację zwrotną od swojego szefa, jeśli masz na to ochotę lub omówić rzeczywiste odpowiedzi w podsumowaniu).

Możesz także zadawać pytania, które zadajesz rówieśnikom, ponieważ kandydat prawdopodobnie powinien być w stanie rozwiązać lub przynajmniej zrozumieć twoją pracę.

aditya
źródło
2

zdecydowanie wybieraj jego mózg w wywiadzie na temat prawdziwych problemów i technologii, które obecnie masz lub zamierzasz wykorzystać

zakładając, że jest on kompetentnym i pomysłowym starszym programistą, zdecyduj się na zatrudnienie, czy nie, na podstawie tego, czy uważasz, że możesz się od niego uczyć i dobrze z nim współpracować

nie rozmawiasz ze swoim przyszłym szefem, rozmawiasz ze swoim przyszłym mentorem. Nie wybieraj kogoś, kto zna wszystkie odpowiedzi, ale nie może uczyć

Steven A. Lowe
źródło
2
+1 za „nie wybieraj kogoś, kto zna wszystkie odpowiedzi, ale nie może uczyć”. To dla mnie ogromny czynnik, ponieważ zawsze chcę się uczyć
Rachel
1

Weź kilka problemów, które już rozwiązałeś. Opisz mu, co zostało zrobione, aby rozwiązać problem (trzymaj to w trzeciej osobie; nie chcesz tutaj narażać swojego osobistego ego). Zapytaj go, co zrobiłby „inaczej”. Powinieneś być w stanie, na podstawie tego, co on sugeruje, dowiedzieć się, czy byłoby to lepsze czy gorsze, koncepcyjnie, niż to, co zrobiłeś.

GWLlosa
źródło
1

Serdecznie polecam lekturę książki „Inteligentne i robi się to: zwięzły przewodnik Joela Spolsky'ego po poszukiwaniu najlepszych talentów technicznych” .

Nigdy nikogo nie zatrudniałem, ale czasami, kiedy byłem rozmówcą, życzyłem paru idiotom, którzy znają tylko modne słowa i przeprowadzali ze mną wywiady, ujawnili argumentację w tej książce. Tekst jest bardzo płynny i przyjemny do czytania.

I nie, nie robię reklamy tylko dlatego, że ta strona pochodzi od autora książki. Książka jest naprawdę świetna i polecam ją każdemu, kto może zatrudniać informatyków, szczególnie tym, którzy nie rozumieją technologii - w dzisiejszych czasach bardzo często nietechniczny kierownik projektu lub szef.

sergiol
źródło