Rozwojowa firma, czyli wymarzone miejsce dla juniora

rozwojowa firma dla programisty

Firma do której trafisz jako początkujący programista ma ogromne znaczenie. Być może nie zdajesz sobie z tego sprawy, ale to czy jest to rozwojowa firma ma kluczowy wpływ na Twoją dalszą karierę zawodową. Tym bardziej, jeśli poszukujesz pierwszej pracy i dopiero zaczynasz w branży IT. Nie tak dawno temu sam to wszystko przerabiałem. Dlatego chętnie podzielę się z Tobą moim doświadczeniem i radami dzięki którym będziesz wiedział na co zwracać uwagę poszukując lub zmieniając firmę jako junior developer.

Spis treści

Szybko nie znaczy dobrze

Tak naprawdę nie ma większego znaczenia jak szybko znajdziesz pracę – w końcu to nie wyścigi. Z kolei statystyki, to tylko sucha liczba nieuwzględniająca czynnika ludzkiego. Bardzo wiele zależy przecież od Twoich indywidualnych predyspozycji oraz tego w jaki sposób zdobywałeś wiedzę techniczną i uczyłeś się programować.

Liczy się bowiem nie jak szybko, ale to jaką znajdziesz pracę. Po skończeniu bootcampu, szukałem swojego pierwszego pracodawcy około dwa miesiące. Przez ten czas wysłałem cv do wielu różnych firm i intensywnie rozwijałem swoje umiejętności techniczne. Znam osoby, nawet z mojego kursu, które zaczęły pracę jeszcze w trakcie zajęć. Ale z drugiej strony, znaczna większość uczestników w ogóle pracy nie znalazła, albo zajęło im to znacznie dłużej niż mnie. Z mojej grupy liczącej kilkanaście osób zatrudnienie w IT znalazły trzy osoby.

Warto więc żebyś wytrzymał presję i zaczekał na swój moment. Naprawdę dobrze jest trafić we właściwe miejsce. Niech rozwojowa firma będzie Twoim celem. Nawet jeśli jej poszukiwanie ma Ci zająć sześć miesięcy. Byle szybko i byle gdzie to najgorsze co możesz zrobić. Pamiętaj też, żeby ten czas spędzić możliwie produktywnie, najlepiej ucząc się i dalej rozwijając swoje kompetencje. A skoro mowa o wymarzonej firmie, to gdzie warto trafić, a jakich miejsc unikać jak ognia?

Wielkość bez większego znaczenia

Obecnie w mojej około dwuletniej karierze zawodowej jako backend developer miałem okazję pracować w kilku firmach. Często zmieniałem pracodawcę, poszukując rozwojowej firmy. Były to skrajnie różne miejsca i co za tym idzie zupełnie inne doświadczenia. Od małej (niemalże rodzinnej) firmy, przez agencję interaktywną, startup, aż po międzynarodową korporację.

Każda z firm wytwarzała i utrzymywała oprogramowanie. Jednak moja rola jako programisty i potencjał do rozwoju wyglądał zupełnie inaczej. Spotykam się z opinią, że dobrze jest być programistą w korporacji, czyli dużej firmie. Moim zdaniem wielkość firmy nie ma większego znaczenia. Zdecydowanie ważniejsze jest to jaka będzie Twoja rola w organizacji i czy pracodawca stworzy Ci warunki do rozwoju dając jednocześnie pole do wykazania się.

Junior to inwestycja

Juniorom nie jest zazwyczaj dane przebierać w ofertach. Tylko około 10% ogłoszeń o pracę dotyczy początkujących developerów. Trudno się temu dziwić. Jako adept sztuki programowania dopiero rozpoczynasz swoją karierę i masz wiele do udowodnienia swojemu pracodawcy. Zatrudnienie juniora to zawsze pewnego rodzaju inwestycja w przyszłość firmy. To osoba, która się uczy i której potencjał warto wykorzystać.

Tyle teoria, a jak jest w praktyce? Bardzo różnie. Spotkałem się ze skrajnymi podejściami do roli juniora w organizacji. Niestety nie wszyscy są świadomi, że początkujący programista, to nie wyrobnik i wykonawca mniej ambitnych zadań. To po prostu mniej doświadczony developer.

