Bez doświadczenia NIE JESTEŚ junior developerem

Przerobiłeś kilka kursów związanych z programowaniem więc aplikujesz na stanowisko junior developera? Jest bardzo mała szansa, że ktokolwiek się Tobą zainteresuje.

Małe doświadczenie, a nie jego brak

Przygotowując się m.in. do tego wpisu przejrzałem kilkanaście ogłoszeń o pracę dla juniorów na kilku popularnych portalach. Zapytałem też Google jak można zdefiniować junior developera. I wiesz jakie informacje znalazłem?

Popracuj żeby pracować

Jeśli chodzi o ogłoszenia to praktycznie wszystkie były zgodne. Minimum to pomiędzy pół roku, a rok doświadczenia w programowaniu.

Można mieć wrażenie, że kiedyś było to przesunięte bliżej zera. Jednak tak naprawdę odkąd pamiętam w ofertach na stanowiska juniorskie pojawiały się wzmianki o doświadczeniu. Moim zdaniem nie jest to żadna złośliwość ze strony pracodawców. Jest to po prostu najprostszy filtr odsiewający osoby z pierwszego zdania tego wpisu. Bo jeżeli się przyjrzysz dokładnie to zobaczysz, że w przeważającej większości nie ma tam wzmianki o „doświadczeniu komercyjnym” tylko o „doświadczeniu”. Jeżeli od pół roku rozwijasz swoją aplikację i jest to faktycznie coś co starasz się robić sam to jak najbardziej możesz uznać, że pół roku doświadczenia posiadasz. Co prawda działa to głównie w przypadku juniorskich stanowisk ale wiele osób o tym zapomina. Tym doświadczeniem jest też oczywiście odbyty kilkumiesięczny staż. Zwykły staż wakacyjny stawia Cię w lepszej pozycji w kolejce po pracę juniora.

Łączenie faktów

Bo tak naprawdę w tym doświadczeniu, o którym mowa chodzi przede wszystkim o obycie z pracą przy projekcie. Przerabiając kursy i na tym kończąc nie umiesz pracować z projektem. Nie musisz szukać rozwiązania nowych problemów. Bo podążasz za krokami autora i jeżeli coś nie działa to po prostu sprawdzasz co pominąłeś. Nie potrzebujesz zastanawiać się jak coś rozplanować. Bo struktura pracy jest zasugerowana przez kurs. Nie dzielisz sobie pracy na zadania. Bo tym zajął się autor kursu i to on wyznaczył kolejne etapy.

A rozwijając coś swojego już takie doświadczenie zdobywasz. Ponieważ zaczynasz to często musisz szukać jak coś zrobić w swojej aplikacji. Skoro robisz aplikację to masz wyznaczone funkcje jakie powinna mieć, a więc masz listę rzeczy do dodania. Własny projekt to nie jeden element, o którym mówił kurs. To zbiór wielu elementów, które musisz połączyć w całość.

Nagrałem też film na temat bycia programistą po samych kursach. Znajdziesz go na moim kanale, do subskrybowania którego Cię zapraszam:

Kto Ty jesteś?

W przypadku definicji kim jest junior developer zdania są podzielone. Jedni uważają, że jest to osoba, którą ciągle trzeba prowadzić za rękę i nie dostarcza wartości biznesowej. Inni twierdzą, że jest to osoba niesamodzielna, ale dostarczająca wartość kiedy się jej przypilnuje. I to z tą drugą grupą się zgadzam. Wg mnie aktualnie juniorem można nazwać osobę, która nie ma problemu z dodaniem w projekcie czegoś podobnego do istniejących fragmentów. Potrafi też na podstawowym poziomie poruszać się po kodzie. Ale za to trzeba się upewnić, że dobrze zrozumiała zadanie. A w razie potrzeby podpowiedzieć jakich konstrukcji mogłaby użyć w kodzie. Wykonanie zadania zajmie też tej osobie trochę więcej czasu.Jeżeli dajemy juniorom trochę swobody to kod takiej osoby często łatwo poznać podczas code review kiedy wszystko ogólnie działa, ale dużo w takim kodzie można zrobić lepiej.

Junior vs stażysta

Podstawową różnicą pomiędzy juniorem, a stażystą nie jest długość stażu pracy. Tak naprawdę podstawowa różnica to to w jakim celu taka osoba jest zatrudniona.

Stażysta = inwestycja w przyszłość

Stażysta jest bezpośrednią inwestycją w przyszłość. Firma zatrudnia taką osobę aby mogła NAUCZYĆ SIĘ jak się pracuje. Poznać sposób grupowej pracy z kodem, zarządzania zadaniami, kulturą organizacyjną. Jest to po prostu osoba, którą się uczy i przygotowuje do zostania programistą. Zatrudniając stażystę firma godzi się z tym, że ten człowiek będzie wymagał inwestowania w niego pieniędzy i czasu, a jednocześnie nie będzie przynosił żadnych przychodów firmie.

Przykładowo kiedy u nas zatrudniamy stażystę do zespołu to klient nie płaci za niego ani złotówki. Cały koszt bierze na siebie nasza firma. Stażysta nie jest liczony do ilości osób w zespole i często jego zadania sprowadzają się do analizy pracy innych albo pisania kodu, który niekoniecznie jest związany bezpośrednio z projektem. Kiedy skończy się okres stażu to w idealnym wypadku dostajemy osobę, która zna podstawy pracy z kodem w prawdziwym projekcie i jednocześnie poznała sposób funkcjonowania w firmie. Dzięki temu wystarczy zmienić umowę ze stażowej na juniorską i zacząć dawać takiej osobie prawdziwe zadania. I liczyć go jako pełnoprawnego członka zespołu, który wymaga dużo krótszego okresu wdrożenia.

