Ta strona wykorzystuje pliki cookie w celu prezentacji dopasowanych dla Ciebie treści. Możesz włączyć/wyłączyć obsługę plików cookies w swojej przeglądarce.

Dowiedz się więcej
Czego brakuje Junior Developerom?

Czego brakuje Junior Developerom?

Opublikowano  przez Marek Zoellner

Po wielu miesiącach nauki programowania przychodzi wreszcie ta chwila, gdy zaczynasz szukać pracy jako Junior Developer. Co może Cię zaskoczyć? Jakie niespodzianki czekają na Ciebie podczas rozmów rekrutacyjnych? O czym zapomniałeś, czego nie dopracowałeś, co warto jeszcze poprawić?

Odpowiedzi na te i wiele innych pytań pojawiły się na jednym z webinarów Kodilli prowadzonych przez Maćka Olaczka, który podzielił owe braki na bardziej miękkie i te trochę bardziej twarde, wynikające z kwestii technicznych. Oczywiście nie zamierzamy nikogo zniechęcać do zawodu programisty i wmawiać nikomu braków, których może wcale nie mieć. Cel jest taki, aby takich błędów nikt po prostu nie popełniał na początku swojej drogi do kariery w branży IT.

Zapraszamy także do oglądania naszych kolejnych, darmowych webinarów, podczas których dostaniecie solidną porcję wiedzy na temat pracy programistów:

Zapisz się na webinar

A teraz wróćmy do wspomnianych już braków. No i pierwszy taki powiedzmy sobie, można do niego różnorako podejść, ja sobie napisałem, że ten brak dotyczy świadomości, natomiast w jaki sposób ja tę świadomość rozumiem, a w zasadzie brak tej świadomości. Przede wszystkim, musimy sobie zdać sprawę, że jeżeli dobrze gdzieś tam odrobiliście lekcje, zanim pójdziecie na tą pierwszą rozmowę kwalifikacyjną na stanowisko młodszego programisty, to prawda jest taka, że najmniejszą waszą obawą powinny być kwestie takie stricte techniczne, że nie potraficie tego języka w takim stopniu jak pracodawca by sobie tego wymarzył, mówię, że jeżeli tę lekcję odrobiliście dobrze, jeżeli świadomie wybraliście tematy do nauki i przerobiliście jakiś materiał czy to bootcamp, czy książka, czy kursy, wszystko jedno, natomiast, bo musimy sobie powiedzieć, że pracodawca wie z kim ma do czynienia, no są pewne wymagania, one nie są jakieś specjalnie powiedziałbym wygórowane mimo wszystko w dalszym ciągu, ale z drugiej strony jakieś tam są tak. Więc tutaj tych problemów takich stricte technicznych nie powinno być za dużo, natomiast bardzo istotna jest świadomość tego, w którym wy jesteście miejscu waszych umiejętności, a nawet bardziej braku pewnych umiejętności. To znaczy musicie być świadomi tego, że niezależnie od tego, czy uczyliście się pół roku, rok czy 10 lat, no to ta branża jest na tyle specyficzna i na tyle wiedzy w tej branży jest, że tutaj w tym wszystkim przydaje się taka powiedziałbym pokora i do tego sobie za chwileczkę też dojdziemy.

Rozwiąż darmowy test predyspozycji

Dlaczego ja o tym mówię, no pewnie część z was zna ten wykres, który tutaj widzicie, może ja wam go po prostu powiększę na slajdzie. To jest taki wykres, to jest taka krzywa, ona się nazywa jakby ten efekt jest opisywany przez Krugera Dunninga na początku został, na lewej osi widzicie wiedzę, przyrost tej wiedzy, na prawej osi widzicie czas i teraz tak zielonym kolorem jest zaznaczone to co wam się wydaje, że wiecie na jakiś tam temat, powiedzmy sobie nie wiem, uczycie się Javy, jesteście gdzieś na początku tej nauki no i jak widać, ten przyrost wiedzy w waszym mniemaniu jest naprawdę spory i to jest całkowicie zrozumiałe, bo na początku siadacie do programowania i kurczę tak sobie myślicie nic kompletnie nie umiem, a po tygodniu, dwóch trzech napiszecie pierwszą aplikację, stworzycie pierwszą stronę, nie wiem, jakiś tam kalkulator, rozwiążecie jakiś problem i nawet sam fakt tego rozwiązywania problemów, które no siłą rzeczy stale będziecie napotykać będzie wam, no to będzie dla was, podejrzewam, to powinno być dla was przyjemne, że coraz więcej jestem w stanie zrobić i wam się zaczyna wydawać, że tak naprawdę jesteście w stanie zrobić wszystko, ale niestety nic bardziej mylnego. Ten wykres jasno pokazuje, że im bardziej ekspercką wiedzę na jakiś temat posiadamy tym tak naprawdę mniej doceniamy swoją wiedzę, czyli na początku nauki bardzo szybko jesteśmy w stanie stwierdzić, że kurczę bardzo wiele potrafimy.

Ale w momencie kiedy dochodzimy już do jakiejś konkretnej wiedzy, tutaj oczywiście jest zaznaczona ta faktyczna wiedza to zaczyna się spadek. W tym momencie tak naprawdę stajemy się ekspertami w jakiejś dziedzinie, ale zaczynamy zauważać, ile wiedzy jest dookoła nas, mamy kilka, kilkanaście lat doświadczenia i tylko dzięki temu jesteśmy w stanie zauważyć pewne rzeczy, ja tutaj w źródle tej grafiki podałem też, to jest de facto taki cały blog post na ten temat, bardzo ciekawy, polecam go waszej uwadze, jeśli chcielibyście przeczytać po webinarze to wklejam teraz link. Tam osoba , która faktycznie jest programistą już teraz z wieloletnim doświadczeniem opisuje jak u niego wyglądał ten początek kariery, on mówi, że w pewnym momencie jakby doszło do tego, że rozmawiając ze swoimi przełożonymi, programistami z wieloletnim doświadczeniem, po tym jak właśnie coraz to nowe problemy rozwiązywał, niezależnie od tego na ile one realnie były trudne, ale jakby czuł, że potrafi coraz więcej mimo tego, że pracował w banku, to przy jakiejś tam dyskusji na temat kupna jakiegoś systemu, który ma być zaimplementowany do gdzieś tam zmiany treści na stronach on stwierdził, ale po co my mamy to kupować?

Przecież możemy to napisać sami, możemy to wszystko zrobić sami. No teoretycznie tak, ale wtedy przełożony mu powiedział, ale słuchaj my jesteśmy bankiem i nie będziemy się takimi rzeczami zajmować, ale do pewnych rzeczy trzeba dorosnąć i do tego jest potrzebna ta świadomość, ale jest też potrzebna właśnie pokora i zrozumienie tego, w którym my miejscu jesteśmy. Ja wiem, że to teraz może tak wyglądać może dosyć mocno dołująco, ale z tych takich najbardziej negatywnych tematów, które czasem się pojawiają u juniorów wychodzę, potem przejdziemy do kwestii bardziej technicznych i takich mniej może stresujących niektórych, bo ktoś może pomyśleć, że ja was tutaj chcę zniechęcać. Nie, nie chcę zniechęcać, ale chcę was odpowiednio nastawić, no każdy tym początkującym kiedyś był i fajnie by było nim być w taki sposób, żeby wszyscy dookoła nam pomagali i żebyśmy się rozwinęli, a nie żeby tylko nam się wydawało, że już przestajemy być tymi juniorami.

Ale idąc dalej, o co chodzi z pokorą, jeżeli nie mamy tej świadomości w którym miejscu jesteśmy, ile wiedzy jeszcze pozostało gdzieś tam nam do wchłonięcia, żeby być lepszym fachowcem, no to wtedy łatwo się wdajemy w takie manipulacje, chociażby dotyczące zarobków w branży IT, no trafić na artykuł o niebotycznych zarobkach w tej branży, 10, 15 , 20 tys. pewnie każdy gdzieś taki artykuł widział, ale nie wszyscy się zastanawiają nad tym, że te zarobki oczywiście są możliwe, ale dla tych najbardziej doświadczonych. No startujemy na początku z niższego pułapu, bo trochę przeceniamy swoją wiedzę, no jesteśmy na starcie tak, to samo tyczy się gdzieś tam i to jest moim zdaniem bardzo ważne, bo jeżeli chodzi o zarobki jest ta świadomość większa, ale bardzo ważna jest ta świadomość swojej własnej wiedzy i pojawiają się czasem takie tematy dyskusji z bardziej doświadczonymi programistami, które są kontynuowane przez tych młodszych programistów, na temat wyższości gdzieś tam jednego rozwiązania nad drugim, juniorowi łatwo jest gdzieś tam rzucać stwierdzenia, że kurczę nie , my powinniśmy to zrobić dwa razy szybciej, trzy razy taniej i w ogóle napisać to w innej technologii. No tylko że on nie ma świadomości, że prawdopodobnie zna tylko te technologie, a ten senior pracował 5 lat z tą technologią i 2 lata z inną i ma jakiś szerszy obraz, ma też nie wiem zrozumienie biznesowe tego tematu i tak dalej i tak dalej.

