Kariera

Jak w 7 lat zostałem junior developerem

21 kwietnia, 2021

Wciąż rosnące zapotrzebowanie na senior developerów sprawia, że coraz częściej dyskutuje się o tym w jakim wieku można mówić o kimś, że jest już seniorem. Pojawiają się także artykuły pokazujące historię developerów, którzy tytuł seniora uzyskali w dwa lata lub nawet mniej.

Nie podważam słuszności takich dyskusji ani prawdziwości wspomnianych historii. Mam natomiast wrażenie, że ten cały trend ma także swoją negatywną stronę. Sytuacja kandydatów na juniorów jak i samych juniorów na naszym rynku nie należy do prostych a wspomniane dywagacje nakładają tylko dodatkową presję na nich. Nie ulega wątpliwości, że my jako ludzie bardzo lubimy historię osób, które bardzo szybko osiągnęły sukces i niechętnie słuchamy o tych, którym osiągnięcie danego celu zajęło o wiele dłużej.

Pomijając fakt, że nawet za “szybkimi” sukcesami najczęściej stoi multum porażek i przepracowanych w cieniu lat to powód takiego zachowania jest prozaiczny; tracimy chęć bycia na miejscu takiej osoby kiedy dowiadujemy się, że sukces to tylko mała część ich życia a zdecydowana większość to zwykła, często ciężka, konsekwentna praca - nie chcemy wysiłku kiedy to sukces jest dla nas atrakcyjny.

Ten artykuł to spojrzenie na całą sytuację z innej perspektywy. Perspektywy kogoś komu dojście do poziomu juniora zajęło wiele lat. Spojrzenie, które jest potwierdzeniem tego, że każdy działa według własnego zegara oraz tego, że to nie wrodzone predyspozycje determinują o sukcesie a świadomie podejmowane decyzje i małe kroki stawiane konsekwentnie każdego dnia, które w skali lat dają duże efekty.

Twoje umiejętności to kula śniegowa

To dobra i zła wiadomość. Dobra bo im dłużej ją toczysz tym staje się większa i następuje to coraz szybciej. Zła bo często zaczynając mamy do dyspozycji śnieg, który nie chce się łatwo związywać w całość i ulepienie nawet małej kuli to prawdziwa droga przez mękę.

Uderzanie głową w mur

Andrzej Dragan, polski doktor habilitowany fizyki, laureat wielu krajowych i międzynarodowych nagród oraz artysta, w jednym ze swoich ostatnich wywiadów podzielił się ciekawą opinią o tym, że fizycy pod względem umiejętności umysłowych niczym nie różnią się od pozostałych ludzi. Główną różnicą, która sprawia, że są oni w stanie zrozumieć i badać bardzo złożone koncepcje niezrozumiałe dla większości ludzi jest pewnego rodzaju zafiksowanie na punkcie danego tematu i wytrwałość dzięki, której tak długo walą głową w przysłowiowy mur aż zrozumieją dane zagadnienie. Co więcej proces ten jest powtarzalny i długi, zwłaszcza na początku drogi.

Mogę stwierdzić, że w 100% zgadzam się z tą opinią i można odnieść się do niej z prawie każdej dziedziny a zwłaszcza z dziedziny programowania. To stwierdzenie także pokazuje jak ważnym aspektem w procesie nauki jest ciekawość, konsekwencja i wytrwałość.

Burzenie głową muru

Trudno ukryć, że duża część ludzi zrezygnuje nim mur runie. Najbardziej jednak w tej sytuacji smuci fakt, że zdecydowana większość osób stwierdzi, że się nie nadaje zamiast przyznać, że nie ma siły, ochoty albo motywacji aby dalej próbować. Tak jest po prostu łatwiej bo nie przyznajemy się do własnych słabości a zrzucamy winę na tajemniczą siłę, która nie uzbroiła nas w wymagane predyspozycje podczas naszych narodzin.

Mimo, że po każdym rozbitym murze pojawiają się kolejne, wyższe lub niższe, grubsze lub cieńsze, to wszystko staje się trochę łatwiejsze. Nasza kula śniegowa umiejętności jest coraz większa, rozpędza się już szybciej zwiększając swoją masę dzięki czemu sprawniej pokonuje kolejne przeszkody.

Moim murem okazał się kurs języka PHP

Kończąc wywody oparte o różne analogie, warto abym poparł wszystkie te stwierdzenia własnymi doświadczeniami a te nie były wcale mniej bolesne nie uderzanie głową w mur.

