Pracownicy IT, w tym programiści, są w dobie gospodarki cyfrowej jednymi z najbardziej poszukiwanych pracowników. Choć liczba Polaków pracujących w branży wzrosła w ciągu ostatnich 10 lat o ok. 192 tys., nadal notujemy znaczne braki kadrowe. Według wyliczeń PIE do średniej unijnej brakuje nam kolejnych 147 tys. pracowników. Zielona Linia zwraca z kolei uwagę, że do rozwiązania problemu z zatrudnieniem w IT Polska potrzebuje dalszych 12 lat.

Sytuację komplikuje fakt, że branża informatyczna w ostatnich latach mocno się profesjonalizuje i wcześnie profiluje ścieżki rozwoju. Powstaje coraz więcej stanowisk, na których specjalista zajmuje się wąskim zagadnieniem, pracując wyłącznie na określonym typie zadań. Tymczasem rynek potrzebuje nowych talentów w postaci działających wielozadaniowo pracowników, którzy będą w stanie łączyć wiedzę typowo techniczną z szerokim spojrzeniem na problem. Dziś eksperci z sektora są zgodni: w sytuacji niedoborów musimy w pełni wykorzystać kadrę, którą już mamy, dlatego sami programiści muszą dołożyć starań, żeby się rozwijać. Jak? – możliwie wszechstronnie.

Od programisty do inżyniera oprogramowania

Dzisiejszy programista pracuje zwykle zadaniowo: wykonuje określone czynności według instrukcji przygotowanej przez inną osobę. Nie musi zapoznawać się z szerszym kontekstem (takim jak rozmowy z klientem), nie zawsze wie też o całości rozwiązania, którego częścią się zajmuje. Taki tryb pracy wynika między innymi z dość zachowawczej edukacji, jaką od lat otrzymują przyszli programiści:

Kandydatów do kariery w IT już od technikum uczy się rozwiązywania zadań według klucza podstawy programowej, co ogranicza ich kreatywność i promuje myślenie schematami. Nauka na studiach nie nadąża z kolei za tempem rozwoju rynku. Przez to studenci kierunków informatycznych nieraz trafiają na rynek z książkową wiedzą, niekoniecznie przystającą do wyzwań związanych z rynkiem pracy. – mówi Michał Bojko, Lab Lead i dyrektor ds. badań i rozwoju w zakresie inteligentnego oprogramowania w polskim oddziale firmy Dynatrace.

Jednak w warunkach niespotykanego dotąd rozwoju technologii cyfrowych wykonywanie wyłącznie zleconych czynności w ograniczonym zakresie często nie wystarcza. Problemy stają się bardziej złożone, rośnie też ilość danych, którymi trzeba zarządzać. Aby skutecznie wykonywać swoją pracę, „dowozić” projekty na czas i rozwiązywać piętrzące się problemy programiści muszą przejmować wiele ról, dotychczas kojarzonych z inżynierami oprogramowania.

To zawód, w którym nieustannie trzeba się rozwijać. Współczesny programista powinien dążyć do zdobycia umiejętności, jakie do tej pory wymagane były od inżyniera oprogramowania. Oznacza to zupełną zmianę myślenia o pracy: programiści nie mogą już ograniczać się tylko do „odhaczania” kolejnych wąsko rozumianych zadań, a powinni przestawić się na myślenie kontekstowe. Programista przyszłości bierze udział w dyskusji nad kształtem projektu, analizuje różne możliwości i sam wdraża własne pomysły.

Jak skrócić time to market

Michał Bojko tłumaczy też, dlaczego większy udział inżynierów oprogramowania w ogólnej liczbie pracowników IT może przełożyć się na duże korzyści:

Szersza perspektywa pozwala na tworzenie lepszych technicznie, przeanalizowanych i bardziej dopracowanych rozwiązań. Krytyczne spojrzenie na każdym etapie sprawia, że nie tracimy później czasu na poprawianie zbyt wielu błędów. Dodatkowo wielozadaniowość u osób, które pracują nad jednym zadaniem, pozwala oszczędzać czas i pieniądze. Takie uproszczenie struktur w firmach IT znacznie skraca „time to market”, czyli czas liczony od momentu rozpoczęcia projektu do udostępnienia go klientowi. 

Warto zaznaczyć, że „idealny” zespół w świecie firm produktowych powinien składać się zarówno z programistów, jak i inżynierów programowania. Efektywna realizacja zadań możliwa jest dzięki właściwemu podziałowi pracy na role wymagające szerszego spojrzenia oraz te, które wymagają jedynie technicznego rozwiązania jednego konkretnego problemu.

