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ć.
Odpowiedzi:
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:
To bezpłatne doradztwo . Nawet jeśli nie zatrudnisz faceta, może on zaproponować dobre rozwiązanie twoich problemów .
Jeśli przychodzi z ciekawymi rozwiązaniami , jest on rozwiązaniem problemu . Rodzaj faceta, którego chcesz zatrudnić.
źródło
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.
źródło
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.
źródło
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.
źródło
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.
źródło
Musiałem to zrobić kilka razy. Nauczyłem się robić to krok po kroku.
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.
źródło
Jeśli chodzi o faktyczny proces rozmowy kwalifikacyjnej, zasadniczo traktujesz ich tak samo, jak każdą inną zatrudnioną osobę. Powinien istnieć podobny proces zatrudniania:
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).
źródło
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
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ę.
źródło
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ć
źródło
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ś.
źródło
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.
źródło