Maciej Olanicki
Maciej OlanickiRedakcja Bulldogjob

Na co pracodawcy IT zwracają uwagę wśród absolwentów

Jesteś młodym programistą, który dopiero wkracza na ścieżkę kariery zawodowej? Na pewno zastanawiasz się zatem, jakie są oczekiwania i potrzeby pracodawców. Przedstawiamy najważniejsze z nich.
21.10.20225 min
Na co pracodawcy IT zwracają uwagę wśród absolwentów

Absolwenci i studenci ostatnich lat studiów technicznych często zastanawiają się nad konkretnymi umiejętnościami oraz cechami, jakie powinni wykazywać, by pracodawcy zdecydowali się wybrać właśnie ich aplikację na stanowiska programistyczne. Specjalnie dla nich prześledziliśmy najczęstsze porady i doświadczenia programistów, co pozwala zarysować podstawowy zestaw kompetencji, które są szczególnie cenione przez pracodawców poszukujących pracowników wśród rozpoczynających karierę developerów.

Obycie z kodowaniem

Co ciekawe, większość komentatorów jest zgodna, że to nie tylko szeroko pojęte umiejętności techniczne są czynnikiem, który odgrywa ważną rolę w procesie rekrutacji. Pracodawcy poszukujący młodych i niedoświadczonych programistów zazwyczaj nie oczekują bowiem, że kandydat będzie wykazywał się ponadprzeciętnymi umiejętnościami. Wręcz przeciwnie, powtarzane jest stwierdzenie, że wybierany jest kandydat, który potencjalnie sprawi najmniej problemów.

Rzecz jasna miękkie umiejętności nie będą w stanie przesłonić braków w kompetencjach technicznych. Niemniej jednak zamiast konkretnych specjalizacji i obycia z konkretnymi technologiami czy frameworkami, wyżej cenione jest ogólne obycie z kodem i szeroko pojętą informatyką, takimi zagadnieniami jak algorytmika czy struktury danych. Przede wszystkim jednak od kandydatów oczekuje się obycia z jakimkolwiek językiem programowania nauczanym na poziomie akademickim (np. Java, C, C++) i doświadczeniem w posługiwaniu się nim w praktyce.

Podejście do tego zagadnienia może się oczywiście znacząco różnić ze względu na pracodawcę. Jedni poszukiwać będą osób, które są już zaznajomione z konstruktami i niuansami konkretnych obiektowych języków programowania, inni zaś – i jest to bodaj podejście znacznie  bardziej rozpowszechnione – będą oczekiwać propozycji rozwiązania konkretnych problemów i właśnie w ten sposób będą sprawdzać umiejętności kandydata.

Umiejętność uczenia się

Zdolność do szybkiego i efektywnego uczenia się to zdecydowanie jedna z najważniejszych umiejętności wymienianych w internetowych dyskusjach zarówno przez programistów, jak i pracodawców. Często założenie, że od programistów rozpoczynających karierę wymagać będzie się znajomości frameworku czy metodologia, w której powstaje projekt, okazuje się chybione.

Często wyżej ceniona jest natomiast zdolność do szybkiego przyswajania informacji o kluczowych technologiach i sprawnego wdrażania się w projekt i wykorzystywane do pracy nad nim narzędzia. Często w parze ze zdolnością do uczenia się idzie entuzjazm i dociekliwość. Kandydaci przywiązani do jednej technologii czy języka na początkowym etapie kariery znajdą się zapewne w trudniejszej sytuacji niż ich koledzy, którzy wykazują inicjatywę i zainteresowanie większą dynamiką w zakresie doboru szeroko pojętych narzędzi programistycznych.

Myślenie w bok

Już niemal anegdotycznego zabarwienia nabrały liczne pytania, jakie padały niegdyś podczas rekrutacji do największych branżowych korporacji. Przodowało tu zwłaszcza Google między innymi ze słynnym pytaniem o to, dlaczego włazy pokrywające studzienki kanalizacyjne są okrągłe.

Co prawda Mountain View wycofało się już z podobnych działań, niemniej bardzo często powtarzającym się spostrzeżeniem jest to, że pracodawcy oczekują od kandydatów umiejętności „kreatywnego rozwiązywania problemów”. Trzeba przyznać, że brzmi to dość ogólnikowo, niemniej ma swoje źródła w pracach Edwarda de Bono, który sformułował teorię myślenia lateralnego nazywanego niekiedy „myśleniem w bok”.