Podekscytowany odkryciem HTML’a i wiedziony ciekawością postanowiłem zbadać jak to możliwe, że wiele stron oferuje możliwość tworzenia konta oraz manipulowania danymi. Ponieważ nie było to możliwe do osiągnięcia z HTML’em, musiałem znaleźć inny sposób i tak natrafiłem na język programowania PHP. Zbiegiem okoliczności w tym samym czasie w telewizji ujrzałem reklamę kursu PHP dołączonego do pisma komputerowego. Myślę, że moi rodzice nadal nie zdają sobie sprawy z tego jak ważne wsparcie okazali mi wtedy kupując tą gazetę w osiedlowym kiosku.

Mój początkowy entuzjazm został szybko zgaszony po tym jak uruchomiłem pierwszą lekcję i nie byłem w stanie zrozumieć podstawowych instrukcji i koncepcji. W prawdziwych mękach dotarłem do rozdziału o programowaniu obiektowym i odpadłem na długie miesiące. Później zakupiłem jeszcze dwie książki, których lektura też nie okazała się łatwym zadaniem.

Ostateczne starcie, zarówno z książkami jaki i wyżej wspomnianym kursem, wygrałem ponad dwa lata później po niezliczonych próbach pisania własnych aplikacji i programów, setkach godzin spędzonych na szukaniu zagubionego średnika i walczeniu z wewnętrznym głosem, który przekonywał mnie, że istnieją zajęcia do których nadaje się znacznie lepiej.

Parafrazując jednak słowa Vincenta Van Gogha, jeżeli słyszysz w sobie głos mówiący: NIE UMIESZ PROGRAMOWAĆ, programuj mimo wszystko a ten głos ucichnie.

Kule śniegowe innych ludzi

Kiedy w końcu nasza kula śniegowa nabiera kształtów zaczynamy zauważać kule śniegowe innych ludzi. Jedne są wielkie, inne są mniejsze ale lepione w ogromnym tempie a jeszcze inne mają inny kolor. Nie brakuje także ludzi, którzy zaczynają nam wytykać błędy, dzielą się dobrymi i mniej pożytecznymi radami. Niepokój w nas rośnie, pojawia się coraz więcej wątpliwości.

Wykształcenie

Takie wątpliwości dopadły także mnie po około 4 latach nauki programowania. Byłem wtedy świeżo po wyborze szkoły średniej i za radą rodziców wybrałem logistykę nie informatykę. W pewnym momencie ubzdurałem sobie, że przez to nie zostanę już nigdy programistą bo nie nadrobię materiału z technikum a co za tym idzie nie będę mógł pójść na studia informatyczne.

Nie zdawałem sobie wtedy sprawy z tego, że wszystko czego mógłbym nauczyć się w szkole mogę nauczyć się sam a wykształcenie w branży IT w bardzo wielu przypadkach nie jest czynnikiem decydującym o tym czy otrzyma się daną pracę czy nie. Zapotrzebowanie na pracę programistów nie było wtedy tak ogromne jak dzisiaj więc stopniowo tonąłem we własnych domysłach popadając w stany depresyjne.

Dobra rada od kogoś kto zna smak tego chleba

Podobno w ważnych sprawach powinno radzić się przede wszystkim tych, którzy byli w miejscu do którego my zmierzamy bo w innym wypadku zamiast wartościowych rad otrzymamy bukiet widzimisię kogoś kto niekoniecznie podziela nasze pasje i cele.

Ponieważ w tamtym czasie porzuciłem programowanie w PHP na rzecz języka Ruby, postanowiłem napisać maila do doświadczonego programisty Ruby, którego bloga znalazłem gdzieś w internecie. Na tamten moment był to jeden z nielicznych blogów o Ruby prowadzonych po polsku. Zebrałem wszystkie swoje obawy w jeden długi mail i po prostu zapytałem o radę.

W odpowiedzi otrzymałem bardzo życzliwą i szczerą odpowiedź. Jej przekaz był jasny: tylko od ciebie zależy czy zostaniesz programistą a brak wykształcenia nie przekreśla twoich szans, liczą się głównie umiejętności. I choć nie pamiętam dokładnej treści całego maila, ten fragment utkwił mi w głowie na tyle mocno, że od tamtego momentu postanowiłem się nim kierować za każdym razem gdy nowe wątpliwości zaleją moją głowę.

Nieustanne porównania źródłem stresu

