Bootcamp. Ścieżka juniora

 Bootcamp. Java. Ścieżka juniora. Trochę wkurzenia, trochę radości. Słodko-gorzko. Częściej gorzko niż słodko. Determinacja

 

Jestem Emil, mam 28lat. Skończyłem LO o profilu matematycznym, ale nie poszedłem na studia.  Programowaniem zacząłem się interesować ok 10 lat temu, kiedy założyłem swój sklep na silniku PrestaShop. W tamtych czasach fora internetowe nie były tak rozwinięte jak dzisiaj, więc chcąc dodać funkcjonalność do swojej strony, nie za bardzo mogłem to zrobić. Nie miałem żadnej wiedzy programistycznej a jedynie hobbystycznie (oraz z racji założenia sklepu) uczyłem się HTML oraz CSS, ale nic poza tym. Wtedy po raz pierwszy pojawił się pomysł, aby zacząć uczyć się programowania. Niestety interes nie wypalił, musiałem iść do jakiejkolwiek pracy, aby zarobić na utrzymanie.
 

Jestę programistę!

 

Po kilku latach pomysł na naukę programowania wracał, ale nie wziąłem byka za rogi.
Trzy lata temu, po kilku awansach, zacząłem pracować w biurze, gdzie miałem styczność z wieloma programami do obsługi firmy. Zaczęło mnie denerwować jak to wszystko topornie działa, wymyśliłem tyle udogodnień itp, że pomysł na programistę znów wrócił. Tym razem został ze mną na dobre…
Zacząłem drążyć temat programowania. Szukałem informacji przede wszystkim o tym od czego zacząć i oczywiście jaki język wybrać. Wybrałem Javę. Na ten moment ciężko mi ocenić mój pomysł. Zawsze lubiłem zaczynać od najcięższych rzeczy (podobno jeden z gorszych języków do nauki). Zacząłem czytać, oglądać, słuchać podcastów. Później zainstalowałem całe środowisko, do tego IntelliJ i zacząłem pisać swoje pierwsze “Hello world”, bo cóż innego? Jest!

 

Wyświetla się w konsoli!

 

Po nauce teorii, zacząłem szukać kursów, żeby zacząć tworzyć programy. Kupiłem kilka kursów online i zacząłem naukę. Zrobiło się ciężej. Rodzina i małe dziecko mają priorytet.Nie mówię, że jest to niewykonalne, ale praca 8h plus nauka w domu plus inne obowiązki i jeszcze czas na rodzinę to zbyt wiele, na jedną dobę. Zaczęło być to uciążliwe i jeśli coś nie szło po mojej myśli to często zostawiałem temat. Zacząłem uczyć się “na czas”, maksymalnie wykorzystywać tą godzinę czy dwie, ale często po prostu bardziej się stresowałem upływającym czasem niż skupiałem na nauce. Dlatego zacząłem szukać alternatyw jak inaczej mogę to zrobić. Trafiłem na bootcamp…
Wiem, co pomyślicie: aha! Czyli to reklama i artykuł sponsorowany! Nie jest to ani jedno, ani drugie. To będzie moja historia o tym, jak zacząłem i z jakimi problemami miałem do czynienia. Ale od początku…
Trafiłem na ofertę. Wyglądało, że to porządny bootcamp (bez nazw). Szukałem opinii, sposobów jak się zapisać (chociaż nie miałem takich pieniędzy,a dokładniej 10 tys zł). W końcu jednak skorzystałem z dofinansowania i zapisałem się na kurs. Przeszedłem selekcję, dostałem terminy, zadania, które miałem zrobić przed kursem, wstępne materiały. Zacząłem naukę póki co w domu. W końcu przyszedł ten moment, kiedy pojechałem na pierwszą lekcję stacjonarną. Wiele emocji i strach przed tym co będzie. Jeśli nie zaliczę egzaminów, które są w każdy piątek, to wypadam. Wtedy muszę zapłacić odsetki za dofinansowanie, i cały bootcamp szlag trafi. A skąd ja na to kasę wezmę? Dodatkowo tracę szansę na przynajmniej dwa miesiące, żeby ponownie iść na kurs…
Wszystko jednak skończyło się dobrze.

 

Opiszę jak wyglądała nauka.

I będzie to głos w obronie. Nierzadko słyszę, jak ludzie wyśmiewają osobę, która mówi, że skończyła bootcamp.

 

