Zapraszam do zapoznania się z wywiadem, który miałem przyjemność przeprowadzić z Agatą. Dziewczyna, która skończyła budownictwo na Politechnice Gdańskiej, pracowała kilka lat w zawodzie, jednak nie widziała tam dla siebie miejsca. O tym, jak odkryła smykałkę do programowania i wkroczyła na zupełnie nieznaną ścieżkę kariery w branży IT. Obszerna lektura, która po raz kolejny udowadnia, że człowiek może uczyć się przez całe życie.

Piotr Nowosielski: Cześć Agata! Jest parę minut po 17, spotykamy się w Olivia Business Centre, gdzie właśnie skończyłaś pracę. Fajnie, że znalazłaś dłuższą chwilę, bo coś się nie mogliśmy zgrać ostatnio! 😉

Agata Bereza: Cześć, zabiegana jestem nieco bardziej niż zwykle, przyuczam się teraz na samodzielnego developera. Jestem świeżo po dwóch miesiącach kursu, także obecnie najważniejsza jest dla mnie praktyka. Sporo rzeczy robię pod nadzorem doświadczonego programisty, który wyznacza mi kierunek. Cały czas pojawiają się nowe rzeczy/zagadnienia, z których istnienia nie zdawałam sobie sprawy. Dlatego też i po pracy uzupełniam wiedzę i szlifuję to, co już umiem. Stąd deficyt czasu!

Piotr: Sporo tego na głowie! Spokojnie, zaraz przejdziemy konkretniej, jak to wyszło, że weszłaś do IT. Nieco naokoło, ale często tak bywa. Powiedz na samym początku, jak się odnajdujesz w tym zupełnie nowym dla Ciebie świecie?

Agata: Już jako junior java developer, choć jeszcze nie samodzielny dev, a wsparcie. Podoba mi się to. Totalna zmiana kierunku w życiu zawodowym. Może nieco więcej o mnie: zawsze lubiłam łamigłówki logiczne. Studiowałam budownictwo lądowe na polibudzie. Branża IT dla mnie ciekawa jest z tego powodu, że cały czas uczysz się czegoś nowego, tworzysz.W pracy inżyniera budowlanego, zwłaszcza w biurze projektowym szybko można popaść w rutynę, a tutaj cały czas są nowe rzeczy, nowe funkcjonalności i… problemy! Które w końcu ktoś musi rozwiązać. 🙂

Część mojego czasu w firmie związana jest z pracą, ale mam też czas wydzielony stricte na naukę. Mamy pair programming (czyli programowanie w parach), starszy developer mnie naprowadza, a czasami po prostu zostawiona jestem samej sobie. Mam dany temat, np.: “Naucz się wątków w Javie” – sama sobie szukam, jak chcę do tego podejść.

Piotr: Skoro zaczęliśmy od pracy, to niech tak będzie. Mijają właśnie 3 miesiące, pierwszy kwartał Twojej nowej pracy. Podsumujmy je sobie.

Agata: De facto zaczęłam miesiąc później, sporo było formalności do załatwienia. W korporacjach są różne organy, które mają swoje procedury wdrożeniowe, dlatego musiałam przejść podczas rekrutacji jeszcze rozmowę techniczną, miałam zadanie do wykonania itp. To wszystko przypadło na pierwszy miesiąc.

Jeśli natomiast chodzi o te ostatnie 3 miesiące, które spędziłam już w biurze – to nieustanne szlifowanie tematu i trochę stresu, ponieważ wszystko jest nowe, a Ty do tego jesteś otoczony grupą doświadczonych ludzi, którzy wiedzą o wszystkim więcej od Ciebie.

Kurs przechodziłam od końca marca do końca maja w infoShare Academy w Gdańsku. To były dwa bite miesiące w systemie dziennym po 8 godzin od poniedziałku do piątku.

Piotr: O tym za moment, powiedz jednak, bo zachodzę w głowę – skąd pomysł na programowanie?

Agata: Złożyło się na to kilka czynników. Pierwszym z nich jest to, że mój chłopak jest programistą, który wyjechał na kontrakt do Belgii, gdzie pojechałam z nim i też załapałam się do pracy “w zawodzie”. Przy okazji pracy z autocadem zauważyłam, że można go samemu rozwijać i tworzyć te narzędzia, co też robiłam w ramach pracy.