Myślenie lateralne można w uproszczeniu określić jako zdolność do rozwiązywania problemów w nieoczywisty i kreatywny sposób, który wykracza poza tradycyjne logiczne łańcuchy przyczynowo-skutkowe. Należy je rozróżnić od myślenia krytycznego, które charakteryzuje powtarzanie tych samych wzorców i standardów niezależnie od charakteru danego problemu. Myślenie lateralne skupia się na eksploracji nowych i nieoczywistych rozwiązań. Jako przykład myślenia lateralnego sam de Bono podawał salomonowy wyrok.

Kompetencje w komunikacji

Być może umiejętność efektywnego komunikowania się poszczególnych członków zespołu będzie dla wielu oczywistością, niemniej często pojawia się opinia, że właśnie na tym polu młodzi developerzy, jak i zapewne w ogóle wiele osób wchodzących na rynek pracy, mają szczególne braki. I chodzi tu zarówno o efektywność, jak i kulturę komunikacji tak z równorzędnymi członkami zespołu, jak i przełożonymi.

Można pokusić się o stwierdzenie, że w szeroko pojętej branży programistycznej, przy współczesnych metodach pracy nad kodem, wysokie kompetencje komunikacyjne są szczególnie ważne. Umiejętność klarownego wyrażania swoich pomysłów, przedstawiania propozycji rozwiązywania konkretnych problemów to jednak często obszar zaniedbywany przez kandydatów, którzy największy nacisk kładą przede wszystkim na umiejętności techniczne.

Takiego zdania jest między innymi Joshua Gross, profesor Computer Science na California State University. Jego zdaniem tajemnicą poliszynela jest, że absolwenci studiów technicznych często wkraczają na rynek pracy z więcej niż wystarczającymi kompetencjami technicznymi, ale za to z brakami w obszarach takich jak umiejętność współpracy i komunikacja. Gross poleca studentom zaangażowanie się np. w koła naukowe lub inne rodzaje grup roboczych, co pozwoli im na zdobycie niezbędnych umiejętności jeszcze przed rozpoczęciem kariery.

Praca z błędami 

Wspomnieliśmy już, jak ważna dla pracodawców jest umiejętność myślenia nastawionego na rozwiązywanie problemów, także w kreatywny, nieoczywisty sposób. Część ekspertów stwierdza nawet, że nie wystarczy poznać metody rozwiązania problemu, ale też oczekiwać od kandydata uzasadnienia. Pracodawca ma wówczas możliwość poznania toku rozumowania programisty, a przez to zyskać lepszy ogląd jego kompetencji w zakresie rozwiązywania problemów.

Jako równie istotne wskazywane są kompetencje kandydatów w zakresie radzenia sobie z błędami. Nie chodzi tu jednak nie tyle o sam troubleshooting i debugowanie, gdyż w obu przypadkach skuteczność i intuicja przychodzi tutaj z doświadczeniem. Ważne może się jednak okazać podejście samego kandydata. Często jako niedoceniany aspekt kompetencji technicznych kandydatów doświadczeni programiści wymieniają sprawność w tym obszarze. Trudno jej jednak oczekiwać od początkujących programistów. Ci mogą jednak nadrabiać chęcią zdobywania doświadczeń w obsłudze błędów pod okiem bardziej doświadczonych członków zespołu, co zaprocentuje na późniejszych etapach ich kariery.

Wymagania kandydata

Trzeba pamiętać, że to nie tylko absolwent powinien spełniać oczekiwania pracodawcy. Zarówno w interesie kandydata, jak i pracodawcy jest racjonalizacja oczekiwań wobec początkujących developerów. Choć w przypadku branży IT jest to na szczęście rzadkość, to przecież nie brakuje na rynku pracy ofert na poziomie wejściowym, które oczekują od kandydatów doświadczenia oraz zaawansowanej znajomości konkretnych narzędzi. 

Najczęściej oczywiście nie ma to najmniejszego uzasadnienia i powinno być dla kandydata czerwoną flagą. Wskazuje to, że pracodawca nie szuka początkującego programisty, lecz oszczędności. Słowem, wymaga umiejętności na poziomie mida, ale płacić chce za juniora, co świadczy o nim jednoznacznie negatywnie. Takie cechy takie jak elastyczność, łatwość w uczeniu się, wysokie kompetencje komunikacyjne czy kreatywność w rozwiązywaniu problemów to oczekiwania nie tylko wobec pracowników, ale także wobec pracodawców.

<p>Loading...</p>