Z czym musisz się zmierzyć startując na programistę PHP.
Tendencja na polskim rynku jest taka, że programistów ciągle brakuje. Firmy wyrywają sobie nawzajem ludzi, którzy mają sensowne pojęcie o programowaniu. Stąd, wielu programistów zmienia pracę raz do roku lub nawet częściej.
Lepsza pensja, ciekawsze projekty, wygodny dojazd. Powody są różne. W każdym razie, jeśli mieszkasz w dużym mieście, nie będziesz narzekał na brak ofert.
Oczywiście, każda rekrutacja wiąże się z kilkoma (najczęściej dwoma) etapami, przez które musisz pozytywnie przebrnąć. Postaram się przybliżyć Ci nieco każdy z nich.
ETAP 1 – rozmowa telefoniczna
Od niej wszystko się zaczyna. Po wysłaniu aplikacji w postaci CV spodziewaj się najpierw telefonu z działu rekrutacji.
Zadzwoni do Ciebie osoba (w 90% przypadków będzie to pani) i przeprowadzi wstępny wywiad.
Zapyta o takie rzeczy, jak:
- Twoje poprzednie projekty, w których brałeś udział.
- Oczekiwania finansowe i preferowany rodzaj współpracy.
- Dostępność (od kiedy mógłbyś zacząć).
- Umiejętności pod kątem oferty (zapyta jak dobrze znasz technologie wymienione w opisie oferty).
- Może zamienić kilka słów po angielsku w stylu 'jakie jest Twoje hobby’ lub 'co Cię motywuje do pracy’.
Po takim wstępnym wywiadzie informacja o Tobie jest kierowana do osoby decyzyjnej. Ona zdecyduje, czy zaprosić Cię na kolejny etap – zazwyczaj jest to spotkanie na żywo, w biurze firmy.
ETAP 2 – rozmowa kwalifikacyjna
W przypadku programistów bardzo rzadko kandydat 'nie dostaje się’ do części drugiej. Raz jeszcze podkreślę, że jest spory deficyt na rynku, jeśli chodzi o umiejętności programistyczne. Jeśli tylko nie rzuciłeś kwoty z kosmosu i w miarę sensownie rozmawiałeś z panią przez telefon, kwalifikujesz się do drugiego etapu.
Na tym etapie bywa różnie, w zależności od firmy. Opowiem jak to zazwyczaj wygląda.
Po przywitaniu się i wymienieniu grzecznościowych uwag, przechodzimy do rozmowy technicznej.
Osoba techniczna – często leader zespołu, do którego masz trafić, przewałkuje Cię nieco z zagadnień programistyczno – informatycznych. Aplikując na programistę możesz spodziewać się pytań z PHP o:
- OOP (Object Oriented Programming) – ogólne założenia.
- Klasy i obiekty. Dziedziczenie. Interfejsy.
- Modyfikatory dostępu.
- Wyrażenia regularne.
- Web service.
- Reference i value types.
- Wzorce projektowe.
- Wzorzec MVC.
Oraz ogólne pytania z zakresu działania aplikacji webowych:
- Jak działa sesja?
- Czym są ciasteczka?
- JSON i XML.
- HTML5 (np. czym jest viewport)
- CSS.
- Podstawy JavaScript i jQuery.
- Zagrożenia (np. XSS czy SQL Injection).
- Bazy danych.
Mogą również pojawić sie pytania odnośnie samego procesu wytwarzania oprogramowania i testowania:
- Testy automatyczne (np. z wykorzystaniem Selenium).
- Unit testy.
- Testy regresyjne.
- Metodyki wytwarzania oprogramowania.
- Agile i Scrum.
Są to oczywiście ogólne zagadnienia, które mają na celu sprawdzenie praktycznej wiedzy kandydata. Ciężko tutaj jakiś materiał 'wykuć na pamięć’. Na rozmowie szybko wyjdzie, czy prezentowana wiedza jest rozumiana i poparta praktyką, czy tylko wyczytana.
Nie chodzi też o to, byś znał odpowiedź na każde pytanie. Jesteśmy tylko ludźmi i każdy z nas się ciągle uczy i rozwija. Część rzeczy mogliśmy zapomnieć. Ważne, żeby wykazać chęć doczytania i zgłębienia tematu. Zawsze możesz ratować się stwierdzeniem, że informacje ten temat można szybko znaleźć np. na StackOverflow lub w dokumentacji.
Jeśli firma, do której aplikujesz, jest duża, może się zjawić jeszcze jedna osoba na rozmowie. Często jest to manager zespołu, do którego trafisz.
Będzie stawiał Ci pytania natury 'miękkiej’ i badał Twoje umiejętności interpersonalne. Tutaj liczy się najbardziej to, jak umówisz. To czy masz zdanie podobne do managera, czy zgoła odmienne, ma dużo mniejsze znaczenie.
Spodziewaj się pytań natury:
- Jaki miałeś największy problem w swojej karierze i jak go rozwiązałeś?
- Co najbardziej motywuje Cię do pracy?
- Co robisz, gdy wiesz, że nie zdążysz zrobić zadania na czas?
- Co najbardziej denerwowało Cię w poprzedniej pracy?
- Jak dogadujesz się z ludźmi w zespole?
- Jakie są Twoje plany na przyszłość?
Podkreślę raz jeszcze. Chodzi tu przede wszystkim o to, czy potrafisz się składnie i jasno wypowiadać. Czy masz swoje zdanie i potrafisz je komunikować. Czy jesteś spokojny, czy się stresujesz itp.
Zazwyczaj rozmowa zbliża się ku końcowi, gdy rozmówca zapyta Cię, czy masz może jakieś pytania.
Ta część jest równie istotna, co poprzednie!
Większość osób w duchu mówi sobie: „Uff… Przebrnąłem. Nie było łatwo. Teraz byle stąd jak najszybciej wyjść.”. Dziękuje, żegna się uściskiem dłoni i wychodzi.
To podstawowy błąd.
To, czy masz pytania i wykazujesz zainteresowanie, świadczy o tym, czy Ci zależy.
Zawsze warto mieć przygotowanych kilka pytań, które pomogą nawiązać lepsze relacje z potencjalnym pracodawcą. W stresie rozmowy możesz nie być w stanie wymyślić nic nowego, dlatego dam Ci kilka bezpiecznych pewniaków:
- Delegacje. Czy ludzie wyjeżdżają na delegacje? Dokąd? Na jak długo?
- Projekty. Krótkie czy długie? Iluosobowe zespoły?
- Praca zdalna. Czy jest możliwa? W jakim wymiarze?
- Jak długo Pan tu pracuje? Jak się Panu podoba?
- Jakie są widoki na rozwój firmy?
Po zamienieniu kilku słów na koniec możesz bezpiecznie podziękować. Uściśnij dłóń i dowiedz się, że do dwóch tygodni wrócą do Ciebie z odpowiedzią.
Teraz pozostaje tylko liczyć na to, że przypadłeś do gustu rekrutującym i zadzwonią z dobrą nowiną.
Na koniec jeszcze ciekawostka. Na rozmowie zdarzają się podchwytliwe pytania techniczne, na które mało kto zna poprawną odpowiedź. Jeśli odpowiesz błędnie, nic się stanie, ale poprawna odpowiedź może oznaczać ogromnego boosta. Z pewnością zabłyśniesz w oczach rekrutera.
Przygotowałem w formie ebooka 5 ciekawych pytań z PHP wraz z odpowiedziami wyjaśniającymi. Dostaniesz go za darmo, zapisując się na newsletter u góry ekranu.
Podsumowując, nie bójmy się zmieniać pracy. Rynek pracy programistów to rynek pracownika. Firmy walczą o odbrych specjalistów. Pora to wykorzystać.