@dr.hard
Definicja juniora zmienila sie w ostatnich latach. W epoce przedpandemicznej kandydatow zbyt wielu nie bylo. Jak marketing sie postaral to mielismy moze z kilkanascie, moze z dwadziescia pare osob na wakacyjnym programie stazowym. Tak czy owak tacy ludzie cos musieli potrafic. Tak czy owak przechodzili jakies szkolenie ale tam nie bylo czasu na podstawy. Potem przydzielano ich do projektow. Dostawali jakies taski. Owszem, zdarzyly sie jakies cudaczne postacie jednak to byl margines.
Ja może kontrowersyjnie ale uważam, że dzisiejsi juniorzy to prawdziwi juniorzy. W branży zapanowała pewna normalność która od zawsze była w innych branżach - pracujemy równiutkie 8h (nieraz mniej) i kończymy prace. Tymczasem juniorzy kilkanaście lat temu to był ewenement - nerdy, geeki, pasjonaci którzy siedzieli po 12-16h dziennie przed komputerem od dzieciaka, często kosztem nawet higieny. Memy o śmierdzących, niemyjących się nerdach we flanelowej koszuli bez soft-skilli naprawde nie wzieły się znikąd i tamten stereotyp informatyka był prawdziwy. Mając 20 lat wchodzili do branży łapiąc pierwszą pracę komercyjną nieraz mieli już 5-10 lat doświadczenia hobbystycznego.
Obecni juniorzy to osoby które siedzą max 8h dziennie przed komputerem i dbają o inne aspekty życia takie jak higienia, relacje z innymi ludźmi, soft skille. ważam, że informatycy kiedyś to była sroga patologia. Co z tego że byli lepsi, jakość kodu była lepsza i programowanie było ciekawsze? Skoro te osoby zaniedbywały totalnie inne aspekty życiowe a sama branża IT wymagała wtedy takiego właśnie poświęcenia innych dziedzin życia by umieć tylko jedną rzecz, siedzenie przed komputerem i klikanie. Chcąc niechcąc panowała sroga mentalność niewolnika piwnicy, bojownika klawiatury który boi się światła dzeinnego i nie przebiegnie 2km nie mówiąc o ćwierć-maratonie.
Nawet sportowcy, lekarze czy prawnicy te kilkanaście lat temu nie poświęcali tyle czasu swojemu fachowi co informatycy, nie mówiąc o innych zawodach. Dzisiaj w branży work-life-balance oraz trzymania minimalnego poziom soft-skilli, komunikatywności jest na porządku dziennym i uważam, że to jest mocno na plus. Kiedyś programiści faktycznie bardzo, bardzo dużo umieli, byli one-man-army, fullstackami z krwi i kości, ale jednocześnie byli strasznie chamscy, bucowaci i nie potrafili się z nikim dogadać. Próba czasu pokazała, że jednak od tego się odchodzi czyli taki model biznesowy się nie spinał i lepiej zebrać drużynę dobrze komunikujących się średniaków niż niewielką grupkę wymiataczy, który mają wielkie ego i nie potrafią się ze sobą dogadać, ani też z biznesem.
I z perspektywy biznesowej widać też, że takie podejście totalnie się sprawdza. Clean code, czysta architektura, idealna jakość kodu, optymalizacja - prawda jest taka, że klient tego totalnie nie widzi i okazuje się, że niewydajny, podstawowy, biznesowy kod pisany na szybko, postawiony na mocnych maszynkach z dobrymi prockami/dużą ilością szybkiego RAMu - jeżeli spełnia wymagania biznesowe to jest ok. Owszem, można napisać ten kod lepiej, dodać większą jakość, zoptymalizować i wtedy na gorszym procku z mniejszą ilością RAMu ten lepszy kod robiłby to samo i jednocześnie architektura byłaby czystsza, lepsza, fajniejsza. Problem w tym, ze dla końcowego klienta - to nie ma żadnego znaczenia i ten klient nawet tego nie widzi, a nawet jak widzi to nie rozumie.
I tu jest pies pogrzebany, bo wielu programistów tych pasjonatów starej daty - nie potrafią bardzo często tego zrozumieć, takie mam wrażenie. I potem chodzą w pracy wkurzeni i psują innym humor, bo dlaczego ktoś zgodził się na wypchnięcie kiepskiego kodu napisanego w tydzień, który spełnia wymagania biznesowe, podczas gdy taki pasjonat chciałby te ficzery szlifować 3-4 tygodnie by kod był lepszy i zoptymalizowany
Tak więc z perspektywy czysto finansowej czy zdrowia mentalnego to osoby, które nie kochają programować, nie przywiązują się emocjonalnie do swojej pracy tylko rozumieją na czym polega kod biznesowy i zarabianie w tej branży (na dostarczaniu g**no-kodu który jakoś tam działa i klient widzi efekty, szybko) - wychodzą na tym lepiej - nie wypalają się tak szybko, nie emocjonują w pracy, chłodna głowa ich ratuje.
Z kolei pasjonaci mają przekichane. W praktycznie każdej firmie jest nacisk na szybkie klepanie kodu biznesowego. Może w ofertach pisza ładnie o TDD, BDD, CQRS i inne modne literki - ale prawda jest taka, że rzeczywistość szybko weryfikuje i mało kto teraz dba o dobrą jakość kodu. Wręcz managent, PMowie, SMowie naciskają, by kodzić byle jak szybko a nie spuszczać się nad idealnym kodem. Pasjonatów niestety szybko doprowadza to do szału, wypalenia zawodowego, za bardzo emocjonalnie podchodzą do pracy. Taki pasjonat to się może odnajdzie w jakichś topowych 2-3% projektach R&D gdzie nie liczy się szybkość tylko jakość kodu, rozwiązywanie nietrywalnnych problemów. Albo nawet taki pasjonat powinien nie pracować w IT tylko znaleźć inny zawodów, a kod klepać do projektów open-source, lepiej na tym wyjdzie mentalnie