Kategorie
Junior Developer

Motywacja pracy jako Junior Developer

Ten wpis jest dla mnie bardzo osobisty. Do jego napisania nakłonił mnie jeden e-mail od Czytelnika, który dostałem po wydaniu Handbooka oraz kilka wcześniejszych pytań moich znajomych i rodziny. Motywacja pracy jako Junior Developer otoczona jest pewną magią. Postaram się przybliżyć ją nieco do świata realnego. Czy będzie to małe zderzenie? Dlaczego ludzie chcą być Developerami?

Iluzja łatwości

Pisałem o tym już na początku roku. Żyjemy teraz w czasach, w których start kariery w IT jest niezwykle prosty. Szybko można przejść szkolenie, czy bootcamp i trafić na rynek.

Wszystko to sprawia, że zawód programisty stał się dostępny niemal na wyciągnięcie ręki dla każdego.

Bardzo dużo osób chce zacząć naukę, żeby wkrótce móc występować w pracy jako Junior Java Developer. Pytanie więc, co za tym stoi? Jaka jest motywacja? Czy motywację tę łatwo utrzymać? Dlaczego tyle osób, chce zostać Junior Java Developerami?

Gdzie jest ta motywacja?

Ale, żeby działać, muszę mieć motywację.

Autor nieznany, potencjalnie każdy

Znasz to? Co ta motywacja oznacza w kontekście pracy na stanowisku Junior Developer?

Oznacza to, że żeby zostać Junior Developerem musisz mieć motywację.

Odwróćmy to stwierdzenie. Jeśli nie będziesz miał motywacji, to zgodnie z powyższym, nie zostaniesz Junior Developerem.

Zgodzisz się z tym stwierdzeniem?

Motywacja is a bitch*

Po kolei.

Ja się ze stwierdzeniem z poprzedniej sekcji kompletnie nie zgadzam.

Wyobraź sobie sytuację. Jest środa, godzina 23:30. Twój projekt wchodzi po północy na produkcję. Rano, od 9:00, ma zacząć z niego korzystać kilka tysięcy klientów. Coś jednak nie działa.

Przesuńmy się kilka godzin do przodu. Koło 4:03 rano aplikacja cały czas nie działa. Dwie osoby z Twojego zespołu błądzą nieprzytomnym wzrokiem po monitorach. Sytuacja robi się coraz bardziej beznadziejna. Aplikacja przy próbie podniesienia jej w środowisku produkcyjnym cały czas rzuca dziwnym wyjątkiem, jakimś takim niepełnym, jakby urwanym.

Mijają kolejne godziny. Przed 7:00 rano znajdujesz w czym problem. Commit pliku Groovy zrobiony przez jednego z członków zespołu dwa miesiące wcześniej zmienił kodowanie pliku. Był to skrypt, a jego skompilowanie i uruchomienie było wywoływane w trakcie wstawania aplikacji. Zły urok, czy też kiepska konstelacja gwiazd tego dnia, sprawiła, że zoptymalizowania maszyna wirtualna uznała, że warto dokonać magicznej optymalizacji. W ferworze szczęścia i dbałości o wysoką wydajność maszyna wirtualna uznała, że ucięcie stack trace kompilacji skryptu będzie czymś nadzwyczaj cool … A, że przy okazji cała aplikacja padnie … No to sorry …

O 7:12 aplikacja uruchomiła się poprawnie. Niecałe dwie godziny przed wyznaczonym terminem. Happy end.

Czy to motywacja pchała Cię przez tę noc do znalezienia rozwiązania?

W mojej opinii nie. To nie motywacja odegrała tu kluczową rolę. Kawałek dalej zastanowimy się, co to było.

Ale jeszcze na chwilę wróćmy do rzeczywistości. Jeśli zaczynasz programowanie, to tego typu problemy, gdzie zablokujesz się, nie będziesz wiedział, co zrobić dalej, co nie działa, dlaczego nie działa, itp. będą występowały co chwilę. Dlaczego?

Bo na starcie nauki po prostu wszystko jest nowe. Jeśli za każdym razem będziesz patrzeć i czekać na motywację … to nie zajedziesz daleko. Bo zamiast motywacji będziesz odczuwać w takich momentach zniechęcenie, złość i chęć rzucenia kodowania w najdalszy kąt pokoju.