Zaczęłam zatem wgłębiać się w temat, ponieważ chciałam sobie i mojemu zespołowi ułatwić nieco pracę w tym narzędziu. Wtedy narodziła się też myśl – że może po powrocie do Polski poszłabym w tę stronę.

Co więcej, mój szef w Belgii wysłał mnie na kurs programowania i zauważyłam, że nawet mi to wychodzi! To oczywiście miało związek wyłącznie z programowaniem w VBA (Visual Basic for Applications) – czyli język, którego możesz używać do tworzenia makr (nieco bardziej złożonych komend w Excelu).

Idąc dalej za tym – skoro to działa i to mnie jara – to dlaczego nie?

Dlatego jak wróciłam do Polski, to stwierdziłam, że idę w tę stronę. Jednak im dalej w las, tym więcej drzew i tutaj kolejne pytania – jaki język wybrać? Weszłam zatem na stronę z ofertami pracy i zobaczyłam, czego jest sporo. Nie chciałam marnować czasu, także stwierdziłam, że idę od razu na kurs, drogą eliminacji, patrząc pod dogodny termin, znalazłam sobie infoShare Academy. To wyniknęło też z tego, że jestem Gandalfem (pełny obraz tu):

Piotr: Dobry motyw! Czyli jednak do czegoś ta Polibuda Ci się jednak przydała. Przez Autocada, bocznymi drzwiami do IT. Czy miałaś żal po zmianie: budownictwo – programowanie? W końcu 5 lat studiów, jakieś doświadczenie, itp

Agata: Trochę żalu pozostaje, ale na zasadzie – gdzie już bym była, jakbym uczyła się w tym czasie programowania. Nie miałam żalu rozstać się z tym, co robiłam dotychczas. wiele osób po budownictwie pracuje po 60 godzin w tygodniu, gdzie płaca nie jest adekwatna do włożonego wysiłku i to prowadzi do olbrzymiej frustracji i zmęczenia” – czego oczywiście będąc programistą można uniknąć. Dlatego w kontraście do tego – dlaczego zwyczajnie nie nauczyć się programowania?

Samo budownictwo wymaga skupienia uwagi i analitycznego myślenia, co bardzo mi się teraz przydaje, także nie jest tak, że to był stracony czas.

Poza tym, na kursie, na który chodziłam – na 15 uczestników, aż 5 osób było po budownictwie. Z tego co wiem, wszyscy dostali pracę, także pozytywnie! 🙂

Piotr: Przejdźmy zatem już stricte do Twojej nauki. Czy miałaś jakieś podejście do programowania przed przystąpieniem do kursu?

Agata: Korzystałam z Coursera, portal z kursami, które bardzo często prowadzą renomowane uniwerki, także robiłam sobie moduły pod Javę, totalne podstawy. To mi dało wyłącznie pewien pogląd na temat, aby nie przyjść zupełnie na sucho. Brakowało mi jednak fundamentów. Generalnie jest w sieci mnóstwo kursów interaktywnych, aby można było samemu poćwiczyć, najlepiej jednak po angielsku, w końcu programuje się właśnie w tym języku. Robiłam nieco zadanek i podszkoliłam się, ale w bardzo podstawowym zakresie.

Kiedyś nawet poruszaliśmy ten temat na infoShare, że zupełnie bez poświęcenia dodatkowego czasu poza godzinami kursu byłoby ciężko być na kursie, ponieważ on pokazuje Tobie przede wszystkim jak programować, jednak pewne podstawy musisz powtarzać we własnym zakresie, szczególnie, gdy przyswajasz 8 godzin dziennie zupełnie nową dziedzinę nauki, o której wcześniej nie miałeś pojęcia. Trudno jest się uczyć matematyki od zera nie wykonując prac domowych i nie ćwicząc w domu.

Osoby, które sporo czasu poświęcały na programowanie po godzinach, były na bieżąco, inne, które tego nie robiły, często nie nadążały.

Piotr: Czy sam przebieg szkoleń Ciebie zaskoczył? Jak tak, to czym.

Agata: Hmmm… zaskoczył mnie na pewno ilością nowych tematów. Nie zdawałam sobie sprawy, ile rzeczy jest tam ze sobą powiązanych, nie znałam narzędzi, które mogą mi w czymś pomóc.

Pozytywnie zaskoczyła mnie formuła, gdzie przychodzili ludzie z firm zewnętrznych, mogłeś sprawdzić siebie jak to jest, robiąc coś przed innymi, jak pracować w grupie – bo wiadomo – ile ludzi, tyle charakterów, nie każdy może być tak samo zmotywowany i odwrotnie.

Piotr: Sam kurs jak był skonstruowany, co robiliście tam na co dzień. Poza nauką w formie wykładów, jak to była forma?

Agata: Byliśmy podzieleni na mniejsze grupy. Na kursie jest maksymalnie 16 osób, także mieliśmy 4 grupy po 4 osoby, a każda z nich realizuje swój autorski projekt.

Piotr: Co to znaczy – swój projekt?

Agata: Dla przykładu – mieliśmy zrobić jakąś aplikację, która ma coś analizować, cokolwiek. Np. porównywać lokaty bankowe, albo zrobić projekt komunikacji miejskiej, lub mobilną listę zakupów.

Projekt oczywiście zostaje zatwierdzony przez prowadzącego, a my od początku do końca pracujemy nad nim, przy okazji poznawania nowych tematów. codziennie około ¾ dnia to wykłady i ćwiczenia. Np. podstawy Javy, frontendu, itp. Po tym mamy czas na swój projekt, a trenerzy są do dyspozycji w razie pytań, aby nam pomóc.

Na przykład – na początku pokazują nam, jakie jest środowisko do programowania – już wiesz, od czego zacząć. Następnie konwencja nazywania klas – zaczynasz je tworzyć. w ten sposób cały czas dochodzą kolejne cegiełki.

Piotr: Jak wyglądała w praktyce Twoja praca w zespole na kursie?

Agata: samo programowanie, jak się okazało, to nie tylko pisanie kodu! Lecz również całkiem sporo planowania 🙂

Także na początku ustalaliśmy sobie zasady w zespole, co oznacza dla nas, że coś jest gotowe. Mieliśmy tygodniowe sprinty, gdzie określaliśmy zakres zadań, które chcieliśmy wykonać. Np. chcemy, aby appka odpalała się na lokalnym serwerze. Później, aby robiła rzecz X, miała oddzielne moduły, itp. pracujesz nad strukturą, logiką tego wszystkiego.

Piotr: Skupmy się konkretnie na Twoim przykładzie: na co wpadło czterech świeżaków na kursie?

Agata: Ja miałam kulawą grupę! Były tylko 3 osoby, także więcej roboty – ale więcej też się nauczysz 🙂 Nasz projekt to było takie jakdojade.pl, ale nasza własna wersja. To było inne podejście, ponieważ chcieliśmy, aby zgrał się z komunikacją miejską nasz osobisty kalendarz. Czyli planujesz sobie dzień i to, co w jakiej kolejności zrobisz, a aplikacja wyznacza Ci godziny wyjścia z domu i trasy na przystanek, a także sugeruje, jakimi środkami transportu masz się przemieszczać.

Piotr: Jak długo rozwijaliście ten projekt?

Agata: Od początku do końca, czyli 2 miesiące, ale nie było teamu, któremu udało się zamknąć całość. mieliśmy stworzyć absolutnie zadowalające minimum, które można było chociaż przetestować. Wersję beta. Była spora presja czasu, a te 2 miesiące dosłownie wyjęte z życia.

Tak jest, ponieważ te średnio 2 godziny dziennie, które mamy na rozwój projektu, zwyczajnie nie wystarczają. Wracasz do domu i siedzisz dalej. Uzupełniasz materiał, bo czegoś nie zrozumiałeś, zawsze czegoś nie wiesz.

Piotr: Opowiedz coś więcej o tym, jak dużo zdarzało Ci się siedzieć na kursie – po kursie? 🙂

Agata: No tak wiesz… północ to było minimum! Ale byli ludzie z kursu, których żegnałam o 2:00 na slacku 😉 Widać było, kto jest aktywny, kogo można było się o coś zapytać. Mieliśmy super atmosferę, ludzie sobie pomagali, byliśmy razem i wszyscy byli zmotywowani.

Oczywiście na początku można było wysiedzieć do tej 2:00-3:00… w końcu kurs był dopiero na 9:00, nie na 7:00! 😉 Ale długo tak się nie pociągnie. Wiesz, to ten efekt, gdy masz coś swojego, co rozwijasz, to jest motywacja. W pracy programisty zupełnie inaczej działa na Ciebie to, jak pracujesz nad czymś swoim, niż nad cegiełką w jakiejś wielkiej maszynie!

Piotr: Zero taryfy ulgowej… Wszystkim zależało rzeczywiście tak samo?

Agata: Wychodzisz z założenia, że jak idziesz na kurs, to będziesz poświęcać prawie 90% swojego czasu tylko na to, jeśli masz coś z niego wynieść. Jak nie przećwiczysz, nie doczytasz, to z czasem wpadniesz w pułapkę, bo czegoś nie jesteś świadom, co tam może być pod spodem. Wydaje Ci się, że zrobiłeś coś dobrze, a tak naprawdę zupełnie inne rzeczy się tam dzieją i ich wynik może być różny w zależności od środowiska.

Piotr: Nieźle, brzmisz jak rasowa programistka!

Agata: posłuchałbyś programistów z większym stażem, praca z nimi to czasami jest jak mówienie w innym języku!

Piotr: W każdym razie sprawiasz wrażenie, jakbyś siedziała mocno w temacie. Jak to się przełożyło na szukanie/ znalezienie pracy?

Agata: Nie lubię mówić o sobie! 🙂 Ale jak czegoś nie wiem, to lubię drążyć temat. Nawet na kursie było tak, że jak czegoś nie znałam, to nie dawałam spokoju tym mentorom. Pytałam się, jak to się robi rzecz X, jak powinno robić się rzecz Y. Myślę, że jak się jest otwartym i nie boi się pytać to jest to pozytywnie odbierane – ja dzięki temu zyskałam kilka poleceń do firm, gdzie były otwarte stanowiska juniorskie.

Piotr: Jakie były efekty?

Agata: Byłam na dwóch rozmowach, ale sprawy nie poszły tak, jakbym chciała. Moja wiedza nie była jeszcze tak dobrze ugruntowana na tamten czas. Nie wiedziałam czego do końca się spodziewać, co powinnam wiedzieć. Także udało się dopiero za trzecim razem!

Zawsze masz zestaw mniej więcej standardowych pytań, ale jest sporo zaskoczenia, np podczas zadań logicznych. Musisz mieć wiele pomysłów, jak rozwiązać jedno zadanie, biorąc pod uwagę wszystkie czynniki.

Piotr: Wydaje się, że wszystko co mogłaś, to wyciągnęłaś z kursu. Sporo miałaś pytań, męczyłaś trenerów, ale o to w tym też chodzi. Z czym miałaś największy problem?

Agata: Trudno jest być non-stop zmotywowanym, a w programowaniu czujesz, że musisz się cały czas uczyć. Chciało mi się chodzić na kurs, ale ilość wiedzy i jej ogrom był przytłaczający – patrzysz, jak wiele się nauczyłeś, a tu jeszcze kolejne rzeczy. To się praktycznie nigdy nie kończy. Nie każdy jest przystosowany do tego, aby się non-stop uczyć, a to troszeczkę na tym polega.

Każdy w końcu ma taki dzień, gdy myśli sobie – no nie ma szans, dziś nic mi nie wpadnie do głowy! Dlatego ważne jest, aby mieć work-life balance. Jak będziesz non-stop kodował, to się wypalisz w mgnieniu oka. Dwa miesiące to super czas, aby być mocno zmotywowanym, ale warto jest też nieco odpocząć.

Piotr: Przychodził kryzys – jak sobie z tym radziła Agata?

Agata: Czasami dobrze jest po prostu zacząć. Wydaje Ci się, że się nie chce, zrób sobie przerwę, czas dla siebie, nie pluj sobie w brodę. To wraca z nawiązką. Siadasz i zaczynasz czuć, że wychodzi, rozwiązujesz problem, który wcześniej był za duży. To daje satysfakcję – kończysz jedno zadanie, które wcześniej nie działało i “hurra! mam ochotę na więcej”. 🙂