Junior daje wartość

Zatrudniając juniora już się czegoś od niego wymaga. Przede wszystkim tego, że będzie przynosił przynajmniej minimalną wartość firmie. Będąc zatrudnionym jako junior powinieneś mieć jakieś pojęcie o tym jak wygląda praca z prawdziwym projektem i umieć działać mając wyznaczone zadania. Nie musisz wszystkiego wiedzieć. Nie ma problemu z tym, że będziesz potrzebował dodatkowych wyjaśnień do zadania albo zapytasz o to czego powinieneś użyć do rozwiązania problemu. Jednak jeżeli nie wiesz jak przeglądać kod albo masz problem z użyciem czyjegoś rozwiązania w trochę innym kontekście to już jest kiepsko. Jako junior nie będziesz prowadzony za rękę linijka po linijce. Co najwyżej dostaniesz dodatkowe wyjaśnienia, sugestie, propozycje zmiany albo informacje gdzie coś znaleźć.

Jeżeli w zespole jest jeden mid/senior, który wykonuje X zadań w ciągu dnia to zatrudnienie juniora powinno zmienić tą wartość do Y, tak że Y > X. Jeżeli junior wymagałby prowadzenia za rękę przez całe zadanie to ten mid/senior nie mógłby poświęcić czasu na swoje zadania. A wtedy ilość tych zamkniętych nie tylko by nie wzrosła ale prawdopodobnie by spadła. Nie po to się kogoś zatrudnia żeby zmniejszyć ilość wykonanej pracy! Junior będzie prawdopodobnie dostawał prostsze zadania jednak musi potrafić przynajmniej częściowo działać samodzielnie przy ich wykonaniu.

Zrób coś sam

Osób chcących zajmować się programowaniem jest coraz więcej. Jednak duża część z nich ma problem z tym, że pracodawcy wymagają chociaż minimalnego doświadczenia. Ignorują oni równocześnie opcję pójścia na płatny (!) staż. A nie chodzi tutaj o jakąkolwiek złośliwość. Jedynie o to, że pracownika zatrudnia się po to żeby przynosił korzyść firmie. Niezależnie od tego na jakim poziomie się go zatrudnia. A osoba, która nigdy sama niczego nie wykonała nie przyniesie nawet minimalnej wartości. Nawet jeśli pracowałaby za darmo to jedyne co to powoduje to minimalne zmniejszenie kosztów jakie generuje taki pracownik. Jeżeli nie można od Ciebie wymagać jakiejkolwiek samodzielności, nie miałeś okazji zobaczyć z czym wiąże się tworzenie projektu i wszystkiego dopiero się będziesz uczył to jeszcze nie jesteś na etapie aby ktoś dał Ci pełnoprawną pracę.

Zrozumiałem to dopiero w momencie kiedy sam byłem stażystą, a teraz jestem osobą, która ocenia inne osoby przychodzące na rozmowy oraz nadzorującą ich pracę w projekcie.

Paradoks?

Jednak nie jest to żaden powtarzany paradoks, że chcą pracownika z doświadczeniem, ale przez to nie ma jak tego doświadczenia zdobyć. Bo takie doświadczenie nie musi być komercyjne. Wystarczy, że zrobisz coś swojego co nie będzie podążaniem krok po kroku za tutorialem. Wtedy możemy zacząć rozmawiać o pracy, a nie tylko o stażu.

Dodatkowo jeżeli jesteś dopiero na etapie wybierania języka i nauki programowania to zachęcam się do obejrzenia poniższego filmu gdzie mówię dlaczego lepiej jest zbierać praktykę w czymkolwiek niż zbyt długo szukać idealnego języka na początek:

Wiesz, że możesz mnie znaleźć nie tylko na tym blogu?

Wszystkie miejsca, w których udzielam się w internecie poznacz na stronie codewin.pl.

Szukasz książek dla programistów i jednocześnie chcesz wesprzeć tego bloga? Sprawdź ofertę wydawnictwa Helion klikając w TEN LINK.

2 thoughts on “Bez doświadczenia NIE JESTEŚ junior developerem”

  1. Jedna ogłoszenia nie są adekwatne do tego czego szukają HR’zy. Wiele razy spotkałem się z wymogiem „rok doświadczenia komercyjnego” ale wszystko wychodzi dopiero po rozmowie i zadaniu rekrutacyjnym gdzie faktycznie pokazana jest wiedz i zapał do pracy. Bardzo często nie wszystkie wymagania są branie pod uwagę a wymogi w ogłoszeniu to tylko pokazanie czym firma się zajmuje i na czym pracuje. Jak można się rozwinąć. Wiec nie warto skreślać oferty bo nie umiemy programować w X języku ale mieliśmy styczność z 90% całej oferty. Lepiej wysłać CV zapytać jak szybko można nadrobić zaległości i czy obecnie można być przydatnym do pracy.

  2. Juniorów robi się coraz więcej i nic w tym dziwnego nie ma, ale trzeba umieć odróżnić właśnie wartościowego juniora od kogo kto przeszedł szybkie szkolenie, bo branża jest atrakcyjna. Dobry artykuł!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *