W ramach kernelgonnapanic prowadzę indywidualne zajęcia/korepetycje z front-endu. Oprócz wspólnego uczenia się i kodowania, często przeprowadzam także próbne rozmowy kwalifikacyjne . Dla moich kursantów jest to okazja, by oswoić się z nową sytuacją i stresem z nią związanym, zobaczyć, jak taka rozmowa mogłaby wyglądać w realu, a także często pierwszy raz spróbować wspólnego kodowania na żywo. Dodatkowo dostają również informację zwrotną o tym, co jest ich mocnymi stronami, a nad czym mogą jeszcze popracować zanim zmierzą się z prawdziwą rekrutacją. Dziś postanowiłam zebrać porady, których często udzielam osobom, z którymi współpracuję i opublikować je w formie artykułu - może będą przydatne również Tobie. Zaczynamy!

Live coding - nie zawsze ta forma się na rozmowie pojawia, ale jeśli już, jest to często jeden z najbardziej stresujących aspektów rozmowy. Gdy nie ma się doświadczenia w programowaniu w parach, taki sposób pracy może być na początku wręcz paraliżujący (wiem z własnego doświadczenia 😉). Warto tego typu sytuację wcześniej oswoić - programując przy bliskiej osobie i tłumacząc jej kod, który tworzymy, na takiej próbnej rozmowie kwalifikacyjnej czy nawet mówiąc na głos do siebie.

Wskazówka #1 - mów, mów i jeszcze raz mów

A jak się zachować już w trakcie tego typu rozmowy? Z mojej perspektywy ważne jest, by mówić! Gdy zapoznasz się z zadaniem, warto powtórzyć je rekruterowi własnymi słowami i upewnić się, że dobrze je rozumiesz. Potem koniecznie zastanów się, od której strony chcesz podejść do problemu. Dobrze jest stworzyć sobie w głowie plan gry - najpierw zajmę się X, potem przejdę do Y i podzielić się nim na głos. To sprawia, że druga osoba wie dokąd zmierzasz i nadaje to Twojej pracy ramy.

Gdy przejdziesz do realizacji zadania to również staraj się na bieżąco opowiadać o tym, co robisz, do czego zmierzasz. Obraz, który ja sobie przywołuję w takich momentach, to że tłumaczę koledze/koleżance co chcę zrobić i że wspólnie tworzymy ten fragment kodu. Muszę stale dzielić się z nim lub z nią tym, o czym myślę i co planuję, bo bez tego druga osoba nie będzie w stanie nic od siebie dodać, nijak mi pomóc.

W takim razie czy to oznacza, że trzeba cały czas mówić? Oczywiście że nie! Jeśli potrzebujesz chwili, by się zastanowić, przemyśleć coś spokojnie, to po prostu o tym powiedz. Jest to normalne, rekruter na pewno to zrozumie.

Czemu mówienie jest tak istotne na rozmowie kwalifikacyjnej? Jest to pokazanie naszych umiejętności komunikacyjnych w praktyce. Wbrew stereotypom o programistach w kraciastych koszulach pracujących w totalnym odosobnieniu, komunikacja to jeden z najważniejszych elementów pracy programisty - trzeba umieć mówić o kodzie i dbać o to, by być zrozumianym. Gdy pokażesz na rozmowie kwalifikacyjnej, że to umiesz, to masz na starcie dużego plusa przy swoim nazwisku.

Wskazówka #2 - małe kroki

Kolejny tip to: stawiaj małe kroki. Co to znaczy w praktyce? Gdy masz w głowie swój plan gry - najpierw zrobię X, potem Y - często się zatrzymuj i sprawdzaj, czy twój kod na danym etapie robi to, co powinien.
Czyhającą na Ciebie pułapką jest napisanie większego fragmentu, próba jego uruchomienia i zdanie sobie sprawy, że coś jest nie tak. A dokładniej czekające Cię długie debuggowanie w celu znalezienia błędu. To tak jakbyś programował z zamkniętymi oczami, dopiero na końcu zadania je otworzył i przekonał się, że nic nie działa! Warto co chwilę weryfikować czy kod działa zgodnie z naszymi założeniami.

A co jeśli po takim małym kroku dostajesz wynik, którego się nie spodziewałeś/spodziewałaś? W żadnym wypadku nie idź dalej! Powiedz, że coś jest nie tak i debugguj również na głos - rozważając rożne przyczyny problemu. I przede wszystkim - staraj się nie stresować taką sytuacją - to normalne, że coś idzie nie tak, takie jest programowanie. A plusem jest to, że w takim wypadku możesz również dodatkowo zademonstrować swoje umiejętności debuggowania.

Czemu to ważne? Mały błąd lub literówka może zmienić produktywne kodowanie w sesję długiego i nieprzyjemnego debuggowania. A tego nie lubimy i nie chcemy na rozmowie ;)

Wskazówka #3 - dbaj o precyzję wypowiedzi

Ostatnia wskazówka również dotyczy komunikacji. Zadbaj o to, by precyzyjnie sie wyrażać. Gdy nie jesteśmy przyzwyczajeni do mówienia o swoim kodzie to początkowo będzie to trudne - możemy popełniać błędy, nie wiedzieć jak nazwać to, co robimy i z czego korzystamy lub stosować skróty myślowe, które wprowadzają w błąd. Dlatego warto to ćwiczyć przed rozmową - na głos opisując swój kod, tłumacząc coś drugiej osobie. Ciekawe jest, że często dopiero mówiąc na głos o danym temacie uświadamiamy sobie, że nie do końca go rozumiemy. Więc jest to również okazja, by lepiej poznać jakieś zagadnienie.

Mam nadzieję, ze moje wskazówki przydadzą się Tobie w trakcie rekrutacji. A jakie są Twoje doświadczenia? Co byście dorzucili do tej listy?

PS
Jeśli chcesz wziąć udział w takiej próbnej rozmowie kwalifikacyjnej lub uczysz się front-endu i potrzebujesz pomocy w zrozumieniu jakiegoś zagadnienia to możesz skorzystać z mojej oferty konsultacji. Zaczynamy zawsze od 30 minut darmowej rozmowy - okazji na to by się poznać i zobaczyć jak mogę Ci pomóc 🙂