O ile takie rzeczy się dzieją jak już faktycznie traficie do pracy. No to ktoś was prawdopodobnie naprostuje tak, mniejszy lub większy problem z tego wyniknie, ale raczej pewnie mniejszy. Natomiast większy problem jest, kiedy uwagi dotyczące kodu, jego jakości, albo w ogóle treści zadania rekrutacyjnego padają ze strony osoby, która nigdy w branży IT nie pracowała, idzie na pierwszą, drugą, trzecią rozmowę o pracę no i nie wiem ma zastrzeżenia do zadań rekrutacyjnych, kierowane w kierunku rekrutera, czy tam osoby technicznej. Ja znam takie przypadki, słyszałem o takich przypadkach i wierzcie mi taka osoba ma naprawdę małe szanse, żeby pracę w IT uzyskać, szczególnie w trakcie rekrutacji no tak trochę kolokwialnie powiem, ale wypada znać to swoje miejsce w szeregu, na wszystko będzie czas, trzeba pamiętać o tym, że te pierwsze miesiące w pracy to tak de facto jest nauka, dalej intensywna nauka i zanim ta firma z was poczuje wartość to jednak ona was musi wdrożyć, przeszkolić, w pewne niuanse pracy w tej firmie wprowadzić, zresztą tak jest w każdej branży, ale branża IT ma tę specyfikę, że sporo osób ma świadomość tego jak wyglądają braki kadrowe, no i nawet mimo swojej niezbyt ogromnej wiedzy czasem o tej pokorze zapominają, więc tutaj bym was przed tym przestrzegał. Natomiast troszkę w drugą stronę nie dajmy się też zwariować, czyli pokora się przydaje, ale pewnego rodzaju odwaga i pewność siebie również jest istotna. W jakim kontekście?

Musicie pamiętać, że każdy kiedyś tym juniorem był, niezależnie od tego jak bardzo doświadczeni programiści obok was nie siedzą, czy jak wiele projektów nie wykonał wasz mentor, szkoleniowiec, czy gdzieś tam kolega, który siedzi obok i też się powiedzmy uczy to jakby normalne, że w trakcie toku nauczania natrafiacie na pewne problemy i macie pewne, no i nie jesteście pewni jak je rozwiązać mówiąc wprost, nie bójcie się szukać pomocy, to może brzmieć trywialnie, ale gdzieś tam z różnego rodzaju naszych badań, statystyk nawet wynika, że wiele osób bardzo długo próbuje samodzielnie rozwiązać jakiś problem zanim zwróci się o pomoc, to samo w sobie nie jest złe tak, bo jednak ta samodzielność jest istotna, umiejętność wyszukiwania informacji, rozwiązań problemów, myślenie przyczynowo-skutkowe, to wszystko w IT jest potrzebne, no ale w momencie kiedy na rozwiązanie jakiegoś powiedzmy sobie dosyć łatwego z punktu widzenia tam takiego przeciętnego programisty zadania poświęcacie na to kurczę cały dzień i dalej nie wiecie co z tym zrobić no to gdzie tutaj jest ta wartość tego waszego poszukiwania informacji.

No zawsze możecie trafić na problem, który was przerośnie i wtedy trzeba tych informacji szukać bezpośrednio u innego programisty i do tego czasem potrzeba odwagi, bo tak naprawdę jest szereg badań, które wskazują, że ludzie generalnie nie lubią być oceniani, tak po prostu jest, to jest gdzieś takie nasze atawistyczne podejście, że jak ktoś nas ocenia, to zawsze boimy się, że nas oceni źle, także z góry tych ocen unikamy. Natomiast w przypadku branży IT musicie mieć świadomość tego, że wasza praca no de facto będzie podlegała nieustannej ocenie, w jaki sposób? No istnieje taki mechanizm, który nazywa się code review, to jest taki proces, gdzie programista po wykonaniu jakiegoś swojego zadania, po napisaniu jakiegoś tam fragmentu kodu powiedzmy sobie przekazuje ten kod dalej do swoich kolegów, koleżanek programistów, którzy ten kod analizują sprawdzają pod kątem ewentualnych błędów lub ewentualnie dają wskazówki, gdzie coś można by napisać w jakiś sposób jaśniejszy, szybszy, lepszy składniowo powiedzmy sobie, no i to jest taka praktyka, która no w zasadzie w każdej szanującej się firmie występuje tak, bardziej doświadczeni programiści, no albo w przypadku tych najbardziej doświadczonych gdzieś tam na równym poziomie kompetencji sprawdzają sobie kod nawzajem.