Szczególnie w czasach ogólnie dostępnego internetu, cały czas bombardowani jesteśmy historiami innych ludzi oraz obrazami tego jak wygląda ich życie. Wystarczy rozglądnąć się wokół i z pewnością znajdziemy kogoś kto w naszym wieku osiągnął już sporo więcej, być może dawno znalazł pierwszą pracę i awansował na stanowisko seniora.

Z drugiej jednak strony możemy odszukać wiele osób, które poradziły sobie o wiele gorzej i miejsce w którym się teraz znajdują jest już daleko poza nami. Nie ma innego remedium na to nieustanne bombardowanie informacjami niż uzyskaniem balansu pomiędzy popadaniem w samozachwyt względem ludzi, którzy mają gorzej a popadaniem w zwątpienie względem ludzi, którzy są o wiele dalej.

Nie warto się porównywać ale warto się wzorować i pytać o radę. Wbrew pozorom osoby, które są o wiele dalej od nas bardzo chętnie dzielą się swoimi spostrzeżeniami, które jak się okazało w moim przypadku były na wagę złota.

Uważaj na duże kule z kruchą konstrukcją

Bez solidnych podstaw duże konstrukcje szybko runą przy okazji najbliższej kryzysowej sytuacji albo w obliczu większego wyzwania. Zapał w połączeniu z brakiem doświadczenia ma to jednak do siebie, że często pcha nas do wykonania czegoś bez należytego przygotowania.

Tak było w moim przypadku gdyż po ponad 5 latach nauki programowania i wykonaniu kilkunastu mniejszych zleceń zapragnąłem stworzyć firmę, która będzie realizowała tworzenie oprogramowania na poważnie. Zapowiadało się całkiem dobrze, pierwsze zlecenia i zadowoleni klienci. Brak należytego skonstruowania umów sprawił jednak, że wraz ze swoim wspólnikiem poddaliśmy się gdy skończyliśmy dosyć spore zlecenie jednak nie doczekaliśmy się zapłaty za nie.

Całość naszej działalności można uznać bardziej za partyzantkę niż przemyślane działanie więc nie widziałem w tej działalności swojej szansy choć nadal jestem dumny z siebie, że spróbowałem. Z dużą dozą pokory, w wieku 19 lat postanowiłem poszukać swojej pierwszej pracy jako junior software developer i nie porzucać swojego marzenia o zostaniu programistą.

Mów mi junior developer

W tamtym okresie zdawałem sobie sprawę, że mimo, że zrealizowałem już kilkanaście projektów, większych i mniejszych to tak na dobrą sprawę mam słabe pojęcie o dobrych praktykach prowadzenia i tworzenia projektu. Jedyne co mnie interesowało to znalezienie miejsca w którym mogę zacząć się uczyć i zdobywać doświadczenie jako programista. Wiedziałem, że najtrudniejszy będzie pierwszy krok a później drzwi branży IT staną do mnie większym otworem.

Dzisiaj, 9 lat później, nadal pracuję w tej samej firmie do której dołączyłem jako junior developer krótko po zamknięciu swojej “firmy” lecz teraz pełnię w niej obowiązki CTO. Z perspektywy czasu zdaję sobie sprawę jeszcze bardziej jak chaotyczna była moja wiedza zanim postanowiłem uczyć się od kogoś bardziej doświadczonego. Wiem także jak ważne jest aby nie czekać na szansę i próbować na własną rękę choćby tworząc serwisy internetowe, które przetrwają jeden dzień (ale to już temat na osobny artykuł) czy inne projekty, które nigdy nie ujrzą światła dziennego.

Wszystkich tych lat przed podjęciem pracy jako etatowy developer nie uważam za zmarnowane lub stracone, wręcz przeciwnie. Kiedy widzę artykuł o kimś kto w dwa lata doszedł od zera do senior developera uśmiecham się bo wiem, że nie ma na to złotej reguły. Jednak jedna rzecz jest pewna - nie ominie ciebie ciężka praca, walka z własnymi słabościami i stereotypami, które często istnieją tylko w naszej głowie. Nie uważam też programistów za super wybitnych ludzi ale darzę ich szacunkiem bo wytrwali na swojej drodze i zburzyli wiele murów aby być w miejscu w którym obecnie są.

Jeżeli więc czujesz, że bycie software developerem to zajęcie właśnie dla Ciebie, nie odpuszczaj. Nie zatrzymuj się choćbyś miał robić każdego dnia mały krok. W skali lat te małe kroki okażą się fundamentem twojego zawodowego sukcesu. Trzymam za Ciebie kciuki!

Dołącz do newslettera aby otrzymywać informacje na temat nowych artykułów oraz wartościowych materiałów edukacyjnych