Po pierwsze – rezygnacja z życia codziennego na dwa miesiące jest naprawdę ciężką sprawą. Od początku siedzieliśmy 8h dziennie ucząc się, dodatkowo dostawaliśmy zadania do domu, więc dzień zaczynał się o godz 9 rano, a często kończył o 22 bądź o północy. To nie jest łatwe zadanie, dlatego nie można wyśmiewać tego, że ktoś skończył bootcamp. Oczywiście są pewnie różne szkoły. Tutaj tak to wyglądało. 

 

 

Po drugie – egzamin w każdy piątek trwał 2h i był zbiorem zadań, które były tworzone na podstawie lekcji z całego tygodnia. Nie to trudne zadanie. Mentor sprawdza każdą odpowiedź. Nie ma pytań teoretycznych, tylko czyste zadania z kodu. Jest próg punktów który zalicza, a jeśli noga się potknie jest jedna szansa poprawki. Kolejnej nie ma, nawet gdybym chciał dopłacić.

 

 

Po trzecie – ilość wiedzy, jaką człowiek musi przyswoić bez wcześniejszego doświadczenia programistycznego jest ogromna. Nakład pracy jest gigantyczny. Nie wiem jak to wygląda w innych szkołach. Wyśmiewanie pracy, którą włożyłeś w podczas nauki, jest dla mnie bardzo przykre. Ja wiem, że prawdziwy programista interesuje się tym od dziecka i w wieku 10 lat zbudował prom kosmiczny. Widocznie nie jestem prawdziwym programistą, bo nie miałem takiej ścieżki. Niemniej-warto czasem poświęcić tylko chwile i zapytać jak to wyglądało (tutaj głównie uwaga do HR bądź ludzi, którzy rekrutują). Nikt nie oczekuję współczucia. Jednak bardzo irytujący jest brak szacunku.

 

 

Po czwarte – różnice między mną przed kursem, a po kursie. Idąc na bootcamp potrafiłem wyświetlić w konsoli (oczywiście mówię o konsoli IDE 🙂 ) tablicę. Wychodząc z kursu jestem w stanie napisać coś, co faktycznie ma ręce i nogi. Ja napisałem aplikację, która zapisuje ludzi na kurs doskonalenia jazdy na motocyklu. To była moja praca na końcowe zaliczenie egzaminu. Wykorzystałem w niej wszystko czego się nauczyłem. Java, JQuery, Javascript, Hibernate, Spring, MySQL, model MVC. Nie żałuję tego czasu. To był ciężki czas dla wszystkich najbliższych. Nauczyłem się bardzo wiele.

 

 

Krótkie podsumowanie. Mój bootcamp: uważam, że warto. Ja nauczyłem się bardzo dużo, chociaż to kropla w morzu. Jest kilka rzeczy, które chciałbym poprawić (jak np. brak nauki wątków, które w Javie są bardzo ważne), ale tak czy inaczej polecam. Jest wiele form finansowania kursu (chociażby z UP), więc nie trzeba mieć takich pieniędzy. I kolejny raz powtórzę-tak, nie jestem wybitnym programistą. Ale jednocześnie uczulam przed śmianiem się z ludzi, którzy skończyli bootcamp. Większa konkluzja o tym dalej…

 

Szukanie pracy

 

Cel osiągnięty! Skończyłem kurs! Czas na szukanie pracy!
I tutaj pojawia się w zasadzie główny wątek tego artykułu. W tym momencie zderzyłem się z wielką ścianą…
Kurs skończyłem w grudniu, więc okres bardzo ciężki na szukanie pracy. Mimo wszystko ogłoszenia były, więc CV jak najbardziej wysłane. Styczeń okazał się równie martwym okresem, nawet jednego telefonu. Wiadomo, firmy zamykają budżety itp więc dałem sobie czas do lutego. Wreszcie jest, pierwszy telefon! Idę na rozmowę, wszystko przebiega dobrze, jestem zadowolony. Oczywiście “odezwiemy się do Pana”. Następnego dnia mam kolejny telefon, czasem nawet 3-4 telefony dziennie. To naprawde się dzieje! Faktycznie takich ludzi bardzo brakuje i jestem rozchwytywany!  
Mamy marzec, chodzę na rozmowy, ale nikt nie dzwoni. Kolejne “zadzwonimy do Pana” już nie jest takie fajne i zaczynam się denerwować. Firmy, które miały dać odpowiedź w ciągu tygodnia nie dzwonią już miesiąc. Nie może tak być, że Java nie jest językiem, który nie jest poszukiwany!
Pojawiają się jednak kolejne telefony, więc nadzieja się tli.
Mija kwiecień, maj, połowa czerwca… Dość, czas znaleźć inną pracę, bo zaraz nie będzie z czego żyć. Jednak pod koniec czerwca odzywa się firma, w której byłem na rozmowie dwa miesiące temu i udaje się, dostaję pierwsza pracę!

 

