Jak wygląda rozmowa o pracę na stanowisko programisty?

Paweł Dedio Programowanie 2018-09-01

Witajcie ponownie. Dzisiaj opowiem Wam, jak wygląda przepustka do lepszego świata, czyli rozmowa o pracę na stanowisko programisty. Nie będę skupiał się wyłącznie na pytaniach rekrutacyjnych, bo przykładów jest pełno w Internecie. W tym artykule chciałbym obalić wszystkie mity i nakreślić Wam, na co pracodawcy zwracają uwagę, zanim kogoś zatrudnią.

Przebieg rekrutacji

Rekrutacje w większości firm dzielimy na kilka etapów. Pierwszym z nich jest wstępna selekcja. Wygląda to tak, że ktoś z Waszego przyszłego zespołu przegląda nadesłane CV i wybiera z nich odpowiednich kandydatów. Tutaj patrzy się przede wszystkim na poprzednie firmy oraz umiejętności potencjalnego pracownika. Następnie zaprasza się wybranych kandydatów na rozmowę w siedzibie firmy, którą również można podzielić na kilka etapów. Poszczególne mogą występować w różnej kolejności w zależności od przedsiębiorstwa, jednak przeważnie wygląda to podobnie.

Najpierw następuje rozmowa z kimś z działu kadr, nazywanego działem HR od angielskiego human resources. Tutaj zostaniesz zapytany o swoje oczekiwania finansowe i dowiesz się co nieco o firmie oraz oferowanych przez nią benefitów. Na tym etapie możesz się spodziewać również weryfikacji znajomości języka angielskiego (jeśli jest wymagany) i kilku luźnych pytań dotyczących Twojej kariery, na przykład: „Dlaczego zmienia Pan pracę?” lub „Dlaczego chce Pan pracować akurat u nas?”. Na szczęście już odchodzi się od bzdurnych pytań typu: „Jakim  zwierzęciem chciałby Pan zostać?”.

Następnie przychodzi czas na weryfikację techniczną. Najczęściej będziesz rozmawiał z kimś, kto jest członkiem zespołu, do którego rekrutujesz. Firmy różnie podchodzą do tego etapu – czasami musisz wypełnić test na kartce i go omówić, a czasami po prostu prowadzisz luźną rozmowę na temat technologii. Gdy ja rekrutuję, to staram się prowadzić weryfikację na zasadzie luźnej rozmowy. Pytam kandydata w jakich firmach pracował, czym się tam zajmował, jakie miał problemy i tak dalej. Pamięciowa znajomość danej technologii nie jest aż tak bardzo ważna (od tego jest dokumentacja), bo ważniejsza jest umiejętność rozwiązywania problemów i praca w zespole.

programista android

Ostatni etap to rozmowa z managerem projektu (ang. project manager). Tutaj dowiesz się do jakiego projektu zostaniesz przydzielony, jak duży jest zespół oraz jakie będą Twoje obowiązki. Tutaj również możesz spodziewać się pytań. Z perspektywy managera projektu najważniejsze jest to, czy potrafisz współpracować bezpośrednio z klientem i czy jesteś  samodzielny. Jeśli robiłeś kiedykolwiek samodzielny projekt jako freelancer, to jest to ogromna zaleta! Niektóre firmy przed rozpoczęciem rozmowy wymagają dodatkowo wykonania jakiegoś zadania. Najczęściej jest to jakaś prosta aplikacja. Dzięki temu pracodawca może zobaczyć w jaki sposób piszesz kod i jakich narzędzi używasz.

Na co patrzą weryfikujący?

Jeśli studiowałeś przedmiot związany z informatyką, to musisz zapomnieć o tym, jak wyglądały egzaminy z programowania. Rozmowa o pracę jest o wiele lepsza, nikt nie każe Ci programować na kartce. Nie musisz obawiać się, że padnie jakieś bzdurne pytanie. Ja jako weryfikujący mając przed sobą CV kandydata pytałem przede wszystkim o jego doświadczenie wyniesione z poprzednich firm. Często też chciałem się dowiedzieć, co mu się nie podoba w danej technologii – wtedy miałem pewność, że ktoś wie o czym mówi. Oczywiście zadawałem również typowo techniczne pytania. Bardzo interesowało mnie również to, w jaki sposób kandydat radzi sobie z problemami i skąd czerpie wiedzę. Podczas rozmowy na pewno usłyszysz kilka pytań, na które nie znasz odpowiedzi. Ma to na celu wybadanie górnej granicy Twojej wiedzy. Specjalnie zadaje się takie pytania, żeby określić mniej więcej na jakim poziomie zaawansowania jest dany kandydat.

