Jak mogę powiedzieć w wywiadzie, że programista jest pasjonatem programowania? [Zamknięte]


102

Podczas gdy większość pytań podczas wywiadu koncentruje się na bieżącej wiedzy kandydata lub sprawdzeniu jego umiejętności rozwiązywania problemów algorytmicznych, chciałbym zatrudnić programistę, który jest pasjonatem programowania.

Co jeśli zamiast zadawać pytania takie jak

Co wiesz o technologii „X”?

Sprawdzę wiedzę, która nie jest bezpośrednio związana z rozwiązywaniem problemów inżynierii oprogramowania, ale pokaże, jak bardzo jesteś zainteresowany IT.

Na przykład, jeśli szukam programisty Java, mogę zapytać, kto jest najbardziej wpływową osobą w świecie Java, lub pokazać podstawowy fragment kodu Scala i poprosić kandydata o interpretację kodu.

Zastanawiałem się nawet, czy nie pokazać zdjęcia Alana Turinga i pozwolić rozmówcy zgadnąć, kto jest na zdjęciu. Czy ta praktyka ma jakiś sens?


119
To, że ktoś może porzucić wpływowych programistów, nie oznacza, że ​​pasjonują się programowaniem. Uważam się za dość namiętnego programistę, ale nie mogłem powiedzieć, jak w tej chwili wygląda twarz Alana Turinga. Chociaż teraz, gdy zobaczyłem twoje pytanie, upewnię się, że rzuciłem okiem na stronę Wikipedii przed przystąpieniem do jakichkolwiek przyszłych wywiadów.
Robert Harvey

11
Zgadzam się z @Robert: Mam straszne wspomnienia, jeśli chodzi o nazwiska (i twarze). Jest sporo książek, o których mógłbym mówić od dłuższego czasu, ale mogę powiedzieć wam o autorach bardzo niewielu z nich.
Joachim Sauer

27
Podczas gdy zatrudnienie namiętnej osoby jest naprawdę wszystkim, czego pragną, musisz być ostrożnym. Interakcja z kimś, kto jest pasjonatem czegoś, zwykle prowadzi do wyższego poziomu zaangażowania. W trakcie rozmowy kwalifikacyjnej może to sprawić, że osoba bardziej wykwalifikowana i zdolna, ale mniej namiętna, wywrze bardziej korzystne wrażenie, szczególnie jeśli masz ograniczony czas i pomijasz części techniczne. Więc uważaj. Także pasja to nie wszystko, „namiętny idiota” wciąż jest idiotą, podczas gdy „bezinteresowny geniusz” wciąż jest geniuszem i wiem, który z nich wolałbym mieć.
CdMnky

37
@Robert Harvey: Zgadzam się. Namedropping służy tylko do popisów. Don Knuth powiedział mi to :-)
Jörg W Mittag,

11
@ yes123, zacząłem programować dopiero w college'u i uważam się za programisty z pasją. Jestem pewien, że jest wielu programistów z pasją, którzy zaczęli w późniejszym życiu. Nie sądzę, że istnieje jakaś korelacja między kiedy zacząłeś programowania i jak bardzo zależy Ci na temat programowania.
zzzzBov

Odpowiedzi:


229

Wszystko, co musisz zrobić, to poprosić go, aby opowiedział Ci o jednym z projektów, nad którymi pracował, które sprawiły mu największą przyjemność. Dowiesz się więcej o jego entuzjazmie w ciągu następnych 60 sekund, niż kiedykolwiek byłeś w stanie pokazać mu zdjęcia zmarłych osobistości.


34
Ponadto należy upewnić się, że „projekt, nad którym pracował” obejmuje projekty, dla których nie został zatrudniony
keppla,

6
Zgadzam się z Keppla: szczególnie pytam o projekty sparetime / Open Source. Nie wyobrażam sobie, żeby ktoś był entuzjastycznie nastawiony do czegoś i nie miał ochoty tego robić w czasie wolnym.
LennyProgrammers,

106
@ Lenny222: Uważam się za entuzjastę programisty, ale po prostu nie mam czasu na kodowanie w czasie wolnym. Mam też życie poza kodowaniem! A kiedy koduję w wolnym czasie, jestem do tego głównie zatrudniony. Ale w wolnym czasie czytam też wiele artykułów i książek i odwiedzam tę stronę nawet w soboty i niedziele.
Falcon

