Tomek Nastały miał dość pracy w branży budowlanej, która nie dawała mu zbyt wielu perspektyw na rozwój. W lutym 2016 r. ukończył kurs w infoShare Academy na junior front-end developera i podjął decyzję o zostaniu programistą. Teraz realizuje się w jednej z czołowych gdańskich firm IT.
Jak zostać programistą? Jak zrodził się pomysł na zostanie programistą?
Decyzja o zostaniu programistą była wypadkową wielu czynników. Myślę, że główny wpływ na to miało moje zamiłowanie do matematyki i rozwiązywania łamigłówek oraz brak satysfakcji z pracy w budownictwie – czułem się już zmęczony i wypalony. Praca w budownictwie wygląda inaczej niż praca w IT – człowiek jest narażony na ciągły stres, nikłe perspektywy, branża nie jest innowacyjna i panuje całkowicie inna kultura pracy. Dodatkowym czynnikiem był mój brat, który od wielu lat jest UX Designerem, po części to on mnie namówił, bym spróbował swoich szans w programowaniu.
Zastanawiasz się, jak zostać programistą?
Sprawdź dzienny kurs Front-end od podstaw
Nie myślałeś o czymś innym niż kodowanie?
Nie (śmiech). Wiedziałem, że branża IT jest fajna, wygląda zupełnie inaczej niż np. branża handlowa czy budowlana. W przypadku pracy w biurze konstrukcyjnym, większa część pracy polega na korzystaniu z gotowych formularzy do obliczeń, natomiast pracując na budowie, nie ma się życia poza pracą. Branża IT oferuje o wiele lepsze perspektywy, jest innowacyjna, można ciągle uczyć się czegoś nowego, nie jestem w stanie wskazać żadnej innej branży w Polsce, która obecnie przeżywa tak świetny okres.
Jak zacząłeś uczyć się programowania?
Zacząłem uczyć się sam. Na ok. trzy tygodnie przed kursem miałem urlop z poprzedniej pracy, którą zakończyłem. Przez ten czas przygotowywałem się z materiałów, które znalazłem w Internecie, np. Codecademy, Code School. HTML i CSS okazały się dość łatwe do opanowania, zatem główny nacisk położyłem na naukę JavaScriptu.
Następnie trafiłeś do infoShare Academy. Jak do tego doszło?
Do Akademii zgłosiłem się około miesiąc przed kursem. Informację o kursie znalazłem w Googlach. Szukałem jakiejś szkoły programowania w Trójmieście i tak trafiłem na infoShare Academy. Stwierdziłem, że podjadę tutaj i porozmawiam z Marcinem (Marcin Pokojski, ówczesny CEO infoShare Academy - przyp. red.). Marcin rzeczowo przedstawił cały program, więc stwierdziłem, że będę w dobrych rękach. Wychodząc z tego spotkania nie miałem już wątpliwości, że jest to dobra decyzja. Był to też czas, w którym dopiero trwała pierwsza edycja kursu junior front-end developer, więc nie miałem okazji jeszcze pogadać z żadnym absolwentem, musiałem zaufać intuicji.
Teraz chyba zdarza się, że Ty sam dla wielu osób jesteś takim źródłem informacji?
Tak, to się zgadza. Dwie osoby zaczepiły mnie na LinkedIn z pytaniami o kurs i o to, jak zostać programistą. Trójka znajomych również wzięła już udział w bootcampie. Więc tak, zdarza się, że ludzie zaczepiają i podpytują czy warto.
Dlaczego zdecydowałeś się na kurs z front-endu, a nie z back-endu?
Podczas poszukiwań odpowiedzi na pytanie, jak zostać programistą i wejść do branży IT, stwierdziłem, że we front-endzie jest niższy próg wejścia na rynek (z samą znajomością HTML i CSS można już się gdzieś zaczepić, ale to rzadkość), a dodatkowym plusem była duża ilość ofert pracy. Moim zdaniem, we front-endzie widać też szybciej efekty nauki, nie trzeba mieć jakieś ogólnej wiedzy o programowaniu, aby coś tworzyć. W dodatku JavaScript jest obecnie o wiele potężniejszym językiem niż parę lat temu, między innymi dzięki przemyślanym frameworkom i bibliotekom do budowania interfejsów (np. React.js).
Czy przed kursem wiedziałeś, jak wygląda praca programisty?
Po rozmowie z bratem orientowałem się tak mniej więcej, co robi programista, ale nie miałem żadnego pojęcia o metodykach Agile czy pracy w zespole scrumowym. Myślałem, że siedzi się cały dzień przed komputerem i klika. Nie wiedziałem, że tyle czasu poświęca się na np. sprawy organizacyjne czy code review. Oceniam, że obecnie z ośmiu godzin pracy maksymalnie sześć to kodowanie, a pozostałe dwie godziny to ustalenia, scrum, omawianie funkcjonalności z bardziej doświadczonymi ludźmi. Jest lepiej niż myślałem na początku!
Czyli mit programisty, który siedzi zamknięty w ciemnym pokoju i przez cały dzień klepie kod nie ma żadnego pokrycia?
Tak, to jest mit (śmiech).
Jakie rzeczy z tych, których się uczyłeś spodobały Ci się najbardziej i dlaczego, a co nie przypadło Ci do gustu?
Na początku najbardziej spodobał mi się popularny framework do pisania aplikacji Angular.js – w przeciągu dwóch-trzech godzin mogłem wreszcie zrobić coś więcej niż typowe TODO App. Efekt przyśpieszenia pracy był niesamowity. Poczułem, że jest power w tym frameworku, dlatego stwierdziłem, że w przyszłości to właśnie w nim chcę pracować. Dostrzegłem, że znajomość Angulara JS lub Reacta JS jest cenna na rynku, dlatego cieszę się, że obecnie pracuję właśnie w Angularze.
Obecnie pracujesz w tej technologii, która tak bardzo spodobała Ci się podczas kursu?
Tak, pracuję z Angularem, a cały kod piszę w TypeScripcie – jest on bardziej czytelny dla ludzi z back- endu ze względu na składnię przypominającą C#.
Wróćmy do tego, co mniej przypadło Ci do gustu podczas kursu. Było coś takiego?
Przez pierwszy tydzień kursu nie bardzo podobał mi się GIT, bo nie do końca rozumiałem, co tam się dzieje pod maską. Okazało się jednak, że to jak zwykle kwestia praktyki i poczytania dokumentacji Gita – wtedy nastała jasność (śmiech). Nie znam firmy, która nie używa obecnie Gita, dobre opanowanie systemu kontroli wersji, pozwoli zaoszczędzić wiele czasu na rozwiązywaniu niepotrzebnych konfliktów w kodzie.
W trakcie kursu w infoShare Academy nieodłącznym jego elementem są kontakty z partnerującymi firmami. Jak wyglądały relacje między tymi partnerami a kursantami?
Myślę, że firmy partnerskie to jeden z głównych czynników, z powodu których infoShare Academy odniosła sukces i cieszy się taką popularnością. Podejrzewam, że bez partnerów sporo osób nie zdecydowałoby się na kurs – w tym ja. Nawet możliwość dofinansowania kursu nie jest tak istotna, jak możliwość zdobycia szansy na rozmowę w topowych firmach. Bez doświadczenia komercyjnego trudno się gdzieś załapać na rozmowę, dlatego to był główny czynnik, który zadecydował o moim udziale w kursie Akademii.
Twoje oczekiwania zostały spełnione?
Tak, udział firm partnerujących pomógł mi zdecydowanie. Dostałem możliwość odbycia trzymiesięcznego stażu w firmie LPP – bardzo miło wspominam ten czas i ludzi, z którymi pracowałem. Natomiast stack technologiczny nie pokrywał się do końca z tym, co chciałem robić – zabrakło mojego ukochanego Angulara. Dlatego, kiedy dostałem możliwość pracy w projekcie angularowym, zdecydowałem się na zmianę pracodawcy. Skorzystałem z oferty firmy Goyello, która również jest partnerem infoShare Academy i obecnie pracuję przy aplikacji opartej o Angular JS.
Co z momentami kryzysowymi podczas kursu?
Nie miałem takich momentów. Wszystko bardzo mi się podobało. Z góry założyłem, że dwa miesiące poświęcę na pracę. Nie skupiałem się na złych myślach, bo miałem świadomość, że to tak naprawdę tylko te dwa miesiące, które w praktyce mijają bardzo szybko. Wchodzimy pierwszego dnia i już po chwili czterdzieści dni jest za nami. Poza tym moi domownicy wiedzieli, że muszę ten czas poświęcić na ciężką pracę. Zrozumieli to i nie odrywali mnie od niej.
InfoShare, to nie tylko nauka kodowania, ale także ludzie. Jak wspominasz ten aspekt kursu?
Uważam, że miałem ekstra grupę. Nie spodziewałem się, że ludzie z tak wielu branż próbują migrować do IT. Był muzyk, lingwiści, fizjoterapeuta, nawet pracownik parlamentu europejskiego. Taki miks osobowości owocował tym, że na przerwach poruszaliśmy wiele ciekawych tematów. Z paroma osobami mam do dzisiaj kontakt. Często widzimy się na różnych eventach IT. Wiem, że te osoby, z którymi utrzymuję kontakt zdołały znaleźć pracę.
Ludzie, to też nie tylko kursanci, ale pracownicy Akademii. Często tutaj wpadam, np. przy okazji zajęć z angielskiego, które dla nas - pracowników prowadzi w tym budynku moja firma. I za każdym razem czuję się, jakbym wpadał do liceum i odwiedzał starych nauczycieli.
Trenerzy byli bardzo otwarci, poza tym że nas uczyli, mogliśmy na przerwach z nimi porozmawiać, pograć w piłkarzyki. Większość trenerów jest w podobnym wieku, co kursanci, a to na pewno ułatwia kontakty i przełamuje pewne bariery. Niektórzy trenerzy sami zachęcali nas do zadawania im dodatkowych pytań poza godzinami kursu. Swobodnie opowiadali też o tym, czym zajmują się na co dzień poza kursem.
Według Ciebie wspomniane budownictwo albo filologia mogą pomóc czy przeszkodzić w nauce programowania?
Zanim poszedłem na kurs wydawało mi się, że trzeba mieć background techniczny. Ale już na kursie zauważyłem, że bardzo dobrze dają sobie radę np. lingwistki. Zawsze znajdą się ludzie, którzy mają lepsze predyspozycje do wykonywania danego zawodu, ale mimo to, każdy ma szansę zmienić profesję i znaleźć satysfakcjonującą pracę w IT. W programowaniu przede wszystkim liczy się ilość włożonej pracy, poświęconych godzin.
Jak wygląda Twój dzień pracy jako programista?
W mojej firmie są elastyczne godziny pracy. Zaczynamy między 7:30 a 9:30. Na początek robię herbatę, sprawdzam pocztę firmową, ustalam czy coś muszę doszlifować w kodzie z poprzedniego dnia i co będę robił dzisiaj. Pracujemy w pełnym scrumie, dlatego codziennie o 10:15 mamy daily, podczas którego mówimy, co robiliśmy wczoraj i co będziemy robić dzisiaj, dzięki temu wszyscy są zorientowani, jaki jest status prac w sprincie. Nasz klient pochodzi z Belgii, dlatego towarzyszą temu konferencje przez Skype z belgijską częścią teamu. Wspólnie pracujemy nad aplikacją dla pilotów. Aplikacja wykorzystywana jest przez parę tysięcy samolotów. Klient czasem podsyła nam zdjęcia pilotów, którzy używają naszej aplikacji, co daje fajne poczucie, że nasza praca naprawdę komuś się przydaje.
Po daily najczęściej każdy już siada do komputera i skupia się na swojej pracy do końca dnia. Zdarza się też, że w ciągu dnia pojawiają się jakieś sprawy do omówienia. Zwłaszcza jak jest się juniorem, to lepiej coś skonsultować z bardziej doświadczonym developerem – na to też poświęcam jakąś porcję czasu. Został mi przydzielony mentor, do którego zawsze mogę się zwrócić w razie problemów.
W większości firm IT odbywa się sporo eventów, więc to nie jest tak, że siedzimy ciągle przy komputerze. U mnie w firmie są tzw. „SKMki” czyli „Share Knowledge Meeting” – godzinne spotkania, podczas których ktoś robi wykład na temat jakiejś biblioteki, nowości na rynku itp. Raz w miesiącu są „Pizza Meetingi”, podczas których ktoś z firmy przygotowuje wykład, a w między czasie delektujemy się pizzą. Sporo jest też rzeczy poza pracą – np. gramy razem w koszykówkę.
Macie jakąś przerwę?
Nie mamy sztywno ustalonych przerw i związanej z tym kontroli czasu. Każdy robi sobie przerwę, kiedy czuje, że ma taką potrzebę. Jest też możliwość częściowej pracy zdalnej, ale i tak większość osób przychodzi do biura.
Czy musisz spotykać się z klientami?
Po stronie belgijskiej mamy swojego product ownera, do którego każdy ma dostęp. Kiedy ktoś pisze jakąś funkcjonalność i ma wątpliwości, jaki ma być efekt końcowy, to może się do niego zwrócić. Co dwa tygodnie mamy podsumowanie sprintu i najczęściej jest tak, że każdy prezentuje wtedy swoją część pracy przed klientem z Belgii. To, co robiliśmy podczas kursu – prezentacje produktu przed partnerami Akademii, ma realne odzwierciedlenie w naszej pracy.
Klient z Belgii? Zatem porozumiewacie się z nim po francusku?
Nie (śmiech). U nas standardowym językiem jest angielski. Przy czym nie trzeba prezentować jakiegoś super poziomu, żeby się dogadać. Angielski między B1 a B2 spokojnie wystarcza, żeby zaprezentować to, co się zrobiło lub podczas codziennej pracy. Poza tym mamy w firmie dwie godziny angielskiego tygodniowo. Warto się uczyć angielskiego też dlatego, że najlepsze materiały do nauki kodowania są po angielsku. Na pewno nie ma też co się przejmować, że nasz angielski nie jest na satysfakcjonującym poziomie. Przy regularnych rozmowach płynność przyjdzie czasem. Klienci wiedzą, że nie jest to nasz język natywny. Zdarza się czasem, że sami mówią od nas gorzej, także nie należy się niczego obawiać.
Czym jest dla Ciebie nowy zawód?
Nowy zawód traktuję po prostu jako kolejny etap w życiu. Po studiach i czterech latach pracy w zawodzie budowlańca przyszedł moment znudzenia. Teraz na pewno tydzień w pracy mija ciekawiej. Człowiek też wie, że ma lepsze perspektywy, bo nie ukrywajmy – obecnie IT jest najbardziej perspektywiczną branżą w Polsce. Według mnie praca w IT jest mniej stresująca niż praca w budownictwie, czuję, że przekłada się to na lepsze samopoczucie podczas dnia. Praca w IT to też możliwość poznania wielu osób np. podczas różnego rodzaju eventów. Ludzie są bardzo otwarci, co po raz kolejny obala mit stereotypowego programisty, stroniącego od świata samotnika.
Przeczytaj także:
Jak pracuje polski programista? Wyniki Stack Overflow Annual Developer Survey
Co dalej? Jakie plany zawodowe?
Na pewno nie wrócę do starej branży. Tak naprawdę to chyba obecnie każda poza IT odpada. Mam plan uczyć się dalej, wejść na poziom seniora, chcę dalej kodować.
Jako absolwenta Akademii nie ciągnie Cię w stronę uczenia?
Obecnie pomagam dwóm osobom, które chcą się przebranżowić. Uczę je technologii front-endowych. Tego właśnie brakowało mi samemu zanim poszedłem na kurs – nie było osoby, która pouczyłaby się ze mną z miesiąc. Dobrze mieć kogoś znajomego, kto wskaże tę pierwszą ścieżkę, jeśli planujemy uczyć się przed kursem. Technologii jest obecnie tak dużo we front-endzie, że części nie warto się uczyć, bo są już nieaktualne, front-end jest bardzo dynamiczny i trzeba trzymać rękę na pulsie. Nie wykluczam zatem, że kiedyś będę chciał poświęcić jakiś czas na nauczanie innych. Osiem lat udzielałem korepetycji z matematyki. Jest to ciekawe, lubię uczyć ludzi, a podczas takiego nauczania można wielu rzeczy nauczyć się samemu. Ludzie zadają pytania, a człowiek zaczyna się zastanawiać nad tym, co robił odruchowo przez ileś tam lat. Uczenie innych jest na pewno kolejną możliwością rozwoju.
A co robi programista po godzinach?
Powiem szczerze, że często zdarza mi się coś kodować w domu. Wydaje mi się, że w IT jest tak, że człowiek w końcu zaczyna tym mocno żyć. Myśli o tym, co robił w pracy, zastanawia się, czy nie da się tego zrobić lepiej. Najczęściej poświęcam jedną-dwie godziny na poduczenie się czegoś nowego, czytam blogi. W wolnym czasie lubię pograć w pokera oraz Starcrafta lub po prostu pojeździć na rowerze. Od trzech miesięcy dojeżdżam do pracy rowerem z Sopotu, bo stwierdziłem, że skoro cały dzień siedzę przy biurku, przyda się trochę ruchu. Sporą cześć czasu po pracy najzwyczajniej odpoczywam – leżę na kanapie i przeglądam głupoty w internetach. Wbrew pozorom po kilku godzinach intensywnego myślenia przy komputerze człowiek potrafi być fizycznie zmęczony. Niektórzy myślą, że praca programisty jest bardzo lekka, niestety są dni, że człowiek wraca zmęczony jak po maratonie.
Czy na koniec rozmowy masz jakieś rady dla obecnych i przyszłych kursantów Akademii o tym, jak zostać programistą?
Z mojego doświadczenia mogę powiedzieć, że warto budować swoje portfolio na GitHubie. Po prezentacji projektu na kursie lub podczas rozmowy kwalifikacyjnej można wtedy pokazać coś więcej niż tylko projekt grupowy. Warto robić bardziej złożone zadania lub wymyślić jakąś aplikację i spróbować ją zrobić, a następnie wykonać review z kimś doświadczonym i wrzucić na GitHuba.
Dobrym pomysłem jest też zrobienie własnej wizytówki www, którą umieści się na LinkedIn oraz w CV. Dodatkowa praca poza kursem bardzo procentuje. Wartą uwagi inicjatywą w Trójmieście, do której każdy może dołączyć, jest np. grupa Koduj dla Polski. Taka aktywność bardzo zwiększa szansę podczas rozmowy. Potencjalny pracodawca widzi, że bierzemy udział w jakichś inicjatywach społecznych, interesujemy się kodowaniem, a poza tym możemy wiele się nauczyć, ponieważ w tego rodzaju projektach bierze udział sporo doświadczonych developerów. Po zakończeniu kursu, sam wziąłem udział w jednym z projektów, podczas którego bardzo dużo się nauczyłem. Myślę, że pomogło mi to potem znaleźć wymarzoną pracę.
Poza tym kolejną dobrą praktyką, którą bym polecił kursantom, to utrwalanie materiału w domu. Warto poświęcić jeszcze codziennie ze dwie-trzy godziny na naukę nowych rzeczy lub przygotowanie się do kolejnego dnia. Te dwa miesiące kursu, to wciąż trochę za mało, a materiału jest sporo.
Tomku, Twoje rady oraz cała Twoja opowieść na pewno okażą się cennym źródłem informacji dla wielu ludzi zadających sobie pytanie „Jak zostać programistą?”. W nowym zawodzie radzisz sobie świetnie, a mnie pozostaje tylko życzyć Ci jeszcze większych sukcesów i niemalejącego zadowolenia z pracy. Bardzo dziękuję za rozmowę.
Rozmawiała Agata Kublicka