Inwestycja w pracownika ma to do siebie, że wymaga wysiłku i zwraca się dopiero po czasie. Warto o tym pamiętać. Niestety pracodawca może bardzo łatwo zmarnować potencjał juniora. Chętnie więc opowiem Ci co może czekać Cię w pracy i z jakim podejściem do juniora spotkasz się w dobrej, rozwojowej firmie.

Obowiązkowy onboarding

Mam wrażenie, że firmy, niezależnie od wielkości i profilu, bardzo często zapominają, że onboarding developera, a zwłaszcza juniora, to konieczność. Na czym więc ten proces polega?

Przychodząc do nowej firmy wiesz o niej bardzo niewiele. Proces onboardingu pozwala Ci zapoznać się z kulturą tej organizacji i dosłownie – w bezbolesny i efektywny sposób – wejść na jej pokład. Mam tu na myśli coś więcej niż poznanie struktury firmy i zadań wykonywanych przez poszczególne zespoły.

Dobry i skuteczny onboarding skupia się głównie na ludziach, z którymi przyjdzie Ci pracować na co dzień. Wstępem do tego procesu bywa jeszcze podczas rekrutacji dzień próbny w firmie. Chodzi o to żebyś jak najlepiej poznał swoje środowisko pracy, które tworzą głównie ludzie i relacje między nimi. Zadania i strukturę firmy zdążysz jeszcze poznać. Uwierz mi, że to nie jest wcale najważniejsze.

Onboarding to też spotkania z najważniejszymi osobami w firmie. Mogą być organizowane w większych grupach dla osób, które dołączają do pracy w podobnym czasie. Proces ten zwykle trwa tygodnie, a nawet miesiące. Jeśli firmie realnie zależy na Tobie i Twoim rozwoju, to z pewnością zadba o wprowadzenie Cię w swoje struktury.

Moim zdaniem onboarding to jedna z najważniejszych cech dobrych organizacji. A zarazem znak rozpoznawczy, już na wstępie, że pracodawca traktuje Cię poważnie i widzi w Tobie potencjał na długotrwałą inwestycję. Natomiast patrząc od strony pracownika, proces onboardingu daje Ci czas na spokojne i skuteczne wdrożenie się nową firmę, bez niepotrzebnego pośpiechu oraz stresu.

Płaska i partnerska struktura

Hierarchiczne struktury odchodzą dziś do lamusa, zwłaszcza w sektorze prywatnym, a tym bardziej w branży IT. Nie dziwi więc fakt, że team leader, czy CTO, to Twój kumpel, a nie „przełożony”. Nierzadko siedzi razem z Tobą w pokoju lub zaraz przez ścianę. Chodzicie wspólnie na lunch i spotykacie się po godzinach.

Nie „urzęduje” w gabinecie i nie przyjmuje podwładnych na spotkania. Jest po prostu taką samą częścią firmy jak Ty, nawet jeśli jesteś „tylko” juniorem, a on doświadczonym „wyjadaczem”. O to właśnie chodzi w płaskiej strukturze. Ty też masz coś do powiedzenia, Twoje zdanie się liczy i ma realny wpływ na kierunek rozwoju firmy.

Zadania adekwatne do poziomu

Jeśli czujesz się w nowej firmie jak ktoś kto mniej znaczy i dostajesz do zrobienia zadania, których nikt nie chce wykonywać, to znak, że warto zastanowić się czy odpowiednie miejsce dla Ciebie.

Z doświadczenia wiem, że przypadku początkujących php developerów firmy lubią delegować ich do mało ambitnych zadań front-endowych np. poprawiania layoutów stron oraz nanoszenia poprawek i grzebania w starym kodzie javascriptu. Niestety takie zadania nie mają to nic wspólnego z backendem i nie rozwijają Cię w ramach technologii której się uczysz, czyli języku php. Uwierzcie mi, że zakusy na robienie z php developerów tzw. „fullstacków od wszystkiego” jest bardzo często spotykane, zwłaszcza w małych firmach.