Jak kandydaci są oceniani?

Osoby oceniające patrzą przede wszystkim czy umiejętności, które posiada kandydat będą przydatne w projekcie. Jest to najważniejsza kwestia, bo nikt nie zatrudni kogoś, kto nie wniesie żadnej wartości do zespołu. Kolejnym ważnym aspektem jest samodzielność i zdolność do przekazywania wiedzy. Jeśli potrafisz pracować sam i dodatkowo umiesz pomagać innym, to jesteś bardzo pożądanym pracownikiem. Odnośnie czasu trwania takiej oceny, to niestety nie ma żadnej reguły – w jednej firmie musiałem czekać dwa tygodnie, a w innej odpowiedź dostałem już po dwóch dniach.

Nie warto kłamać

Tej kwestii postanowiłem poświęcić osobny akapit, bo jest ona bardzo ważna. Ja oraz moi znajomi często spotkaliśmy się z kimś, kto nakłamał w swoim CV. Najczęściej tacy kandydaci wpisują do swojego CV mnóstwo odmiennych technologii oraz frameworków. Naprawdę nie warto tego robić – takie coś jest banalnie proste do wykrycia. Wystarczy zadać kilka pytań dotyczących danej technologii i już kandydat zaczyna się gubić. Jeśli znacie jakąś technologię tylko z nazwy lub ze studiów, to nie warto pisać, że znacie ją na bardzo dobrym poziomie. Jeszcze nigdy nie spotkałem się z sytuacją żeby ktoś zatrudnił takiego kłamczucha.

Jak przygotować się do rozmowy?

Przed rozmową warto przeczytać przykładowe pytania dotyczące danej technologii. Takich zbiorów jest w Internecie mnóstwo. Jeśli na większość pytań jesteś w stanie odpowiedzieć bez problemu, to dobry znak. Jeśli nie, to warto powtórzyć sobie podstawy i dobre praktyki. Przyda się znajomość nowości dotyczących danej technologii. Mimo niewielkiego wysiłku, często udało mi się zrobić tym dobre wrażenie na rekrutującym. Jeśli w przeszłości uczestniczyłeś już w jakiś projektach, to warto przypomnieć czym mniej więcej się tam zajmowałeś – na pewno zostaniesz o to zapytany. Kolejnym plusem będzie posiadanie własnego repozytorium na Githubie wraz z kilkoma projektami – w ten sposób ktoś z firmy będzie mógł ocenić pisany przez Ciebie kod.

Ty też możesz pytać

Nawet nie tyle możesz, co powinieneś. Przed każdą rozmową, na którą idę jako kandydat, robię sobie listę rzeczy, o które będę pytał. Pamiętaj, że to nie tylko Ty powinieneś być odpowiedni dla pracodawcy, ale również firma powinna odpowiadać Twoim wymaganiom. Najwięcej moich pytań dotyczy prowadzenia projektu – w ten sposób próbuję wybadać jakość wytwarzanego kodu oraz kulturę pracy. Pytam jakich bibliotek używają, czy pracują w metodologii Scrum, z jakiego systemu kontroli wersji korzystają oraz czy piszą testy jednostkowe. Warto zapytać również o kwestie formalne takie, jak praca zdalna, godziny pracy, wyjścia integracyjne i tak dalej. Zadawanie pytań niesie ze sobą dodatkowy pozytyw. Jeśli są one konstruktywne, to osoba, która Cię rekrutuje zobaczy, że zależy Ci na tej pracy.

Co jeśli nigdy nie pracowałem?

Po przeczytaniu tego artykułu pewnie zauważyłeś, że większość sytuacji dotyczy kogoś, kto już ma doświadczenie w programowaniu i wybiera się na rozmowę do kolejnej firmy. W przypadku, gdy aplikujesz do swojej pierwszej pracy, to rozmowa będzie wyglądała bardzo podobnie. Oczywiście nikt nie będzie Cie pytał o doświadczenie z poprzednich firm. Osoba rekrutująca będzie próbowała wybadać Twoją zdolność do nauki oraz znajomość danego frameworka. Czasami możesz dostać też jakieś zadanie do rozwiązania. Ogromnym atutem będzie posiadanie własnego konta na Githubie, które będzie zawierać kilka Twoich aplikacji. Z Twojej strony najważniejsze jest wykazanie, że jesteś samodzielny i potrafisz szybko się uczyć – to właśnie takich kandydatów szukają firmy!

Absolwenci Coders Lab, którzy w trakcie kursu programowania zdecydują się na wzięcie udziału w programie Career Lab, mogą liczyć na profesjonalne wsparcie w przygotowaniu do rozmów rekrutacyjnych. Program jest akredytowany przez Pracuj.pl, największy polski portal z ofertami pracy i zapewnia bardzo cenną pomoc na starcie nowej kariery w IT.
Dowiedz się więcej >