Naprawdę to nawet programista, który ma 6, 7, 8, 9 lat doświadczenia również ten swój kod do code review przekazuje i inni programiści na niego rzucają okiem, no każdy ma prawo się pomylić, gdzieś tam coś przeoczyć. To jest jakby temat osobny od testowania oprogramowania, bo to się oczywiście też dzieje, natomiast code review no to jest taka klasyczna praktyka, której nie powinniście się obawiać i my na przykład w kursie to wprowadzamy, każde zadanie podlega tak zwanemu code review, mentor je sprawdza, akceptuje bądź też nie, może też wam powiedzieć, że teoretycznie wykonaliście zadanie, to znaczy kod zwrócił określoną wartość, która była spodziewana, ale jakby sposób waszego dojścia do rozwiązania nie jest najlepszy i wskaże wam w których miejscach powinniście coś poprawić. I tutaj moim zdaniem jest ogromna ogromna wartość, mimo tego, że większość osób boi się oceniania, to właśnie z tej oceny, z tego code review to jest chyba najbardziej rozwijający element w pracy programisty tak naprawdę, bo niezależnie od tego czy korzystacie z code review na szkoleniu czy gdzieś tam w pracy no to osoba zdecydowanie bardziej doświadczona, a bardzo często wygląda to tak, że na przykład dwóch innych programistów przegląda wasz kod i daje wam bardzo konkretne wskazówki do tego kodu, który napisaliście, czyli to nie jest jakieś omawianie wirtualnych sytuacji, oglądanie jakichś prezentacji i nie wiem kurczę pracujecie w sektorze bankowym jako młodszy programista, a gdzieś tam jedziecie na konferencję opłaconą przez szkoleniowców i ktoś wam tłumaczy nowy framework na podstawie systemu rezerwacji biletów lotniczych, no coś tam zrozumiecie, ale to nie jest to czym wy żyjecie na co dzień. Tutaj konkretny przypadek, wasz kod doświadczony programista sprawdza i daje wam wskazówki, także miejcie tą odwagę pokazywać swój kod. To jest na wielu płaszczyznach, bo ja mówię o firmie, mówię o szkoleniu, ale również jak sami gdzieś tam się uczycie, jest szereg grup facebookowych dotyczących nauki programowania, czy for dyskusyjnych.

Okej zawsze znajdzie się ktoś, kto nadmiarowo będzie hejtował, żyjemy w Polsce to jest normalne, ale z drugiej strony szereg programistów za darmo, jeżeli wrzucicie gdzieś tam swój kod i poprosicie o ocenę da wam wskazówki co powinniście zrobić inaczej, co powinniście zrobić lepiej albo w drugą stronę powie wam, że jest świetnie. No i kurczę jeżeli ktoś z wieloletnim doświadczeniem powie wam, że wspaniale rozwiązaliście jakieś zadanie, no to wasza motywacja tylko i wyłącznie wystrzeli w górę, więc ta odwaga do dzielenia się swoim kodem, do pokazywania go i takie pytanie o informację zwrotną, pytanie o feedback, tego bardzo często brakuje programistom. Ba są nawet badania mówiące o tym, że doświadczeni programiści nie lubią code review, no bo kurczę, ja tu 10 lat programuję, a ktoś mnie będzie poprawiał, ale tak naprawdę to jest jedna z tych czynności, która moim zdaniem programistów rozwija. Im wcześniej zaczniecie prosić o to code review, tym lepiej, bo możecie się wyzbyć jakichś złych praktyk już na samym początku. Kolejna rzecz, no też już taka bardziej twarda bym powiedział dotyczy komentarzy, ale jakich komentarzy, oczywiście nie takich komentarzy na facebooku, na forach i tak dalej, ona dotyczy komentowania fragmentów kodu po prostu, tutaj jest jakieś gdzieś tam zdjęcie wzięte z internetu, jakiś tam fragment kodu w JavaScripcie jest napisany, natomiast to co tutaj widzicie po tych dwóch kreskach to jest jedna linia komentarza.

Zostaw swój adres e-mail, a my wyślemy Ci link do pobrania video.
Umów się na rozmowę z doradcą Kodilli