To pytanie zadaje sobie pewnie wielu z Was 🙂
Jako właściciel software house, w którym zatrudniam już prawie 10 technicznych w tym aż 6 juniorów postaram się odpowiedzieć na to pytanie – ogólnie, ale jednak wyczerpująco – na tyle, abyście potrafili postawić siebie w jakimś miejscu na swojej ścieżce rozwoju. No to lecę…
[EDIT: 10.12.2020]
Ten artykuł jest pisany w oparciu o standardową drabinkę rozwoju programistów w rozwoju technicznym:
- Wannable
- Newbie
- Junior
- Regular
- Senior
Oczywiście ta drabinka jest idealna dla IT, bo kiedy jesteś Juniorem czy Regularem to jak wszystko w IT – to zależy
A więc to zależy…
…od firmy, ktora Cię zatrudnia
dla niektórych SH możesz już być Juniorem, a dla niektórych jeszcze nie – to bardzo zależy od podejścia firmy do kształcenia najmłodszych stażem. Jeśli mają na Ciebie budżet to większość z nich będzie chciała wziąć kogoś w miarę ogarniętego, ale na przyuczenie. Jeśli nie to – siadaj i koduj, a jak robisz syf to spadaj
…od ilości i jakości projektów, które zrealizowałeś
Zrobiłeś 2 todolisty czy stronki ? Bitch plz – no to na co liczysz ? Sorry, ale nawet nie stałeś obok Juniora…
Ale jeśli podjąłeś się jako Junior rozwiązania jakiegoś problemu biznesowego, czy „masz pomysł na apkę i ją robisz” to z mojego punktu widzenia jesteś bardziej wartościowy, bo już zrozumiałeś, że programiści używają technologii do rozwiązywania problemów biznesowych i ta świadomość jest (dla mnie) Twoją przewagą na rynku pracy
i ostatni punkt „to zależy” – od definicji rynku i momentu historycznego
- 2017-2018 – Junior JS to nieogarnięty typ zaraz po bootcampie. Sam pamiętam jak w 2018 uczyłem w jednym z oddziałów dużego bootcampu w Lublinie i spora korpo z Lublina XYZ zatrudniała wszystkich jak leci, byle mieli certyfikat z bootcampu
- 2019-2020 – Junior JS to ktoś znacznie dalej niż „zaraz po bootcampie”. Ma kilka customowych średnich projektów, które są w 60% dobrze wykonane i działają – najlepiej projekty fullstackowe
- 2021+? – na 1 kwartał 2021 nauka w Akademii na Junior TS Backend deva trwa 14 miesięcy i zahacza o wszystkie technologie JSowe występujące na rynku + 3 „typy” baz (sql, mongo, graphql), Docker, AWS i dodatkowo w każdej z czołowych technologii jest średniozaawansowany, unikatowy projekt
Podsumowując te wszystkie „to zależy” w jednym zdaniu
Junior na 2021 to Mid na 2017/2018 – tak zmieniły się wymagania rynku
W takim razie kiedy dowiesz się, że już jesteś gotowy na rynek – postaram się odpowiedzieć teraz na to pytanie:
[END EDIT: 10.12.2020]
Kiedy kończy się „Newbie”, a zaczyna „Junior” ?
Jakiś czas temu opisywałem czym charakteryzuje się programista na poziomie Newbie:
Teraz postaram się rozwiać wątpliwości, kiedy Newbie się kończy.
Newbie kończy się kiedy:
1. 70-80% składni i features języka, w którym piszesz nie sprawia Ci problemów i umiesz znaleźć propozycje rozwiązań na swoje problemy
Nie musisz znać każdej części języka, są pewne rzeczy, których nigdy nie robiłeś ale już nie łamiesz sobie rąk i nóg przy podejściu do nowego zadania, którego nigdy nie robiłeś no i wiesz jak korzystać z google, githuba, dokumentacji i stackoverflow w celu poszukiwania informacji. Twój kod dalej jest słaby, ale będziesz się uczyć pisać dobry kod do końca życia, wiec jest to akceptowalne. Budujesz w miarę jeżdżące Multiple 😀
2. Ktoś jest skłonny zapłacić za Twoją pracę i potrafisz obronić swoją wartość
Pojawiająca się kasa to pierwszy wyznacznik Juniora, bo rynkowego Juniora już ktoś chce zatrudnić – nawet do naklepania prostej statycznej stronki czy sklepu na wordpressie. Nie zarobisz kokosów, ale coś tam Ci wpadnie
A każdy wokół siebie ma kogoś, kto potrzebuje budżetowej stronki – wystarczy popytać
3. Jesteś w stanie samodzielnie realizować proste stronki/skrypty
i one DZIAŁAJĄ I SĄ REALIZOWANE wg wytycznych biznesowych i klient po wykonaniu je zaakceptuje i w miarę bezawaryjnie używa
Nikt nie oczekuje, że napiszesz deeplearningowy model do predykcji czasu realizacji procesów biznesowych, ale jak mówisz, że umiesz Reacta to przynajmniej to ogarnij
A teraz kilka zdań o 2 typach Juniorów
Ostatni trend, w którym większe i mniejsze firmy chętniej zatrudniają Juniorów biorących udział w projektach open source (np jak projekt Programmers Only, który prowadzę wraz z bandą seniorów) czy w jakimś większym teamie pokazuje, że jest conajmniej 2 typy Juniorów
Można ich dla uogólnienia i odróżnienia nazwać:
1. Home Alone, czyli Junior „sam w domu”
2. Teamworkable, czyli Junior „współpracujący”
Już śpieszę z wyjaśnieniem tego słowotwórstwa i dlaczego uważam, że są 2 typy Juniorów
Jaki jest Home Alone Junior?
Taki Junior charakteryzuje się takimi cechami:
- wiesz jakie problemy można rozwiązać przy pomocy swojej specjalizacji
- pracuje samodzielnie realizując cały plan
- korzysta ze swojego githuba
- rozwiązuje samodzielnie proste problemy ze swojej specjalizacji
- dokształca się w swojej specjalizacji rozwiązując proste problemy
- wykonujesz generyczną pracę
Taki Junior może znaleźć pracę na projektach wewnętrznych lub w agencjach marketingowych na cięciu layoutów czy stawianiu wordpressów lub może (a nawet powinien) popracować jako freelancer
Jaki jest Teamworkable Junior?
Drugi typ Juniora charakteryzuje się takimi cechami:
- wiesz jakie problemy można rozwiązać przy pomocy swojej specjalizacji
- pracuje wspólnie realizując swoją odpowiedzialność w założonym planie
- korzysta z githuba współpracując z innymi
- rozwiązuje wspólnie z grupą bardziej złożone problemy wg swojej specjalizacji
- dokształca się w swojej specjalizacji rozwiązując trudniejsze problemy w grupie mu podobnych
- uczy się innych specjalizacji obserwując przebieg rozwoju innych części projektu
- „poznał” jakąś metodologie realizacji projektu w IT
- wykonujesz generyczną pracę, ale uczysz się jak robić customową pracę
Taki Junior może znaleźć pracę na projektach wewnętrznych lub w software housach / korpo
Jak wspominałem tutaj w artykule – FRAMEWORK MENTALNY, CZYLI 7 WSKAZÓWEK MENTORA UŁATWIAJĄCYCH NAUKĘ PROGRAMOWANIA
„Ucząc się z 2 osobowym zespole, razem zyskacie 3-krotnie więcej”
Co okazuje się na koniec 2020 roku rynkową prawdą…
[EDIT: 10.12.2020]
Także podsumowując w 3 punktach odpowiedź na pytanie: Kiedy kończy się „Newbie„, a zaczyna „Junior” ?
w formie rad dla każdego młodego programisty:
- Kiedy potrafi współpracować i rozwiązywać skutecznie problemy w grupie jemu podobnych. Rozumie też cel biznesowy kodu, który realizuje
- Kiedy jego główny język i okoliczne technologie nie sprawiają mu większych problemów i zna większość ich features – googlować też już umie – a nie pyta o pierdoły na grupach FB
- Kiedy znajomi (lub rynek jeśli jest no-lifem) są skłonni zapłacić za jego pracę nawet kilka stówek
Te 3 wyznaczniki wg mnie stanowią o wartości Juniora na 2021 rok 😉
[END EDIT: 10.12.2020]
Do następnego commita!