To tyle na dzisiaj 😉 Zapraszam za tydzień, opowiem o tym, jak zacząć swoją przygodę z programowaniem. Do zobaczenia!

Zapraszam również na największe w Polsce forum dla programistów Android. Jeśli macie pytania odnośnie kariery jako programista – zapraszam do działu Kariera programowanie.

Poprzednie odcinki:

  1. Typowy dzień pracy programisty
  2. Wady pracy programisty
  3. Zalety pracy programisty
  4. [FAQ] Wszystko, co powinieneś wiedzieć jeśli interesuje Cię praca programisty
  5. Co mnie zdziwiło w programowaniu?
  6. Motywacje – w jaki sposób nie stracić zapału do programowania?
  7. Jaką firmę wybrać na początku kariery programisty?


  • Marta Zabłocka
  • Kolejny dobry temat. Czytam od początku i stwierdzam, iż można się dowiedzieć doprawdy ciekawych, przydatnych rzeczy 🙂

  • kris

    hej, chcę pracować jako programista 🙂 nie mam studiów, nie mam papierów, nie mam githuba, na przestrzeni kilkunastu lat poznałem kilka technologii (basic, pascal, html, css, assembler 6510, assembler x86, php, javascript, c, python, visual basic) w każdej pisałem albo strony albo swoje gierki albo programy. Aktualnie dla obecnego pracodawcy, jednoosobowo od 1,5 roku tworzę, testuję i wdrażam aplikację (plugin) w javascrypcie (extendscript) na API adobe’a z którego korzysta dziennie kilkunastu grafików non-stop, a przerób to jakieś 12000 użyć miesięcznie (tak mówią logi). Kod to jakieś 30 000 linii asynchronicznego czystego tylko-javascriptu.
    Nadaję się na programistę który chciałby rzeźbić w różnych technologiach??

    • Paweł Dedio

      Po tym opisie widać że potrafisz rozwiązywać jakieś problemy programistyczne. Musisz jednak zastanowić się w jakim kierunku chciałbyś iść i co Cię interesuje

      • kris

        Miotam się 🙂 pomiędzy aplikacjami na androida, a aplikacjami na SAPa. Ani w Javie ani w ABAP, nie programowałem wcześniej (chociaż tak jak napisał @guziaster język to tylko (składnia) narzędzie, logika i problemy są mniej więcej takie same).
        Można wskoczyć w targetowaną technologię i utrzymywać się z tego od razu?? czy trzeba by mieć duże-twarde „plecy”. Wiedzę i umiejętności to ja może i mam, chociaż mój perfekcjonizm, nie pozwala mi mówić że jestem w tym zje..cie dobry i skuteczny.
        I nie mam pojęcia jakbym „przełknął” programowanie grupowe. Zawsze pisałem solo. Każdy jeden problem od początku do końca samemu.

        • Paweł Dedio

          Zależy czego oczekujesz. Ale wydaje mi się, że jeśli masz już jakieś ukończone projekty to raczej nie będziesz miał problemu załapać się gdzieś jako junior. Przez pierwszy rok będziesz musiał się pomęczyć za około 2 tys miesięcznie, ale potem będzie już o wiele lepiej. Zachęcam też do popracowania trochę z gitem, bo to jest podstawa w większości firm.

  • guziaster

    Dodam od siebie, że wiele firm oferuje staże, czasami płatne, czasami darmowe. Trwają one krótko(te płatne czasem dłużej) ale to bardzo dobra szansa na załapanie się do firmy(sam tak zaczynałem). Przeważnie na taki staż wymaga się, żeby dana osoba potrafiła logicznie myśleć(więc nie obrażajcie się na zadania na kartach w stylu opisania prostych algorytmów matematycznych, które macie opisać dostając wzory w treści zadania) i znała podstawy programowania jako takie: co to jest programowanie obiektowe, jak się je stosuje, podstawowe konstrukcje programistyczne, czasami proste wzorce projektowe lub system kontroli wersji(jako dodatkowe atuty), to wystarczy, żeby dostać staż i się szybko rozwijać, bo przecież język to tylko narzędzie do opisu wszystkich znanych konstrukcji 🙂

  • luki pt

    projekty projekty i jeszcze raz projekty hehe

    • Paweł Dedio

      Niestety taka jest prawda, juniorzy maja najciężej 🙁

      • Masakruj Lewaka

        Kilka projektów na Githubie i już jest o czym rozmawiać na rekturacji.