Stawiając na motywację stawiasz na złego konia

Popatrzmy na definicję motywacji wg Encyklopedii PWN:

motywacja [łac.] psychol. proces regulacji psychicznych, nadający energię zachowaniu człowieka i ukierunkowujący je; może mieć charakter świadomy lub nieświadomy.

Źródło: https://encyklopedia.pwn.pl/haslo/motywacja;3943894.html

Motywacja jako emocja, jako proces regulacyjny, raz będzie, a raz jej nie będzie przy Tobie. Uzależnienie od niej tego, czy zostaniesz Junior Developerem, czy też nie, jest zatem dosyć ryzykowne. Powiedziałbym nawet raczej, że jest skazane na porażkę.

Dlatego, moim zdaniem, podstawowym zadaniem dla osoby chcącej zostać Junior Developerem jest pogodzenie się z tym, że trzeba przyjąć nieco inne założenia. A swoje działanie ująć w ramy bardziej systemowe.

Jak zatem można do tego podejść? Co na to nauka? Jak działać bez wymogu motywacji?

Shoma Morita, japoński psycholog, we wczesnych latach XX wieku opracował teorię działania bazującą na trzech filarach:

  • Zaakceptuj swoje emocje.
    One po prostu takie są. Przyjmij je. Nie rozkładaj na czynniki pierwsze. Nie próbuj sterować.
  • Znaj swój cel.
    Chcesz zostać Junior Developerem. To Twój cel – to co musisz zrobić teraz, żeby być bliżej do jego realizacji. Tu jest Twoje zachowanie, które, w przeciwieństwie do emocji, możesz kontrolować.
  • Zrób to, co musi być zrobione.
    To jest to, co prowadzi Cię do Twojego celu.

Wróćmy teraz do przykładu z poprzedniej sekcji. Czy teraz rozumiesz, co kształtowało postawę, że system został wdrożony, błąd znaleziony, a cała historia miała happy end?

To nie była motywacja.

Kiedy będziesz siedział w nocy i analizował stack trace, który okaże się niepełny, bo JVM dokonał magicznej optymalizacji i uciął jego fragment, to nie będzie motywacja.

To będzie znajomość celu, jakim jest uruchomienie aplikacji i zrobienie dokładnie tego, co musi być zrobione, żeby ten cel osiągnąć.

Czy motywacja w takim razie nie pomoże?

Jasne, że pomoże. Zwłaszcza na początku. Może być katalizatorem, żeby zacząć działać. Inspiracją do ruszenia z miejsca.

Ale pamiętaj Twoje plany są dużo dłuższe niż trwające emocje. Motywacja jest teraz, zaraz jej nie będzie. A plany i cele zostaną.

Nastaw się na ciężką pracę i długie godziny ćwiczeń.

Jaki jest zatem Twój cel?

To pytanie do Ciebie. Tylko Ty znasz na nie odpowiedź. I kilka kolejnych pytań dla Ciebie:

  • Czy będziesz w stanie szukać rozwiązania problemu z kodem kilka godzin?
  • Jak dużym problemem będzie dla Ciebie moment, gdy projekt, nad którym pracowałeś, nagle przejmie zewnętrzny zespół?
  • Czy godzisz się na naukę trwającą latami?
  • Czy nie rzucisz tematu zostania Developerem przy pierwszej większej przeszkodzie?
  • Jaki jest Twój cel i dlaczego zostanie Developerem ma Ci pomóc w jego osiągnięciu?
  • Czy chcesz zobaczyć, jak coś, co zrobisz, będzie używane przez wielu ludzi?
  • Być może chcesz kreatywnie rozwiązywać problemy bieżącego świata?
  • Czy zostanie Java Developerem ze względu na zarobki jest ok?

To ostatni pytanie pojawia się bardzo często. Bo przecież „pieniądze to zła motywacja”. Pojawiło się też zaraz po wydaniu przeze mnie Handbooka.

Nie zrozum mnie źle. To Twój cel. Ty go obrałeś. Jeśli Twoim celem jest zwiększenie zarobków, a zostanie Java Developerem jest tym, co musisz zrobić, żeby tak się stało, to ja powiem tylko tyle: GO FOR IT. Ja tego oceniać nie zamierzam, bo to Twój cel i tak zupełnie szczerze nic mi do tego.

