Z tego wpisu dowiesz się:
- Kto to jest programista?
- Co to znaczy być junior developerem?
- Czym charakteryzuje się mid-level?
- Czego pracodawcy odczekują od seniora?
Programista to bardzo szerokie pojęcie, pod którym zawierać się może wiele potencjalnych stanowisk. Junior Java Developer, Senior iOS Developer, Mid Programista PHP – to tylko niektóre nazwy stanowisk zaczerpnięte z popularnego serwisu zawierającego oferty pracy IT. Jak widać zawód programisty nie jest jednolity i nie chodzi tu jedynie o rodzaj technologii, w jakiej dana osoba się specjalizuje. Co w praktyce oznaczają prefiksy junior, senior czy mid? Czy istnieją obiektywne kryteria pozwalające odróżnić jednych od drugich?
Łagodny start w programowaniu
Ilością pytań, jakie zadaje, ćwiczy cierpliwość swoich współpracowników, pracodawcy z kolei traktują go jako inwestycję, która niebawem się zwróci. Junior developer, bo o nim mowa, to etap, który nie ominie żadnego stawiającego pierwsze kroki na rynku pracy kodera, niezależnie czy chodzi o świeżo upieczonego absolwenta informatyki czy trzydziestolatka po kursie programowania, który właśnie zmienia branżę. Choć młodszy programista nie ma jeszcze doświadczenia zawodowego i nie oczekuje się od niego specjalistycznej wiedzy, zna jednak podstawy języka na tyle, by być w stanie wspierać zespół w prostych, powtarzalnych zadaniach lub takich, które polegają na wzorowaniu się na gotowych już fragmentach kodu. Stanowisko to jest tymczasowe i powinno być traktowane jako punkt wyjścia w karierze, której dalszy przebieg zależy od doskonalenia praktycznych umiejętności.
Samodzielność i profesjonalizm u programisty
Programista mid-level zwykle ma ponad dwa i mniej niż dziesięć lat doświadczenia za sobą. Są jednak i tacy, szczególnie odporni na zmiany, którzy na tym poziomie pozostają przez resztę życia. Choć mid developer doskonale zna używane przez siebie narzędzia, potrafi samodzielnie wykonywać projekty, które mu powierzono, takie jak pisanie skryptów czy średnio zaawansowanych aplikacji, wie, ile się jeszcze musi nauczyć i kiedy poprosić o pomoc… To odróżnia go od juniora, który zwykle nie ma takiej świadomości.
Ekspercka wiedza programisty
Mniej doświadczeni programiści trudniejsze zadania realizują zwykle we współpracy z senior developerem. Kto to taki? W powszechnym rozumieniu to osoba, która „zjadła zęby na programowaniu” i osiągnęła w nim mistrzostwo. Owszem. Starszy programista może się pochwalić szeroką znajomością technologii i bibliotek. Niejedno już widział i zwykle wystarczy mu zaledwie rzut oka na napisany przez juniora fragment kodu, aby wskazać w nim błędy. Najważniejsze umiejętności starszego programisty nie wiążą się jednak z kodowaniem. Na miano to zasługuje osoba, która na proces wytwarzania oprogramowania potrafi spojrzeć szerzej niż przez pryzmat samych linijek kodu. Orientuje się w zasadach biznesu i wie, że celem, o który tu chodzi jest dostarczenie klientowi produktu, jakiego oczekuje. Dzięki wieloletniemu doświadczeniu potrafi dostrzec, co może pójść nie tak podczas tworzenia aplikacji i wie, jak temu zapobiec. Zwykle zajmuje się koordynowaniem prac, wyborem technologii i rozwiązań, choć zakres zadań, za które odpowiada, może się różnić w zależności od firmy.
Mimo że przedstawione „stopnie wtajemniczenia” programistów powszechnie funkcjonują w branży IT , granice między nimi są płynne i zależą nie tylko od polityki wewnętrznej pracodawcy, ale także wielu innych czynników. Zdarza się wręcz, że senior developer w jednej firmie ustępuje wiedzy i doświadczeniu mid programisty w innej. Dlatego też w przypadku kandydowania na dane stanowisko, rodzaj prefiksu nie jest tak ważny, jak wnikliwe przyjrzenie się wymaganiom i oczekiwaniom pracodawcy.