8
@Falcon: Zgadzam się, możesz być zapalonym programistą, ale mimo wszystko jesteś człowiekiem, masz życie, masz rodzinę, dzieci itp. ... W wolnym czasie czytam, co nowego w programowaniu (RSS, tweater, facebook itp ...) podczas zabawy z moim dzieckiem lub podczas słuchania mojej żony :), więc proff, że jestem pasjonatem: moja żona musi zrobić „coś” na PC, więc napisałem jej program, aby jej pomóc ( czasami proste broszury JS, czasem bash ...);)
Radu Maris

9
@keepla, ludzie, którzy są pasjonatami swojej pracy, często nie muszą programować w nocy. Jestem entuzjastą i pasjonatką tego, co robię, ale mam inne rzeczy do zrobienia w nocy. Bardzo ważne jest, aby ludzie mieli także inne pasje, bo inaczej wypalą się za kilka lat.
HLGEM,

71

Na przykład, jeśli szukam programisty Java, mogę zapytać, kto jest najbardziej wpływową osobą w świecie Java, lub pokazać podstawowy fragment kodu Scala i poprosić kandydata o interpretację kodu. Zastanawiałem się nawet, czy nie pokazać zdjęcia Alana Turinga i pozwolić rozmówcy zgadnąć, kto jest na zdjęciu.

To są ciekawostki i wiedza techniczna. Jeśli chcesz dowiedzieć się, czy pasjonują się programowaniem, musisz zaangażować się w ich pasję , istnieje kilka łatwych sposobów:

  • Dowiedz się, czy czytają blogi / czasopisma o programowaniu
  • Sprawdź, czy programują jako hobby
  • Sprawdź, czy są zaangażowani w jakiekolwiek grupy użytkowników lub organizacje
  • Zapytaj ich, co skłoniło ich do programowania i czy nadal jest to dla nich motywacją
  • Dowiedz się, czy mają konto StackExchange

Jeśli nie, jeśli zapalą iskrę w oczach, prawdopodobnie nie masz namiętnego programisty. Możesz uderzyć w niektórych, którzy są zbyt zajęci innymi rzeczami - ale założę się, że zobaczysz historię lub przynajmniej żałuję, że nie trafiłeś niektórych z tych punktów.


11
+1 engage their passionZwłaszcza pytając ich, co zainteresowało ich programowaniem. Wierzę, że każdy namiętny programista będzie długo mówił na ten temat.
George Marian

3
+1. Zazwyczaj podsumowuję je w pytaniu typu „jakie rzeczy wykonujesz poza pracą, aby nadążać za technologiami?” mając nadzieję usłyszeć coś o projektach open source, podcastach, uczestnictwie w SIG / grupach użytkowników itp.
rally25rs

Niedawno przeprowadziłem wywiad z facetem, który opuścił firmę, ponieważ dawali mu powtarzalną pracę, a on chciał pracować nad czymś interesującym i dynamicznym. Ale pytając „jakie rzeczy robisz poza pracą, aby nadążać za technologiami?” i „o jednym z projektów, nad którymi najbardziej się podobał”, nie miał nic wspaniałego do dodania. Ale czułem jednak pewne pasje. Wydaje mi się, że lepiej jest osądzać „czy się podda, czy będzie szukał rozwiązania”.
Rubish Gupta,

@George Marian Robię wszystkie inne wymienione rzeczy, ale jeśli zapytasz mnie, dlaczego zainteresowałem się programowaniem, moja odpowiedź byłaby raczej krótka. Dużo czasu spędzam nawet na programowaniu w domu (bez dzieci) dla zabawy! Moja odpowiedź brzmiałaby jednak: „Zawsze interesowałem się komputerami, a mój ojciec był programistą, więc naturalnie urodziłem się w tym kręgu”. Proszę nie dyskontować kogoś na podstawie odpowiedzi na to pytanie.
m4tt1mus

@mattimus Sprawiedliwy punkt. Pamiętaj, że nie jest to nauka ścisła. Po odpowiedzi takiej jak Twoja zapytałbym: dlaczego interesują Cię komputery? Co Cię interesuje? Zwracałbym również uwagę na to, w jaki sposób udzielane są odpowiedzi na pytania, a nie tylko na to, jakich słów używa się, aby na nie odpowiedzieć. To jeden z powodów, dla których podkreśliłem to wyrażenieengage their passion.
George Marian

29

( ostrzeżenie, długi post, tylko częściowo na temat )

Cóż, od wieków pytam o to samo. Około 6 lat temu starałem się, aby rekruterzy zrozumieli, o co nam chodzi (po prostu zaznaczyli pola, jak mówisz).

Wtedy pisałem:

Czy jesteś maniakiem tak jak my? (List otwarty do osób rekrutujących i kandydujących).

Nasza kultura jest dla nas bardzo ważna, nie mówię tutaj o rasie, jest oparta na tle, jak postrzegasz swoją pracę, co zamierzasz z pracy, jak podchodzisz do pracy i radzenia sobie z innymi.

Wcześniej myliłem się co do znaczenia rasy, więc wyjaśnię teraz, że to nie jest sprawa oparta na rasie, to sposób myślenia i kierowania. Współpracowaliśmy z ludźmi z wielu ras, które były świetne. Znamy również wielu, którzy są po prostu i bezużyteczni. Tak więc rasa w ogóle nie definiuje tego, czego szukamy, jest to dopasowanie „kulturowe”.

Istnieje wiele subkultur w Australii, z których większość nie pasowałaby do siebie, próbuję wyjaśnić naszą - The Geek.

  • Wiele osób potrzebuje wyraźnych instrukcji: „A> B> C> D” innym dajesz im A i trochę tła, a oni sami opracują B> C> D i E na własną rękę. Szukamy drugiej grupy.
  • Ludzie po prostu się z tobą zgodzą, ponieważ jesteś wobec nich „starszy”. Inni wyrażą swoje opinie i przedstawią swoje pomysły. Chcemy drugiego. Podejmie się tego, że jeśli decyzja zaprzeczy im, nadal będą się w to angażować.
  • Niektóre osoby nauczyły się na pamięć: robisz A, a następnie C, co daje ci X. Inni nauczyli się, jak się uczyć i myśleć. Zobacz więcej niż natychmiast i rozwiąż podstawowy problem.

Wiele z naszych prac w ciągu ostatnich 14 lat pochodziło od naszych klientów, którzy muszą oczyścić i zakończyć projekty, które się nie powiodły, głównie dlatego, że firma zatrudniła nieodpowiedniego rodzaju pracowników ... kosztuje to znacznie więcej niż tylko ich wynagrodzenie, jeśli je dostaniesz źle.

Teraz próbujemy wybrać tego rodzaju osoby, które mamy na myśli, mówiąc „lubimy nas”:

  • Dobrzy wynalazcy, świetne pomysły, okropne i kończące projekt. To mnie opisuje. Potrzebujesz zatrudnić ludzi, aby rozwiązać ten problem.
  • Fantastyczni optymalizatorzy i „zrób”, jeśli chcesz, żeby działał naprawdę dobrze, zdobądź je. Druga strona jest zwężona i zajmuje dużo czasu, aby się tam dostać. Ogólnie dobra cecha techniczna, ale zwykle nie może rozmawiać ze światem zewnętrznym.
  • Bardzo dobry i zna pracę „właściwą” i „od końca do końca”. Mogą zobaczyć projekt od początku do końca i nie umknie. „Ponieważ należy to zrobić w ten sposób”. Takie podejście mamy tutaj; klienci wiedzą o tym i płacą za to. Połącz to z „do” i są idealne.
  • Najszybsza ścieżka do natychmiastowego wyniku. Powiedz wszystkim o tym głośno, trochę ryzykuj. (Nie przejmuj się, uruchom to). Dobry na start, zły na ustalony biznes, który wymaga konsekwencji. W roli wsparcia / konserwacji jest to dobre, pod warunkiem, że inni programiści sprzątają później. Prototypowanie i sprawdzanie poprawności koncepcji jest świetne.
  • Generalnie zainteresowany. Co się kiedykolwiek dzieje… opowiedz nam o tym, co mogę zrobić, jak mogę dodać do tego swoją wartość jako wiedzę lub pot (poradzenie sobie z czymś, co według nich jest wymagane).
  • Zdalnie uczący się / pracownicy procesowi. Tam, gdzie projekt został zaplanowany do końca, a oni mają „swój kawałek” do zrobienia i to wszystko. Są dobre w bardzo dużych zespołach. Nie ma niebezpieczeństwa podjęcia „stycznych” i niespodziewanych rezultatów u 1/200 osób. Oczekują, że otrzymają listę „co robić”, a potem to zrobią i wrócą na następny kawałek. Wiele kultur (zarówno rasowych, jak i szkolnych) na całym świecie skłania się ku uczniom rote lub pracownikom w stylu Boss / Underling. Ten styl osoby jest dla nas bezużyteczny, wysyłaj go do większych korporacji.
  • Nasi ludzie są równi w zespole, oczekuje się od nich pracy w zespole, aby osiągnąć cele wyznaczone przez klienta.
  • Robisz wszystko, co jest wymagane, aby dostać się do pracy.
  • Dajesz opinie i perspektywę bez przywiązania.
  • Przemyślasz i analizujesz przypadki graniczne.

Język jest barierą w pracy z nami. Prawie mamy tutaj swój własny język, przynajmniej potrzebujesz angielskiego i trochę umiejętności technicznych w połączeniu z poczuciem humoru.

Jeśli nas nie rozumiesz, nie zrozumiesz wymagań tego, co musisz zrobić, ani tego, jak reszta z nas zajmie się wdrożeniem rozwiązania ... nie przetrwasz.

Dlaczego chcesz z nami współpracować?

  • Otrzymujesz wypłatę. W porządku, to nie to samo, co zarabiałbyś w „prawdziwym świecie”, ale dobre pieniądze.
  • Możesz brać udział w podejmowaniu decyzji. Podczas gdy dyrektorzy mają ostatnie zdanie, że chcemy usłyszeć od wszystkich, co myślą, jak i dlaczego myślą. Wszystko pomaga.
  • Możesz badać własne rzeczy. Zainteresowany maniakiem rzeczy, kodowaniem, nowymi produktami, najnowszymi opracowaniami wojennymi MS vs Linux, technikami projektowania. Wszystkie te rzeczy masz co tydzień na badanie i odkrywanie tego, czego chcesz. Musisz tylko podzielić się nim ze wszystkimi.
  • Możesz wypróbować nowe technologie. Albo poprzez badania, albo poprzez nowe projekty, chcemy wypróbować nowe rzeczy i zaprojektować nowe. Projekty są po to, aby nam to umożliwić. (pod warunkiem, że pomaga to klientowi i nie kosztuje to więcej niż projekt)
  • Nie musisz nosić garniturów. Chyba że sytuacja tego wymaga, np. Odwiedzanie klientów lub wydarzeń.
  • Chcemy, abyś dowiedział się więcej i przeprowadzi cię przez ukierunkowane szkolenia, aby poprawić to, co wiesz.
  • Zazwyczaj nie jest wymagane uruchomienie 9-5. Jeśli korzystasz z obsługi umowy 9-5, możesz to zrobić, w przeciwnym razie wykonaj zadanie i nie nadużywaj przywilejów.
  • Świetny zespół do pracy. Cóż, tak nam się wydaje, śmiejemy się z grzeczności z grzeczności i nie zadaje się ciosów w plecy. 
  • My też jesteśmy maniakami. Niektórzy z nas mają koleżanki i dzieci, ale nie dajcie się zwieść.
  • Cieszymy się szacunkiem niektórych bardzo dużych firm i możemy wejść bez pytania.
  • Nasza baza klientów znajduje się w Australii i na całym świecie. Pozostawia wiele możliwości podróżowania i
  • Budujemy bardzo dobre relacje z naszymi klientami i ich pracownikami, co oznacza, że ​​mamy wiele osób, z którymi możemy się napić.
  • Jeśli masz potrzebę lub problem, nie mamy nic przeciwko, abyś wziął czas wolny na rozwiązanie tego problemu. Tak długo, jak nadrobisz różnicę z kilkoma dodatkowymi godzinami później.
  • Twoje pomysły są cenione i dostaniesz za nie większą nagrodę.
  • Masz udział w sukcesie Redgum.

Czy nadal chcesz dla nas pracować? Dlaczego?

Wniosek

Napisałem, że w roku 2004/05 przeprowadziłem około 50 lub 60 wywiadów, współpracowałem z około 14 agencjami rekrutacyjnymi, które rzuciły we mnie każdym, kto zaznaczył mi skrzynki ... większość z nich to strata czasu i jestem do kitu ludzie z wywiadu.

Jak dotąd największym sukcesem było znalezienie jednego rekrutera, który zrozumiałby znaczenie powyższego i tego, czego szukałem, i mógłby przefiltrować listę do osób, które pasowały.

Teraz mam 1 rekrutera, któremu ufam, zna moją firmę, zna moje potrzeby, jemy co drugi miesiąc, aby nadrobić zaległości ... Puściłem go, daję mu czas i zaufanie, że pokaże mi tylko odpowiednich kandydatów.

Rekrutacja jest obszarem specjalizacyjnym i chociaż pod koniec dnia masz ostateczne zdanie ... jeśli masz pieniądze, pozwól ludziom z umiejętnościami wykonać swoje.

Gdy już kogoś znajdą, przeprowadzam z nimi wywiad, pytam o ich doświadczenie, zainteresowania, rzeczy, które ich motywują, najfajniejsze projekty, które zrobili, słyszę ich odpowiedź na powyższe pytania ... kiedy jestem przekonany, że przyprowadzę ich podczas drugiego wywiadu z zespołem podczas lunchu wszyscy pozostali w zespole zadają im pytania i pozwalają mi poznać kciuki w górę lub w dół ... a potem zatrudniamy.


16
+1 za wzmiankę „(ostrzeżenie, długi post, tylko częściowo na temat)” :)
treecoder

Wow, zatrudniasz? :)
Josh

@Josh, tak, tak, jesteśmy, ale jesteśmy w Melbourne w Australii :) Jednak fajna biografia, zdecydowanie taki profil, jakiego szukamy.
Robin Vessey,

Bardzo dobrze powiedziane - tak szybko dostałem bicie głowy. I masz ten sam „prezent za zwięzłość”, jaki mam (to nie tak, że piszę za dużo, wszyscy inni po prostu czytają zbyt wolno!)
Ben A. Hilleli

21

Alan Turing to trochę za dużo, ale nazwanie wpływowej osoby wydaje mi się w porządku. Gdybym zadał to pytanie, powiedziałbym, że facet napisał Effective Java ...

Zatrudnianie to ulica dwukierunkowa. Najpierw musisz znać swoją pulę talentów. Jeśli chcesz zatrudnić namiętnego programistę, musisz najpierw zadać kilka pytań. Czy masz dla nich ekscytujące problemy? Po drugie, czy oferujecie konkurencyjne wynagrodzenie?

Jeśli w rzeczywistości nie możesz zaoferować obu, lepiej byłoby skoncentrować się na umiejętnościach i profesjonalizmie.


14
+1 Nie możesz zatrudnić namiętnych programistów, chyba że masz pracę wymagającą i wynagradzającą tę pasję tak samo, jak wszystkie konkurencyjne alternatywy dostępne dla tego typu programistów.
hotpaw2

Prośba o wyjaśnienie, czy powiedziałbyś „facet napisał Effective Java” czy „Joshua Bloch”? :)
fredoverflow

@FredOverflow - Dlaczego pamiętasz jego prawdziwe imię, kiedy zrobi to typedef? : D
Brendan Long

8

Ludzie w 37 Signals napisali świetny post, który dotyczy zatrudniania świetnych programistów.

Możesz przeczytać post, aby uzyskać szczegółowe informacje (warto!), Ale można go z grubsza streścić w następujący sposób: są rzeczy, o które możesz się zapytać podczas rozmowy, takie jak:

  1. Jaka jest opinia?
  2. Ile wnoszą do projektów typu open source?
  3. Jak bardzo lubią programować?
  4. Czy faktycznie wysyłają?
  5. Co opanowali?
  6. Jak dobrze się komunikują?

Możesz jeszcze bardziej zmniejszyć ryzyko zatrudnienia kogoś, biorąc go do małego projektu, aby zobaczyć, jak on działa. To pokaże ci, jak radzą sobie z zadaniami, zarządzają czasem, komunikują się i tak dalej.


4
Kopiowanie całego postu na blogu i publikowanie go w taki sposób, aby wyglądało na to, że jest to Twoja własna praca oparta na tym postu, nawet z linkiem, jest niedozwolone. Skopiowany post jest chroniony prawem autorskim i nie można go ponownie opublikować w całości. Zaktualizowałem twoją odpowiedź, aby podać tylko streszczenie artykułu i link do niego.
Adam Lear

4
  • rozpocznij swobodną rozmowę na temat wzorców projektowych / anty-wzorców / praktyk programistycznych - i zobacz, jak dobrze poinformowany jest kandydat. Jak interesujące lub odświeżające są ich widoki. I niezależnie od tego, czy mają własne pomysły na te tematy
  • porozmawiaj o problemie ze świata rzeczywistego i zobacz, jak kandydat zaczyna proponować rozwiązania
  • zobacz, ile (i jak długo) kandydat może mówić o programowaniu (filozofia NIE mechanika) bez odwoływania się do konkretnej technologii lub języka. Sprawdź, czy kandydat jest wizjonerem, czy też chodzi wyłącznie o orzechy
  • poproś ich, aby opowiedzieli o swoich najbardziej fantazyjnych funkcjach w języku programowania - namiętny programista zawsze będzie miał fantazje na temat funkcji
  • zapytaj ich o programowanie i sprawdź, czy znają popularne
  • przetestować swoje poczucie humoru podczas programowania

3

Nie, takie podejście nie ma absolutnie żadnego sensu. Rozpoznałbym zdjęcie Alana Turinga i mogłem wymienić niektóre wiodące światła w rozwoju Java, ale to nic nie mówi o tym, jak bardzo jestem pasjonatem tego, co oferuje nam programowanie. Nie wybrałbym też listy wszystkich projektów open source, nad którymi pracowałeś. Część z nich jest łatwo zdobywaną wiedzą, a część bardzo często jest wykorzystywana do ubierania CV / wznawiania.

Poproś ich, aby opisali rzeczywisty problem - bez względu na to, jak trywialny - który można rozwiązać, programując rozwiązanie. Nie musi to być coś tak praktycznego, jak identyfikacja infrastruktury. Pomyśl tylko, jak możesz zaprogramować swoją drogę do lepszego sposobu robienia czegoś. Używane języki mają drugorzędne znaczenie. Dołączając się do określonego języka, niekoniecznie zyskujesz kogoś, kto jest pasjonatem programowania.


2

Definicja pasji jest tutaj szeroka. Widziałem kilku programistów. Nie możemy po prostu nazywać ich programistami. Dla mnie definiuję namiętnego programistę,

  1. Kto zna podstawy programowania (mam na myśli prawdziwe podstawy). Poważnie pokazuje podejście i możliwości uczenia się nowych rzeczy w locie, chociaż nie używamy bezpośrednio podstaw kodu produkcyjnego.
  2. Musi mieć umiejętność głębokiego wnikania w problemy i technologie. Większość programistów jest ekspertami w używaniu gotowych rzeczy, ale to pomaga tylko w większym stopniu.
  3. Musi być na bieżąco z nowymi technologiami i aktualizacjami przemysłowymi. Naprawdę nienawidzę programistów, którzy nie są gotowi poświęcić trochę czasu na czytanie różnych rzeczy. Większość ludzi tutaj jest inteligentnych, ponieważ są gotowi rozwiązać problemy. Widziałem inteligentnych ludzi spędzających wiele godzin na powszechnie znanych problemach. Naprawdę brakuje im umiejętności czytania.
  4. Namiętny programista będzie pasjonował się zarówno użytkownikiem, jak i jego kodem. Robi wszystko z perspektywy użytkownika.
  5. Powinien pokazywać umiejętności stopniowego używania / tworzenia dobrej architektury oprogramowania.

+1 Świetna odpowiedź. Podoba mi się sposób, w jaki określiłeś „stopniowo używaj / twórz dobrą architekturę oprogramowania”.
Karthik Sreenivasan

2

Czy chcesz ludzi „namiętnych” czy kompetentnych? Wolę mieć ludzi, którzy znają się na swojej firmie, ale potrafią odróżnić ją od rzeczywistości, niż dzieci, które nie wiedzą nic poza ekranem komputera, nie mają żadnych zainteresowań, z wyjątkiem niektórych programów typu open source, które przyczyniają się do 16 godzin dziennie (pół tego, podczas gdy nominalnie dla mnie pracuje) itp.


2

Zadaj mu pytania dotyczące rozwiązywania rzeczywistych problemów

Oprócz informowania Cię o umiejętnościach tego kandydata, jeśli zwrócisz uwagę na to, jak entuzjastycznie podchodzi do rzeczywistych problemów związanych z rozwiązywaniem zadawanych mu pytań, możesz bardzo dobrze zrozumieć, jak bardzo pasjonuje się programowaniem. A jeśli zadajesz mu różne pytania dotyczące rozwiązywania problemów (niektóre pytania dotyczące kodowania, niektóre pytania dotyczące projektowania algorytmów, niektóre pytania dotyczące projektowania systemu), możesz zorientować się, w których obszarach programowania jest najbardziej entuzjastyczny.

Sugeruję przeczytanie Joela w Guerilla Guide to Interviews Software nie tylko mówi, jak znaleźć tę pasję, ale mówi, że pasja nie jest jedną z najważniejszych rzeczy, której szukasz - szukasz „inteligentnego” „i„ załatwia sprawy ”. (Wspomina o pasji, ale myślę, że jego intencją jest, aby był to znak dwóch pozostałych rzeczy, których szukasz).


1

Powiedziałbym, że jeśli jesteś pasjonatem programowania, będziesz w stanie dostrzec innych. Musisz tylko porozmawiać o programowaniu, które nie powinno być trudne podczas rozmowy kwalifikacyjnej. I skup się na kandydacie, który mówi. Upewnij się, że kwalifikujesz ich poziom kompetencji bez względu na ich pasję. W przeciwnym razie może to zaciemnić Twój osąd.