Jeśli przy tym staniesz się dobrym Developerem to świetnie. Jeśli osiągniesz cel, zwiększysz swoje zarobki, a nie będziesz szedł w górę kariery, to … nic mi do tego, bo to Twoja droga i nie ja ją Ci wyznaczyłem. Zrobiłeś to Ty.

Jeśli będziesz czuł się świetnie w roli Java Developera to rewelacyjnie. Pamiętaj, Twój cel, nikogo innego.

Co poświęcisz?

Łyżka dziegciu. Bardzo dużo można przeczytać o tym, jak wiele zyskuje się będąc Java Developerem. Jaki to jest wspaniały zawód. Morze ofert. Rynek pracownika. Zero stresu, dobre zarobki. Po prostu praca marzeń.

Zapomina się, a przynajmniej jest mało informacji o tym, że każdy kij ma dwa końce.

W tym zawodzie myślisz o pracy bardzo dużo. Myślisz o niej w pracy, na spotkaniach i po pracy. Przy porannej kawie zastanawiasz się, czy ta integracja zadziała poprawnie, czy usługa będzie działać, czy coś padnie w środku dnia, czy nie skasują Ci projekt z dnia na dzień.

Bycie Java Developerem to ciągła nauka, ciągłe przynoszenie problemu implementacyjnego do domu, często bardzo ciężka intelektualnie praca.

Słynny 15k Developer nie jest mitem, ale musisz być naprawdę bardzo dobry w tym, co robisz i musi iść za Tobą wysoka jakość.

Będziesz świetnie kodować, dodawać wartość do zespołów, Twoja jakość będzie rosła, zarobki pewnie też. Będziesz się też przy tym dużo uczyć i bardzo dużo czasu poświęcać na dodatkowe kształcenie poza normalnymi godzinami pracy. To Twój wybór.

Także zapamiętaj, nie ma nic za darmo.

Zostać Junior Developerem

Jeśli doszedłeś do tego miejsca to chciałbym Ci bardzo podziękować. Wiem, że temat jest dla Ciebie bardzo ważny.

Motywacja i Junior Developer to tylko kawałek układanki.

Są plusy, są minusy. Ważne, żebyś świadomie ruszył w drogę do zostania Junior Developerem. Żebyś sprawdził, czy jest to Twoja droga i rozważył, czy jesteś gotowy zgodzić się na poświęcenie czasu, jaki z pewnością będzie potrzebny na naukę.

Bardzo zależy mi na Twojej opinii. Napisz proszę w komentarzu – co o tym sądzisz? Czy artykuł jest dla Ciebie pomocny, a może nie zgadzasz się z nim?

Motywacja i trafienie na stanowisko Junior Developer to fragment drogi. Jeśli chcesz wiedzieć, jakie umiejętności są Ci potrzebne, żeby przebyć ją możliwie gładko to Handbook jest dla Ciebie. Ściągnij poniżej.

Junior Java Developer Handbook
0 0 vote
Article Rating
Subscribe
Powiadom o
guest
3 komentarzy
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Arek
Arek
1 miesiąc temu

Cóż, bootcampy trochę tak to przedstawiają: że wystarczy wygenerować cruda na bazie springboota który zapisze coś w H2 i masz prace. A przecież generalnie takiego cruda z gotowych klocków to sama przyjemność.
Ja aktualnie jestem na etapie nadrabiania braków min. z algorytmiki (mega ciekawa rzecz ale tak rozlazła że chwilami nie wiem w co wsadzić ręce) i mimo że pracuje jako dev to poświęcam sporo czasu po pracy bo wiem, że zaprocentuje.

Arek
Arek
1 miesiąc temu

Aktualnie struktury danych sobie przypominam(stos, sterta, kolejki, drzewa różnego rodzaju) dalej pewnie sortowania, przeszukiwania itp. zadania typu sprawdź czy lista jest cykliczna, czy znalezienie środkowego elementu listy jednokierunkowej w jednym przebiegu. W planach coś w stylu stringi window bo mnie zaciekawiło ostatnio. Poza tym klasycznie jakieś design patterns 😉