Przemyślenia o rekrutacji…

 

Chciałbym teraz opisać trochę rzeczy, których doświadczyłem przez ponad pół roku szukania pracy i które trochę się kłócą z wielkimi maksymami HR.

 

To co mnie denerwuje najbardziej, to pewne artykuły, które mówią jak to młodzi ludzie kpią z firm i nie przychodzą na rozmowy. Nie usprawiedliwiam takiego zachowania. Tym bardziej w czasach, gdzie komunikacji można dokonać na tak wiele sposobów mając przy sobie tylko smartfon. Jednocześnie do 90% firm do których aplikowałem (wysłałem łącznie około 400 CV!), nie dostawałem odpowiedzi, wcale. Rekordzistą jest wielka firma ubezpieczeniowa, która dała mi odpowiedź na początku czerwca (na rozmowie byłem w lutym, mieli się odezwać maksymalnie po dwóch tygodniach!). Z jednej strony więc mamy ludzi, którzy nie przychodzą na rozmowy, a z drugiej osoby, którym bardzo zależy na jakiejkolwiek odpowiedzi, a tej nie dostają. Czy tak trudno jest traktować innych z szacunkiem? Tak jak sami chcielibyśmy być traktowani? Czy taka pani z HR chciałaby, aby właśnie tak przebiegał proces jej rekrutacji? Pewnie nie, więc czemu to robicie innym?

 

Kolejną rzeczą jest fakt, że w 80% ogłoszeń widnieje magiczne doświadczenie. Jakim cudem osoba, która wchodzi na rynek ma posiadać rok czy dwa doświadczenia? Jeśli ktoś napisze jak to wykonać-będę wdzięczny. Bardzo wiele aplikacji zostało odrzuconych właśnie z tego powodu. 

 

Następnie – studia. Rozumiem, każdy chciałby kogoś po studiach, bo “lepiej” (chociaż tutaj też mam głosy, że niekoniecznie lepiej…). Po wielu tekstach ludzi z działu HR można wywnioskować, że najważniejszą rzeczą była motywacja i ścieżka, jaką ktoś przeszedł. Czy można być bardziej zdeterminowanym, niż rzucić swoje życie po kilku latach pracy w jednej firmie, wziąć kredyt, iść na bootcamp i zmienić swoje życie? Zawsze sądziłem, że to będzie swego rodzaju karta przetargowa. Przecież ktoś taki musi mieć mega silną motywację-pomyślałem. Niestety, jest to bardzo źle postrzegane i nie rozumiem dlaczego. Jeśli osoba po dwóch miesiącach nauki opanowała mnóstwo rzeczy, to ile będzie potrafił za pół roku?! HR mówi, że dążenie do celu jest najważniejsze albo patrzą na to, jaką ktoś przeszedł drogę i czy ma motywację do nauki-bzdura. Nie piszcie takich rzeczy, bo to tylko puste słowa.

 

Rzecz kolejna – wymagana wiedza na rozmowach. Uważałem, że najważniejszą rzeczą będzie rozumienie kodu. Zasad, jakie panują w programowaniu, pewnej logiki. Otóż nie. Najważniejsze jest, żebyś znał dokumentacje na pamięć. Nie musisz nawet umieć jej stosować! To jest paranoja. Rozmowy z seniorami (jak sądzę), w której główną rolę gra sucha teoria, gdzie podstawową zaletą w programowaniu jest logika? Co chcecie tym osiągnąć? Najlepiej obrazuje to rozmowa, którą przeprowadziłem w wielkiej firmie informatycznej. Zaczęliśmy rozmawiać o Springu. W pewnym momencie doszliśmy do pytania “jak odróżnić wiele beanów w kodzie?”. Powiedziałem, że trzeba dać adnotację nad metodą, a w niej można przypisać konkretną nazwę, dzięki czemu nic się nie pomiesza. Jednak po pytaniu “jak się nazywa ta adnotacja” niestety nie mogłem sobie tego przypomnieć. Ale co ciekawsze-pytający również zapomniał, jego kolega też. Więc pytam po raz kolejny-czy naprawdę sucha teoria jest tak ważna? Czy nie lepiej wiedzieć, że coś takiego istnieje? Przecież w dokumentacji możemy to sprawdzić w ciągu kilku sekund! 

 