Dobrym zdaniem dla junior backend developera może być np. napisanie testów do istniejącego fragmentu aplikacji. Dzięki temu poznasz w szczegółach działanie modułu, który testujesz. Rozwiniesz się również robiąc refactor istniejącego kodu lub implementując nową funkcjonalność.

I w drugą stronę, nie jest też dobrze jeśli jako junior developer dostajesz od początku zbyt trudne zdania. Na przykład związane z architekturą systemu przy którym pracujesz, implementacją wzorców projektowych itp. Pracodawca, który traktuje Cię poważnie i wiąże z Tobą przyszłość swojej firmy z pewnością przydzieli Ci zadania adekwatne do Twojego poziomu zaawansowania.

Może się też okazać, że Twoja firma traktuje juniorów taśmowo jako tanią i tymczasową siłę roboczą do wykonywania mało istotnych zadań. Kilka tygodni lub miesięcy pobytu w takim miejscu z pewnością nie będzie służyć Twojemu rozwojowi.

Senior i jego bezcenny feedback

Jednym z najistotniejszych czynników Twojego programistycznego rozwoju jest feedback, który otrzymujesz od bardziej doświadczonych developerów. Dlatego tak ważne jest, aby firma, do której trafiasz, już od początku wyznaczyła Ci merytorycznego opiekuna.

Rady i wskazówki oraz code review, które robi regularnie senior developer są elementem, którego nie może zabraknąć w Twojej codziennej pracy. Dzięki nim oraz cennemu feedbackowi szybko rosną Twoje umiejętności i rozwijasz się technicznie. Mam tu na myśli konstruktywny feedback, który nie ma na celu krytyki Twojej pracy lecz wskazanie obszarów i elementów wymagających poprawy.

Rozwojowe firmy starają się dbać o merytoryczne wsparcie swoich juniorów. Kosztem takiego podejścia jest poświęcanie przez seniorów części swojego czasu pracy na pomoc mniej doświadczonym programistom. Taka współpraca niesie jednak ze sobą obustronne korzyści. Junior otrzymuje bezcenny feedback i wartościową wiedzę, natomiast senior oprócz ugruntowania swojej wiedzy dostaje od juniora często bardzo cenne informacje zwrotne. Poznaje także inne spojrzenie na omawiany problem z punktu widzenia mniej doświadczonego developera.

Rozwojowe projekty

Nie da się ukryć, że to ile nauczysz się jako junior developer zależy od projektu przy którym pracujesz. Dobrze jeśli aplikacja rozwija się i otrzymuje nowe funkcjonalności odpowiadając na potrzeby biznesu. Trudno pracuje się przy „tworze”, który jest wyłącznie podtrzymywany przy życiu i nie ma perspektyw na przyszłość.

Idealnie jeśli pracując jako junior developer masz możliwość wyboru lub przynajmniej po jakimś czasie zmiany projektu, przy którym pracujesz. Wejście w nowy projekt niesie ze sobą dla początkującego programisty dużą wartość merytoryczną. Pozwala stopniowo poznawać i wdrażać się w nowe obszary techniczne, a dzięki temu stawać coraz bardziej wszechstronnym i doświadczonym developerem.

Słowem podsumowania

Jak widzisz, warto już na początku swojej kariery programistycznej trafić do rozwojowej firmy. Jeśli pracujesz w miejscu, w którym nie rozwijasz się, to warto możliwie szybko podjąć decyzję o zmianie firmy. Dzięki temu unikniesz stagnacji i przede wszystkim marnotrawienia czasu na nierozwojowe projekty i zadania.

Istotą pracy programisty, niezależnie od poziomu doświadczenia, jest nauka i ciągłe doskonalenie swoich umiejętności. Pamiętaj, że Twój rozwój jest najważniejszy i możliwy wyłącznie w rozwojowej firmie. Życzę Ci abyś znalazł takie miejsce. Powodzenia!

Wojciech Pilich

Autor tego bloga. PHP Developer z pisarskim zacięciem. Wyznawca czystego kodu, a zwłaszcza zasad YAGNI i KISS. Pasjonat nowych technologii, fan Gwiezdnych Wojen, a po pracy miłośnik kotów syberyjskich. Z wykształcenia humanista, z zamiłowania programista.

Dodaj komentarz

*