Siedem umiejętności programisty przyszłości

Ekspert Dynatrace wskazuje siedem kluczowych kompetencji, które będą decydować o atrakcyjności programistów na rynku w nadchodzących latach.

1. Machine Learning i AI

Jedną z najbardziej docenianych umiejętności u kadry IT jest obecnie tworzenie oprogramowania, które umie się uczyć oraz realizować określone cele z wykorzystaniem algorytmów sztucznej inteligencji. Według Precedence Research rynek sztucznej inteligencji wzrasta o ponad 38% rocznie i ma osiągnąć prawie 1,6bln dol. wartości do 2030 roku. Nie dziwi więc fakt, że ten błyskawicznie ewoluujący obszar chłonie każdą liczbę specjalistów – badania LinkedIna potwierdzają, że wskaźnik zatrudnienia w sektorze AI przyrasta rocznie o 74% od 2016 roku.

2. Data science

Wraz z rosnącą lawinowo ilością danych, jaką na co dzień zarządzają firmy, umiejętność ich analizy i wizualizacji staje się ważnym atutem. HRForecast na podstawie danych PwC przewiduje, że do 2023 roku już 69% pracodawców będzie wolało zatrudnić pracowników ze znajomością data science niż tych, którzy jej nie mają.

3. Wykorzystanie technologii chmurowych

Dziś prawie 70% polskich firm dąży do zapewnienia ciągłości biznesowej z wykorzystaniem transformacji chmurowej – podaje PwC Polska. Kompetencje z obszaru cloud computing przydają się zarówno we wdrażaniu innowacyjnych rozwiązań, jak i późniejszej obsłudze chmury w organizacjach.

4. Cybersecurity

Analiza potencjalnego ryzyka i umiejętność ochrony danych przydają się w większości zawodów z branży IT. Grupa audytowa TestArmy wskazuje, że luka kompetencyjna w tym obszarze jest ogromna – tylko w Polsce do obsadzenia pozostaje dziś 10 tys. stanowisk związanych z cyberbezpieczeństwem. Ogromne zapotrzebowanie na specjalistów od cyfrowego bezpieczeństwa to wyraźny sygnał dla „programisty przyszłości’’, jakie kompetencje będą się liczyć najbardziej.

5. Umiejętność zrozumienia potrzeb użytkownika końcowego

Developer, który projektuje oprogramowanie (np. tworzy aplikację), powinien patrzeć na nie całościowo i starać się „wejść w skórę” użytkownika. Aby rozwijać umiejętność oceny działania aplikacji lub programu z punktu widzenia odbiorcy, warto uczyć się pracy z perspektywy testera czy UX/UI designera. Odpowiednio identyfikując problemy już na starcie, specjalista taki jest w stanie stworzyć lepszy produkt, który szybciej wejdzie na rynek (i oszczędzi pracy innym).

6. Krytyczne myślenie i zarządzanie wartością

Myślenie krytyczne to proces obiektywnej analizy sytuacji lub informacji w celu podjęcia racjonalnej decyzji. Ocena i analiza różnych perspektyw pozwala ustalić, w jakim kierunku należy podążać. Inżynier oprogramowania musi identyfikować wartość w planowanej pracy poprzez skupienie się na danych i faktach. To w rezultacie pozwoli zmniejszyć nakład pracy i skupić się na elementach, które przyniosą najwięcej wartości dla organizacji.

7. Umiejętność pracy end-to-end

Przydaje się również praca „end-to-end”, czyli dostarczanie kompleksowych rozwiązań, tworzonych od początku do końca bez konieczności zaangażowania zewnętrznych dostawców usług. Obejmuje m.in. początkowe konsultacje z klientem, opracowanie projektu biznesowego, fazę planowania i analizy. Dalej przechodzi do integracji i wdrożenia systemów, po ich późniejszą konserwację oraz utrzymywanie po stronie klientów. Holistyczna obsługa end-to-end może obejmować nietypowe, zróżnicowane zadania, od projektowania interfejsu użytkownika po przechowywanie danych.

Nieustanny upskilling i projektowy tryb pracy to w 2023 roku i w kolejnych latach już nie przyszłość programowania, a konieczność. Dzięki temu zmniejszy się zapotrzebowanie na nowych pracowników do każdego nowego projektu, a obecni specjaliści chętniej zaangażują się w rozwiązywanie kompleksowych zagadnień, dotychczas powierzanych tylko inżynierom oprogramowania.

Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments