Na rozgrzewkę zacznę od przedstawienia jaką tematyką planuję Was przyciągnąć do mojego blogu. Jeśli będzie jałowo, czy znajdziecie jakieś błędy, dzielnie przyjmę każdą uwagę.
Już parę lat pracuję jako programista, pomogłem stworzyć kilka (nawet działających) aplikacji. Udało mi się też, nie raz zmienić firmę, poszukując nowych wyzwań. Co za tym idzie byłem na niejednej rozmowie rekrutacyjnej. Jak daleko sięgam pamięcią, ile razy bym nie stawał oko w oko z osobą rekrutującą, zawsze otrzymywałem pytanie, które wprowadzało mnie w zakłopotanie. Podczas gdy, na moim czole pojawiała się kropla potu spowodowana procesami myślowymi, mój mózg podrzucał mi zawsze zamiast odpowiedzi, słowa znanej piosenki „i co ja robię tu /u-u/ co ty tutaj robisz”. Oczywiście odczucia są rożne, zależnie od tego, w którym momencie „kariery programisty” – jeśli można to tak nazwać – się jest. Gdy raczkowałem i dostawałem trudne pytanie myślałem – „Cholera, czemu znowu nie doczytałem?”. Później jako doświadczony deweloper przy takich zagwozdkach zastanawiałem się – „Czemu znowu pytają mnie o coś co robiłem raz, 7 lat temu? Po to jest dokumentacja…”. W obu przypadkach stałem na straconej pozycji, ponieważ i tak nie znałem odpowiedzi. Czy jako student rozpoczynający przygodę z zawodem, czy zahartowany w bojach weteran przed każdą rozmową potrzebujemy solidnego uzupełnienia wiedzy.
Osobiście najbardziej lubię pytania z gatunku na myślenie – „A zaimplementuje nam Pan algorytm…”. Nie jestem typem szachisty, więc przy takich pytaniach albo znam odpowiedź, albo „Houston, mamy problem”. Z reguły, gdy byłem w czarnej dziurze, odpuszczałem sobie i rezygnowałem z poszukiwania odpowiedzi. I w tym miejscu pozwolę sobie na pierwszą, historyczną dla mojego blogu wskazówkę: „Nie odpuszczamy takich pytań!”. Pozytywniej w oczach rekrutera wypadniemy, kombinując jak pijany we mgle, niż kapitulując po pierwszej salwie.
„Z pustego i Salomon nie naleje” – czasami jest tak, że mimo kombinowania nie znajdziemy odpowiedzi na nurtujące nas pytanie. Nie poddając się i szukając rozwiązania zrobimy dobre wrażenie, ale przecież jeszcze lepiej jest rozwiązać problem. Chcielibyśmy być zapamiętani jako zwycięzcy a nie pracowici, ale nadal przegrani. Dlatego według dalszych słów maksymy o naszym Salomonie „Ale dzbanek wszak da się najpierw napełnić”, trzeba pracować nad tym, żeby na takie chwile być przygotowanym. Poprzez mój blog będę starał się odpowiedzieć na takie trudne pytania w zwięzły i zrozumiały sposób i co najważniejsze łatwy do zapamiętania. Docelowo chciałbym, aby w takich trudnych chwilach rozmowy przypominał się Wam, moi czytelnicy, CodeByKris.com a wskazówki, które w nim zawarłem, torowały drogę do rozwiązania problemu.
Reasumując, w powyższym blogu pod lupę wezmę tematykę rozmów rekrutacyjnych dla programistów. Będzie troszkę podstaw, skumulowanych tak, żeby w szybki sposób można było sobie uzupełnić wiedzę. Wytłumaczę kilka algorytmów, które czasami spędzały mi sen z powiek. Zmierzę się też z niejedną zagadką logiczną, na której za pewne poległo wielu z Was. Oprócz dawki wiedzy, przekazywanej w przyswajalny sposób, na bazie swoich doświadczeń, podrzucę parę dobrych rad, by czekająca Was rekrutacja nie stałą się koszmarem.
Życzę miłej lektury.
Kris