1

Zapytaj czy:

  • Odpowiadają na pytania na stronach StackExchange
  • Mają blog lub stronę internetową?
  • Wykonują projekty poboczne (ewentualnie komercyjne)
  • Przyczyniają się do projektów typu open source.

5
Niewiele z tego robię, ponieważ moja obecna praca wymaga ponad 50 godzin tygodniowo, ale nadal uważam, że jestem pasjonatką.
Job

1

Zanim będziesz mógł zatrudnić programistów z pasją, musisz ustalić, co masz na myśli.

Kiedy szukam pasji u programistów, ma to związek z entuzjazmem w ich głosie, gdy omawiają trudny problem z pracą, który musiałeś rozwiązać. Ma to związek z wystarczającą pasją, aby uzyskać głębszą wiedzę i przyspieszenie rozwiązywania trudnych problemów. Nie ma to nic wspólnego z tym, czy programują poza pracą, czy mogą wymienić trzech znanych programistów z przeszłości, patrząc na ich zdjęcia.

Podczas rozmowy możesz usłyszeć pasję w sposób, w jaki odpowiadają na pytania. Wchodzą głębiej niż ludzie bez pasji i mają tendencję do entuzjazmu w tym, co mówią. Rozumieją domenę biznesową, w której programują i są w stanie porozmawiać o tym, jak rozwiązują problemy i jakie sugestie wysunęli w swojej pracy, aby usprawnić procesy programowania lub projekt aplikacji. Mówią o refaktoryzacji i wzorach projektowych, nie pytając o nie konkretnie.

Kiedy mówią o swoich osiągnięciach, mówią o rzeczach, które wykraczają poza podstawowe kodowanie modułu. Mówią o tym, jak dostrzegli problem w projekcie i dokonali jego refaktoryzacji, lub o tym, jak znaleźli nową technikę do rozwiązania trudnego problemu i rozmawiają z entuzjazmem. Namiętna osoba jest trudna do zamknięcia. Naprawdę chcą opisać swoje osiągnięcia i cele na przyszłość. Mogą mieć rzeczy, nad którymi konkretnie chcieliby pracować, które oferuje twoja praca, a ich obecna nie. Pokazują wzorzec wzrostu umiejętności i złożoności tego, co robią.


0

Zapytaj, co robi w wolnym czasie, czy kodowanie i praca nad jego osobistym projektem to całkiem pewny znak pasji programistów. Nie wszyscy namiętni programiści programują zapasowo, ale większość z nich jest pasjonatami

Kolejną rzeczą jest poproszenie go o oszacowanie liczby godzin spędzonych na programowaniu, im więcej godzin, tym bardziej namiętnie (dostosowując się do wieku)

PS. Nie twierdzę, że powinieneś spędzać cały swój czas na kodowaniu. Musisz mieć życie, hobby itp. Staramy się jednak spędzać czas na rzeczach, które kochamy (spędzanie czasu na małżonku i dzieciach jest do zaakceptowania :) więc poświęcenie dodatkowego czasu na kodowanie jest dobrym wskaźnikiem DS.

... i tak tak, wy, namiętni programiści, możecie głosować na mnie, ile tylko chcecie;)

DS.


2
Interesują mnie ludzie, którzy pasjonują się tym, za co są wynagradzani, a nie hobbyści. Pasja polega bardziej na dogłębnym uczeniu się i byciu podekscytowanym wykonywaniem pracy niż na pracy z otwartym kodem źródłowym, co często szkodzi profesjonalnemu zachowaniu, ponieważ ludzie są bardziej zainteresowani zabawą niż pracą.
HLGEM,

Po pierwsze, namiętny programista nie jest hobbystą. Koduje w „pracy” i w domu. Pasjonuje się nimi oboje. Po drugie, trudno ci będzie przekonać namiętnego programistę do przyjęcia pracy, która nie jest przyjemna, przynajmniej w pewnym stopniu. Naprawdę obrażam postawę pracodawcy, że pracownik nie powinien mieć „zbytniej zabawy” z boku, aby mogli skoncentrować się na swojej „nudnej” nudnej pracy.
Homde

1
programowanie w Open Source to hobby. Mnie mniej zależy na twoich zainteresowaniach i prawnie prawdopodobnie nie powinienem nawet o nie pytać. Chcę kogoś, kto przyniesie pasję do pracy. Dlatego szukam ludzi, którzy pasjonują się tym, co robią w godzinach pracy. Nie zamierzam myśleć, że ludzie nie są pasjonatami, ponieważ nie robią Open Source.
HLGEM,

