Zapotrzebowanie na programistów trwa. Komisja Europejska jeszcze do niedawna szacowała, że deficyt pracowników IT w UE plasuje się na poziomie 600 tys. stanowisk. Duży popyt, dobre zarobki, ukierunkowanie na rozwój – coraz chętniej przyciągają nowych pracowników do branży, w której 57 proc. stanowią programiści. Jednak czy niski próg wejścia tak naprawdę oznacza, że każdy może być dobrym programistą? O trendach i dobrych praktykach w branży mówią Marek Matczak z Capgemini i Sebastian Rabiej z wrocławskiego Java User Group.
Branża IT wydaje się niezwykle chłonna. Obecnie w Polsce szacuje się, że pozostaje ok. 50 tys. wakatów dla specjalistów z zakresu IT. Badania wskazują, że ponad połowę stanowisk w branży stanowią programiści. Nic zatem dziwnego, że zawód ten wydaje się atrakcyjny dla coraz większej liczby osób. Pewna praca to jednak niejedyny powód, dla którego coraz więcej chętnych decyduje się na przebranżowienie, czy też rozwój z zakresu IT. Stanowiska programistyczne kuszą także dobrymi warunkami pracy, dużą elastycznością, czy też atrakcyjnymi zarobkami. Nie oznacza to jednak, że niski próg wejścia do branży jest jednoznaczny z łatwym osiągnięciem dobrej pozycji.
Dobry programista z umiejętnościami miękkimi
O specyfice branży krążą legendy, jedną z nich jest introwertyzm programistów. Co prawda 32 proc. specjalistów IT twierdzi, że w pracy przeszkadzają im częste spotkania, jednak ponad 50 proc. badanych uważa, że ważne lub bardzo ważne jest to, aby mieć z kim w pracy porozmawiać. Warto obalić mit, że dobrym programistą jest jedynie człowiek o wysoko rozwiniętych kompetencjach technicznych.
- Jedną z ważniejszych cech, które powinien posiadać dobry specjalista, jest inteligencja emocjonalna. W odniesieniu do klientów może być ona kluczowa w zrozumieniu ich potrzeb biznesowych, a w stosunku do innych członków zespołu pozwala na bardziej efektywną współpracę, np. dzielenie się wiedzą. Te elementy są kluczowe dla powodzenia projektu. Warto podkreślić, że obecne realia – mnogość trendów, technologii i narzędzi - są dla nowych programistów większym wyzwaniem, niż jeszcze kilka lat temu – mówi Marek Matczak, od 15 lat związany z Capgemini Polska, mentor we wrocławskiej siedzibie firmy.
Na zupełnie inny aspekt umiejętności miękkich, które powinien posiadać dobry programista, zwraca uwagę Sebastian Rabiej, lider Java User Group we Wrocławiu:
- Asertywność, czyli umiejętność odmawiania i umiejętnego argumentowania odmowy również są istotne w przypadku programistów. Jest to o tyle ważne, że dzięki temu do realizacji przyjmuje się tylko założenia, które są rzeczywiste, wykonalne i pozwalają na uniknięcie rozczarowania klienta. Często wysokie wymagania ze strony zleceniodawcy są wynikiem niezrozumienia, niewiedzy. Rolą dobrego programisty jest jasna ocena sytuacji i doradztwo w tym zakresie – tłumaczy.
Nie sposób także pominąć kwestii ciągłej chęci rozwoju. Obaj eksperci są zgodni, że otwarty umysł i poszerzanie swojej wiedzy stanowi nieodłączny element pracy programisty. Dynamicznie zmieniające się środowisko, rozwój technologii, nowych języków programowania, nowych narzędzi wymusza na specjalistach ciągłą chęć poszerzania wiedzy.
- Co istotne, nie certyfikaty są tutaj najważniejsze – świadczą one jedynie o tym, że w momencie ukończenia kursu programista posiadał określony pułap wiedzy. Edukacja, ciągły rozwój, cykliczne uczestnictwo w kursach i szkoleniach jest kluczem do sukcesu. W połączeniu z praktyką i doświadczeniem taki programista może być pewien, że jest na właściwej drodze – mówi Sebastian Rabiej.
Przegląd trendów w branży programistycznej
W czasie tegorocznej konferencji TechTalk Special Edition III organizowanej przez Capgemini Software Solutions Center oprócz wykładów znalazło się także miejsce na dyskusję ze specjalistami w swoim fachu, czyli debatę: Przybornik świadomego programisty. Marek Matczak oraz Sebastian Rabiej opowiedzieli tam o głównych trendach branży, które mogą stać się punktami odniesienia dla programistów, którzy chcą poszerzać swoją wiedzę i kompetencje w oparciu o najistotniejsze, najlepiej rokujące czynniki.
- Od ponad 15 lat obserwując branżę i środowisko programistyczne, nie sposób nie zauważyć, że wśród programistów wykształciły się dwie główne specjalizacje – jedna związana z implementacją rozwiązania oraz druga związana z konieczną do tego rozwiązania infrastrukturą. Specjalizacja sama w sobie nie jest niczym złym, jednak posiadanie holistycznej wiedzy, pozwoli na stworzenie lepszego rozwiązania jako całości. Co więcej, często dostępność specjalistów DevOps jest zdecydowanie poniżej oczekiwań w projekcie, zatem posiadanie ogólnej wiedzy zarówno z zakresu development, jak i operations jest niezwykle przydatną umiejętnością – mówi Marek Matczak z Capgemini.
Zupełnie innym trendem jest wykorzystywanie chmury. Eksperci podkreślają, że dostawcy usług chmurowych stają się coraz przychylniejsi deweloperom, oferując łatwą integrację, nowe możliwości, innowacyjne funkcje lub narzędzia. Co też istotne, zwrócili oni uwagę, że wykorzystywanie chmury będzie coraz powszechniejsze, zatem orientowanie się w możliwościach, które stwarza, jest wręcz niezbędne.
- Sztuczna inteligencja to kolejny z istotnych trendów, nie tylko w środowisku programistycznym, ale w ogóle na świecie. Zgłębienie wszystkich możliwości, które niesie AI jest wręcz niemożliwe, jednak warto się orientować w tych kwestiach – poznawać narzędzia, które mogą w znacznym stopniu ułatwić pracę, zmienić jej charakter lub otworzyć nowe możliwości przed projektem. Kluczem w zakresie sztucznej inteligencji jest po prostu otwarty umysł, chęć dowiedzenia się czegoś nowego – zachęca Sebastian Rabiej z JUGa.
Obaj eksperci także zgodnie przyznają, że umiejętność pisania testów jest co najmniej tak ważna, jak programowanie samego rozwiązania. Co więcej, pisanie testów pozwala lepiej poznać stosowane biblioteki i narzędzia, zrozumieć je, a co za tym idzie – umożliwia lepszy rozwój. Pisanie testów, a następnie ich wykonywanie pozwala również dokładną weryfikację kodu, wykrywanie błędów, co w konsekwencji umożliwia naniesienie odpowiednich zmian w adekwatnym czasie. Zarówno Marek Matczak, jak i Sebastian Rabiej odnieśli się także do programowania funkcyjnego, które coraz bardziej zaznacza swoją obecność.
Więcej na temat branżowych trendów, cech dobrego programisty oraz Java i Javascript możesz dowiedzieć się słuchając panelu dyskusyjnego z tegorocznej edycji Tech Talk Special Edition.