Piotr: Która część materiału była najtrudniejsza?

Agata: Jeśli chodzi o same narzędzia programowania – to jest raczej spoko, raz się nauczysz i później już to znasz. Najtrudniejsze dla mnie było zrozumienie, jak to się wszystko składa w całość, chodzi o sam kod. Nie wiesz, jak coś się dzieje pod spodem, a to jest istotne. Nie myślisz o performance, aby wszystko działało szybko, co się wtedy stosuje. Wiele elementów musisz sobie w głowie (a później w kodzie) połączyć w całość.

Wykorzystywanie wiedzy dopiero co nabytej, bez większej praktyki – to było również bardzo dużym wyzwaniem. Na oswojenie się ze wszystkim trzeba czasu, a tempo jest spore!

Piotr: Poszłaś na kurs Javy – co zatem było dla Ciebie najtrudniejsze z backendu?

Agata: Bardziej zaawansowana Java. Jak powiązać frontend z backendem. Nasze ulubione porównanie. Budowlańcy są jak backendowcy, a frontendowcy jak architekci. Nie przejmują się tym, jak to ma działać, tylko projektują, a później zaczynają się schody… 🙂

Piotr: Czy już trochę wyluzowałaś po kursie?

Agata: Wydaje mi się, że tak. Wiadomo, inaczej jest w szkole, a inaczej w pracy. Na kursie możesz pozwolić sobie na więcej luzu, a w pracy powinieneś być zmobilizowany i dawać z siebie maksa.

Piotr: Nadal uczysz się po godzinach?

Agata: Uczę się. Staram się minimum godzinę wyciągnąć dla swojej nauki. Wychodzi lepiej, lub gorzej. W weekendy mam nieco więcej czasu. Mam takie swoje podręczniki, które chciałabym przerobić – Joshua Bloch – Effective Java. Dużo ludzi to poleca. Szykuję się też na ukończenie kursu na Courserze – został mi ostatni etap, projektowy.

Lubię sobie także dla rozrywki porobić CodeWars. masz tam zadania logiczne, aby nieco bardziej podszkolić się z programowania, takie sudoku dla programisty. 🙂 Masz z tego więcej frajdy, niż gdybyś miał robić sztampowe zadania i przyswajać teorię.

Piotr: Jak szybko znalazłaś pracę od momentu ukończenia kursu w infoShare Academy?

Agata: Miesiąc, ale to wynikało z rekrutacyjnych procedur. Oni byli zainteresowani mną, ale musiałam przejść proces, aby dostać się do firmy. To była weryfikacja z ich strony, dostałam zadanie techniczne, aby sprawdzić, na jakim poziomie dla nich jest moja wiedza, jakich technologii używam

Piotr: Te dwa miesiące to niewiele. Jak podchodzą do Ciebie nowi koledzy z pracy, programiści?

Agata: Na początku bałam się, że ktoś może będzie patrzył na mnie z góry w stylu: “jesteś po kursie, nie masz studiów, co Ty tutaj robisz dziewczyno…”. Ale pozytywnie się zaskoczyłam, inni podchodzą do mnie bardzo empatycznie, także pomagają. Inni wychodzą z inicjatywą, np. pouczmy się razem czegoś nowego (w przypadku początkujących programistów).

Dają mi też łatwiejsze zadania, sugerują, czego powinnam użyć, ale nie mówią od a-z, co zrobić, tylko muszę sama kombinować, a później konsultuję, czy dobrze poszło, czy może zastosować inną technologię. Czasami robimy coś razem, to tak zwany pair programming.

Piotr: Powiedz tak już na zakończenie, gdy weszłaś do tego świata – czy to teraz Cię nadal kręci?

Agata: Zdecydowanie. Ważne, abyś miał swoją odpowiedzialność. Czujesz, że jesteś potrzebny, czujesz, że możesz sam coś zrobić. Widzisz zespół, który docenia Twój wkład i sam się rozwijasz. Podoba mi się międzynarodowe środowisko, rozmawianie z ludźmi po angielsku, dzięki czemu mogę sprawdzić swój język, można też zobaczyć, jak Ci idzie praca na tle całego zespołu. To faktycznie motywuje i potwierdza, że podjęłam dobrą decyzję. 🙂

Zapraszamy do dyskusji