Pytania techniczne zadawane przez HR-tutaj mamy kolejną kwestię, której towarzyszą nawet memy (Java to to samo przecież, co JS…). Miałem kilka rozmów telefonicznych, gdzie pani z HR zadawała mi kilka pytań technicznych. Ma to pewien sens, jeśli potem konsultuje to z kimś. Problem polega na tym, że jeśli nie znasz regułki to pani odpowiedzi nie zaliczy. Przecież można wytłumaczyć chociażby dziedziczenie na podstawie zwierząt czy samochodów, nie trzeba znać na to regułki! Niestety pani ma napisane inaczej. Niekoniecznie wie też, co ma napisane, więc odpowiedzi nie zaliczamy. 

 

Światełko w rekrutacyjnym tunelu

 

Jest jedna firma, której bardzo dziękuję za rekrutację. Dostałem zadanie, które wykonałem. Pani z HR odpisała, że niestety dziękują, ale jakość kodu była zbyt słaba. Jednocześnie zapewniła, że później tego dnia lub kolejnego dostanę feedback techniczny, który jest bardziej szczegółowy. I faktycznie-jedna jedyna osoba, która wywiązała się z obietnicy, chociaż mogła mnie olać! Dostałem maila, w którym mam wypunktowane moje błędy przez programistę. Nie ma nic lepszego dla juniora. To najlepsze co mnie spotkało podczas tej “walki” o miejsce. Wiedziałem dokładnie gdzie zrobiłem błąd oraz dlaczego tak się nie robi. Mail na dwie strony A4. To jest podejście, które mnie przekonało. Jeśli kiedyś będzie taka możliwość, to bardzo bardzo chętnie wyślę kolejny raz swoją aplikację do tej właśnie firmy.

 

Słaba jakość kodu-pewnie część z Was zauważyła i może pomyślała-no tak, ma słabą jakość kodu i chce programować, potwarz! Bootcamp nie nauczył mnie jak dbać o jakość kodu. I jestem zły z tego powodu. Ale.. Niech rzuci kamieniem ten, kto napisał pierwszy większy program zgodnie z clean code oraz innymi zasadami tak, że przynajmniej mid by się nie powstydził? No właśnie, do tego trzeba dojść. Rozumiem firmę z poprzedniego akapitu-widocznie mieli lepszego kandydata, więc wybór był prosty, jednak kilka firm również wysłało mi taką wiadomość. I teraz pytanie-czy ktoś na pewno szuka juniora? Może osoba wystawiająca ogłoszenie sie pomyliła i faktycznie szuka mida? To kolejny przykład tego, jak wiele wymaga się od juniorów. Nie twierdzę, że junior ma przyjść i napisać hello world, ale wymagania jakie trzeba spełnić są po prostu kosmiczne. I nie jest to tylko moje zdanie. Przez cały czas szukania pracy odezwało się do mnie wiele osób, które były/są w takiej samej sytuacji jak ja. Mało tego, odezwało się kilka osób, które są programistami (czasem seniorami) i potwierdziły, że firmy stawiają takie wymagania juniorowi, iż w zasadzie czasem można się czuć midem…

 

Podsumowanie

 
Pisząc ten artykuł chciałbym zwrócić uwagę na problem jaki dotyka juniorów. System rekrutacji jest w wielu firmach totalną porażką. Jeśli ktoś obiecuje odpowiedź za tydzień a wysyła ją za miesiąc lub wcale, to nie jest osobą odpowiednią. Nie ma prawa później pisać, że młodzi pracownicy nie szanują rekruterów ani firmy rekrutacyjnej. Nikt by się nie oburzył, gdyby ktoś ich tak potraktował? Jednocześnie rekruterzy sami to robią. Dodatkowo sam proces rekrutacji wymaga poprawy. Moim zdaniem nie można wymagać suchej teorii od człowieka, który niedawno ją posiadł. To nie jest kluczowe w programowaniu, najważniejsze jest rozumienie tego co robimy oraz logika, którą trzeba mieć aby napisać program. I bootcamp nie jest przekleństwem, a świadectwem mobilizacji i determinacji kandydata.
Jednocześnie chciałbym podziękować mojej kobiecie, bez której nie dalibyśmy sobie rady przez to pół roku!

 

Kontakt do Emila:

Linkedin

emil_sankowski@tlen.pl

 

Junior Java i jej praca – Anna Truszewska

Bootcamp. Ścieżka juniora
Bootcamp. Ścieżka juniora
Gorzko-słodko o tym, czym jest bootcamp i rekrutacja juniora. Propozycja zmian, nieco wkurzenia, wielka determinacja, aby się nauczyć i zmienić pracę. Dołki, dołki i górka.
Codeboy.pl