Nie mówiłem nic o otwartym kodzie źródłowym, tylko o tym, że kodują i uczą się kodowania w czasie wolnym od pracy, czy jest to projekt dla zwierząt domowych, open source, tworzenie aplikacji mobilnej dla zabawy, czy coś, co chcą podrapać, czego nie mogą w pracy . Oczywiście muszą także wcielić w życie tę pasję, ale o to właśnie chodzi. Zatrudniony mistrz stolarz jest pasjonatem zarówno pracy, jaką wykonuje jako pracownik, jak i dla siebie. Może być bardziej pasjonatem projektu, który sam sobie wybrał, ale to całkiem naturalne
Homde

0

Przed rozmową możesz stwierdzić różnicę między namiętnym programistą a resztą. Namiętny programista opowiada o tym, co zrobili, reszta opowiada o tym, jak to zrobili. Namiętny programista wymienia swoje blogi, projekty osobiste itp. Reszta ich nie ma.

Mój menadżer zasiadł w pierwszych kilku wywiadach i prawie się zachwiał, gdy nawet nie sprawdziłem technologicznie kandydata podczas rozmowy. Zapytał mnie później, dlaczego to pominąłem. „Przeczytałem już jego kod na swoim blogu, wiem, że umie kodować”.

Podczas wywiadu jedno pytanie identyfikuje pasję „co sprawiło, że wkroczyłeś w technologię” do osoby, którą prawdopodobnie będziesz musiał skrócić namiętny programista, gdy zaczynają stawiać na temat pierwszego użycia komputera, napisania programu i i tak dalej. Słyszę, że muszę tłumić ziewanie, słysząc odpowiedź od reszty.

Wreszcie, mój ekran technologiczny zaczyna się od pytań, przez które namiętny programista może się obrazić (i ja to przedmówię), nie-namiętny programista może odpowiedzieć na kilka lub nawet wszystkie poprawnie; namiętny programista wyrzuci je tak, jakby miały ściągawki.

Moje podejście polega na zatrudnianiu namiętnego programisty z mniejszym doświadczeniem niż doświadczonego programisty, który nie chce się uczyć i rozwijać. Prostym i prostym faktem jest to, że technologia zmienia się zbyt szybko, aby zatrudnić kogoś, kto nie pozostanie na bieżąco z nadchodzącymi trendami bez wymaganej pracy.

W pełni potwierdzam, że to nie jest głupi dowód. Z powodu mojej metody niektóre talenty jakościowe mogą wymknąć mi się z palców. Wiem, że są ludzie, którzy są wysoko wykwalifikowani, ale z kolei komputer w wieku 5 lat. Z drugiej strony jestem pod wrażeniem pasjonata programisty i bez względu na wieloletnie doświadczenie szybko stwierdzam, że uczę się od nich tyle, ile są ode mnie.


-1

Tutaj wszystkie świetne odpowiedzi - dodam, że często pytam, czy kandydat pracował z kodem innych ludzi (czasem nie jest to nowy student), a jeśli tak, to co jest największym wkurzeniem dla zwierząt domowych z tym starym kodem. Czasami zaczynają opisywać złe wzorce i sposoby ich naprawy. Traktuję to jako dobry znak. Inne odpowiedzi mogą wskazywać na bardzo wyluzowanego programistę lub pedantyczny… coś, czego możesz chcieć lub nie.


1
złe podejście z twojej strony. IMO ktoś, kto wychodzi i zmienia kod pozornie losowo, ponieważ nie lubi wzorców w nim zastosowanych, jest łotrem, który wyrządza więcej szkody niż pożytku. Wszelkie zmiany w istniejącym kodzie powinny służyć konkretnemu celowi, a cel ten powinien być bezpośrednio związany z naprawieniem zidentyfikowanych problemów lub wdrożeniem nowej funkcjonalności, nigdy „Nie podoba mi się to, jak robił to poprzedni facet, więc dużo przepisuję od niego”(co jest powszechne nastawienie wśród juniorów, którzy miałem ich głowy wypełnione teorii, ale nigdy się z zaprogramować sprzęgła w rzeczywistości.
jwenting

W porządku, ale nie szukałem ich, aby to zmienić ... tylko po to, żeby się przejmować, gdy jest źle i nie robić tych samych rzeczy. Zwykle otrzymuję odpowiedzi takie jak bardzo duże funkcje, brak komentarzy w kodzie, brak try / catch.
Jody
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.