Jak dostać pracę jako Junior Software Developer.

Zaczynasz swoją przygodę z programowaniem za pieniądze i szukasz firmy, która spełni Twoje oczekiwania, a jednocześnie chcesz wypaść jak najlepiej na rozmowie kwalifikacyjnej? Czytaj dalej a dowiesz się tego oraz wiele więcej.

Ostatnimi czasy rynek pracy dla programistów jest tak chłonny, że każdy znajdzie coś dla siebie. Niekiedy należy się jednak zastanowić, czy warto iść do pracy, w której biorą programistów „jak leci”, bez żadnego sprawdzenia ich umiejętności. Moim zdaniem, im trudniejsza rozmowa kwalifikacyjna, tym większa ochota na pracę. Jeśli firma dobrze sprawdza kompetencje kandydatów, to istnieje duża szansa, że będzie się pracować z najlepszymi. Ale jak pokazać, że należy się właśnie do nich?

1. Dowiedz się w jakich technologiach prowadzone są projekty.

Przede wszystkim należy dowiedzieć się, czego pracodawca wymaga od kandydata. Z ogłoszenia o pracę należy wyłapać technologie, z którymi pracują programiści w tej firmie. Najczęściej pracodawcy podają znajomości jakich technologii wymagają od kandydata oraz znajomość jakich będzie atutem. Wypisz sobie wszystkie jakie znalazłeś w ogłoszeniu. Może to być jakaś konkretna baza danych (MSSQL), framework (ASP.NET WebApi), czy biblioteki JavaScriptowe (Angular, React). Postaraj się przyswoić przynajmniej podstawy tych technologii. Włącz sobie jakiś tutorial i zapamiętaj co ważniejsze kwestie. Jeśli jakaś technologia znajduje się w ofercie pracy, to na rozmowie, na 90% o nią zapytają. Jeśli popiszesz się znajomością chociaż podstaw, ale ze wszystkich, to już znajdziesz się na uprzywilejowanej pozycji i będziesz postrzegany jako osoba pasująca do tej firmy.

2. Przypomnij sobie zagadnienia teoretyczne

Na rozmowie kwalifikacyjnej bardzo często pierwszym testem sprawdzającym kandydata są pytania teoretyczne.  Dlatego właśnie, przed taką rozmową należy przypomnieć sobie kilka książkowych kwestii. Takich jak:

Oczywiście istnieją też firmy, w których pytają Cię o to jak coś jest zrobione „pod spodem” czyli coś, co dla programisty nie jest widoczne gołym okiem. Przykładem takiego pytania jest: jak kompilator interpretuje sobie funkcje anonimowe (tak spotkałem się z takim), ale już bez przesady jeśli nie będziesz wiedział czegoś takiego, nikt Cię za to nie potępi.

3. Przygotuj sobie pytania od siebie

Na początku mojej kariery, najgorszy moment rozmowy był wtedy, gdy ktoś po przeciwnej stronie stołu zapytał się czy mam do niego jakieś pytania. Wiedziałem, że powinienem o coś zapytać, żeby pokazać, że zależy mi na konkretnym stanowisku, a nie dlatego, że przyszedłem tam, bo ich oferta była najwyżej na stronie, ale nic nie przychodziło mi do głowy. Dopiero po jakimś czasie, ucząc się na błędach dowiedziałem się o co pytać, żeby nie wdepnąć w projekt, z którego szybko będziesz chciał uciec. A więc, o co pytać?

  • Zapytaj się o proces w jakim rozwijane są projekty. Jeśli odpowiedzą Ci, że pracują w Agile to poproś o wyjaśnienie jak dokładnie wygląda stosowanie tego w firmie. Czasami firmy mówią, że pracuje się u nich Agile-owo, bo to modne, ale nie są w stanie uzasadnić jak dokładnie to wygląda, wtedy powinna zapalić się pierwsza lampka ostrzegawcza, że coś w tej firmie jest nie tak.
  • Dowiedz się czy posiadają środowiska testowe, stageowe do testowania różnych wersji aplikacji. Środowisko deweloperskie, testowe dla testerów (stage) oraz produkcyjne to minimum jakie powinno być przy komercyjnych projektach. Jeśli programiści wrzucają poprawki kodu bezpośrednio na serwer produkcyjny bez jakiegokolwiek testowania to nie tak to powinno wyglądać.
  • Zapytaj się jak testują kod, czy programiści piszą testy jednostkowe, czy mają oddzielny zespół testerów. Jeśli w odpowiedzi dostaniesz „nasza aplikacja zbyt szybko się rozwija, żeby do niej pisać testy jednostkowe” lub „nasi klienci testują aplikacje na produkcji” to zastanów się zanim tam pójdziesz pracować.
  • Dowiedz się jak dbają o rozwój pracowników. Karta multisport i prywatna opieka zdrowotna to nie to o co mi chodzi. Jeśli pracujesz z konkretnymi technologiami to, żeby nie zawęzić sobie horyzontu co jakiś czas powinieneś rozwijać się w innych dziedzinach i poznawać inne technologie. Dlatego firma powinna Cię w tym wspierać i tak na przykład niektóre firmy finansują dostęp do pluralsight’a czy wyjazdy na konferencje.
  • Jeśli aplikacja, przy której będziesz pracować działa już produkcyjnie, dowiedz się jak jest z jej utrzymywaniem. Czy nie będzie tak, że przez pierwsze pół roku będziesz naprawiał bugi przy starej aplikacji, a nie napiszesz nic nowego. Najgorsze co może być to naprawianie nieswoich bugów.

Ponadto polecam 12 zasad lepszego kodu, które wymyślił i spisał Joel Spolsky, jeden z twórców StackOverflow. Polecam spisać sobie te pytania i pytać pracodawców o każdy punkt, im więcej punktów spełniają, tym lepiej jest u nich pracować.

4. Sprawdź czy ktoś z firmy nie mógłby Cię polecić.

W wielu firmach prężnie poszukujących programistów, działa system poleceń. Jeśli osoba z firmy poleci swojego znajomego, a ten dostanie pracę i utrzyma się 3 miesiące, to dostanie bonus pieniężny. Zastanów się więc, przejrzyj jeszcze raz znajomych na facebooku/linkedin czy w firmie, w której chcesz pracować nie ma żadnego Twojego znajomego. Jeśli jest, pogadaj z nim o tym jak pracuje się w jego firmie i poproś o przesłanie swojego CV do kogoś z działu HR. Twój znajomy na pewno chętnie to zrobi licząc na bonus pieniężny, a Ty nie będziesz kolejnym kandydatem z ulicy, a już kimś poleconym, więc wartym przesłuchania.

Mam nadzieję, że powyższe punkty pomogą Ci dostać wymarzoną pracę. Myślę, że w chwili obecnej jest tyle ofert dla programistów, że nie ma co brać pierwszej, która wpadnie Ci w ręce. Lepiej pójść na kilka rozmów, zobaczyć jakie są różnice pomiędzy ofertami i wybrać najodpowiedniejszą dla Ciebie. Jeśli miałeś jakieś ciekawe historie podczas rozmów rekrutacyjnych podziel się nimi w komentarzach 🙂