Programista na rynku pracy - wymagane kwalifikacje, kompetencje i umiejętności o których musisz wiedzieć!

Programista na rynku pracy - wymagane kwalifikacje, kompetencje i umiejętności o których musisz wiedzieć!

Jakie są wymagane kwalifikacje, kompetencje i umiejętności od programistów na rynku pracy?

Jakiś czas temu wspominaliśmy o inicjatywie STARTER, która ma na celu polepszenie współpracy między przedsiębiorstwami z sektora IT, a studentami. Ta Innowacja społeczna pn. Realizacja przez Studentów kierunku Informatyka projektów IT zlecanych przez przedsiębiorstwa w formie outsourcingu jako wdrożenie rozwiązań umożliwiających współpracę sektora edukacji i nauki z przedsiębiorstwami testowana jest w ramach projektu grantowego „Akcja Inkubacja”. Cały pomysł opiera się więc głównie na realizacji projektów, które firmy IT zlecają studentom do wykonania. Pomysł moim zdaniem bardzo ciekawy, żałuję, że czegoś podobnego nie było, gdy sam studiowałem 🙂

Co to ma wspólnego z niniejszym postem? STARTER między innymi przeprowadził ankietę wśród firm zaproszonych do udziału w testowaniu nowego modelu współpracy. Pierwsza część pytań dotyczyła wymaganych umiejętności technicznych, a dokładnie języków programowania. To kwestia oczywiście ściśle zależna od każdego z przedsiębiorstw i technologii w jakich pracują, a jak wiadomo w tym momencie nie ma raczej trudności ze znalezieniem pracy w dowolnym “stosie technologicznym”. Znacznie ciekawsza natomiast, z punktu widzenia szerokiego grona odbiorców PoznajProgramowanie.pl, była druga część ankiety, gdzie zapytano przedsiębiorstwa o oczekiwane kompetencje społeczne i personalne kandydatów. Dzięki uprzejmości  twórców inicjatywy (Agnieszka Zielińska i Tomasz Gancarczyk, którzy są pracownikami naukowo-dydaktycznymi Akademii Techniczno-Humanistycznej w Bielsku-Białej), udało nam się uzyskać wyniki ankiety i tymi danymi chcielibyśmy się z Tobą podzielić.

Kilka informacji wstępnych

Realizowany projekt polega na PRZETESTOWANIU nowego modelu współpracy wśród trzech przedsiębiorstw, stąd do inicjatywy celowo zaproszono tylko sześć. Ich dobór wynikał z lokalizacji (Bielsko-Biała) oraz różnorodnej specyfiki dostarczanych produktów i stosowanych technologii – mówili autorzy projektu.

Myślę, że daje to już całkiem niezły pogląd na to, jakie umiejętności należy posiadać (a może właściwiej byłoby rzec – wypracować w sobie), aby być konkurencyjnym programistą na rynku pracy.

Zanim przejdziemy do wyników chciałbym przypomnieć, że firmy, które wzięły udział w ankiecie są przedsiębiorstwami ściśle związane z IT, jednak oferowany przez nie wachlarz usług jest bardzo szeroki. Spójrzmy dokładniej:

  • InfonetProjekt – dostarcza kompleksowe usługi dla biznesu zwierające audyty, dostarczanie oprogramowania, infrastruktury sprzętowej, szkolenia kompetencyjne, czy serwis powdrożeniowy.
  • SleeplessClinic – producent gier.
  • Nav24 – dostawca specjalistycznych usług informatycznych w obszarze aplikacji biznesowych, doradztwa i konsultingu oraz wsparcia technicznego.
  • Com4IT – specjalizuje się w tworzeniu rozwiązań opartych o kody kreskowe i tagi RFID, usprawniających procesy w magazynach i logistyce, produkcji oraz sprzedaży.
  • Rekord – oferuje najnowocześniejsze rozwiązania informatyczne dla jednostek administracji publicznej i przedsiębiorstw produkcyjnych.
  • Evatronix – oferuje kompleksowe rozwiązania w dziedzinie projektowania i realizacji systemów elektronicznych, jak również jest producentem zaawansowanych skanerów 3D do zastosowań profesjonalnych.

Jak widać, przekrój usług jest faktycznie dość szeroki. W każdej z wymienionych firm potencjalnie zajmowalibyśmy się trochę innymi rzeczami, każda jednak ma podłoże informatyczne i potrzebuje programistów 🙂

Zatem, jakich umiejętności i kompetencji wymaga się w takich firmach? Czy wszystko na czym musimy się skupić to opanowanie na poziomie eksperckim umiejętności technicznych? Czy warto zawracać sobie głowę umiejętnościami miękkimi?

Spróbujmy rozwiać te wątpliwości przechodząc do samej ankiety i wyników.

Ankieta “wymagane kwalifikacje, kompetencje i umiejętności od programistów na rynku pracy”

W części ankiety dotyczącej kompetencji społecznych i personalnych zadanych zostało 10 pytań. Każda firma wybierała wagę (dolna oś wykresu) dla danej umiejętności od 1 (najmniej ważne) do 5 (najbardziej ważne). Oto wszystkie pytania wraz z wynikami:

1. Chęć uczenia się i otwartość na zmiany, automotywacja

2. Świadomość własnych mocnych stron

3. Komunikatywność

4. Umiejętność pracy w zespole

5. Zarządzanie czasem, umiejętność wyznaczania priorytetów
6. Własna inicjatywa, innowacyjność, kreatywność

7. Umiejętność logicznego myślenia

8. Umiejętność negocjacji

9. Przekazywanie wiedzy

10. Umiejętność prowadzenia prezentacji i wystąpień publicznych

Podsumowanie

Mając dostępne takie dane, które pochodzą od prawdziwych firm na rynku pracy, warto je przeanalizować i spróbować wyciągnąć coś dla siebie. Mi nasunęło się co najmniej parę wniosków.

Zacznijmy od wytypowania umiejętności, które dla badanych firm okazały się najistotniejsze.

Cztery najważniejsze kompetencje, na których warto się skupić

Miejsce I:

  • Umiejętność logicznego myślenia

Miejsce II:

  • Umiejętność pracy w zespole

Miejsce III:

  • Komunikatywność

Miejsce IV na równi:

  • Własna inicjatywa, innowacyjność, kreatywność
  • Chęć uczenia się i otwartość na zmiany, automotywacja
Wnioski

Przechodząc konkretnie do wniosków – mi nasuwa się na myśl co najmniej parę:

  1. Pierwszy ogólny wniosek – w umiejętności miękkie warto inwestować ponieważ umiejętności techniczne to nie wszystko. Są bardzo ważne, ale żeby być w stanie maksymalnie je wykorzystać przyda nam się również umiejętność pracy w zespole, czy dobra komunikatywność. W przeciwnym razie, nawet gdy jesteśmy mocni technicznie, możemy zostać sprowadzeni do roli zwykłego “klepacza kodu”. Oczywiście samo w sobie nie jest to złe, o ile ktoś potrafi odpowiednio swoją pracę wycenić i wyegzekwować należyte wynagrodzenie. Moim zadaniem jednak może być to ciężkie, gdy nasz zakres obowiązków i odpowiedzialności jest dość wąski.
  2. Najważniejsza okazała się umiejętność logicznego myślenia. Czy to oznacza, że tylko szczególnie obdarzona część ludzi jest w stanie spełnić to oczekiwanie? Myślę, że nie. Logiczne myślenie to po prostu umiejętność myślenia na podstawie wiedzy którą posiadamy, znajdywania możliwości i podejmowania właściwych decyzji. Może to nadal brzmieć trochę zagmatwanie, jednak dla mnie osobiście kluczowa jest tutaj kwestia wiedzy, którą posiadamy. To dzięki wiedzy jesteśmy w stanie powiązać jeden fakt z drugim i dokonać odpowiedniej decyzji. Wiedza natomiast jest dostępna dla wszystkich.
  3. Patrząc na resztę umiejętności pomijając logiczne myślenie widać, że są one do siebie podobne i razem dobrze do siebie pasują. Jeżeli posiadasz umiejętność pracy w zespole raczej musisz być przy tym komunikatywny. Jeżeli wykazujesz własną inicjatywę to również kojarzy mi się to z osobą, która jest komunikatywna oraz otwarta na zmiany itd. Wszystkie te kompetencje wpasowują się moim zdaniem w nurt “Agile”. Może warto zastanowić się nad sobą i coś zmienić?:)

A co Ty o tym sądzisz? Masz inne przemyślenia? Może jakieś konkretne doświadczenie? Podziel się tym z nami koniecznie!

  • No myślę sobie, że ogólnie nie ma tutaj żadnego odkrycia. Te kompetencję mogą właściwie być przypisane do każdego zawodu, bo każdej firmie teoretycznie na tym powinno zależeć. Nie szczególnie tutaj widzę, że akurat dla programisty będą super i są koniecznie wymagane. Można by powiedzieć, że z tymi umiejętnościami każda praca stoi otworem ; )

    W teorii powinno być tak, ze dana firma poszukuje bardzo konkretnego kandydata. I jeśli szuka programisty, to powinna wiedzieć czego od niego będzie wymagać. Czasem lepiej mieć w zespole kogoś bez kompetencji społecznych a z wielkimi kompetencjami technicznymi i mieć kogoś kto będzie pośredniczył z tą osobą w kontaktach., dzięki temu firma zyska o wiele więcej niż z 10 osobami co się umieją dogadywać i dobrze ze sobą pracować.

    Lubie i zgadzam się z takim stwierdzeniem, że na to, że przyjmą Cię do pracy ma wpływ w 80% twoje umiejętności techniczne a 20% umiejętność miękkie ale na to czy się zwolnią wpływ zależy już w 80% od umiejętności miękkich a tylko w 20% od technicznych możliwości.

    • Adrian Bystrek

      Masz rację, że wymienione kompetencje są uniwersalne. Można o tym myśleć na zasadzie jak sam wspomniałeś – nie ma tutaj dla programisty nic szczególnego. Z drugiej strony jednak można spojrzeć na to w taki sposób, że zawód programisty nie jest wyjątkiem i mimo braków “kadrowych” na rynku pracy warto dbać o swoją pozycję 🙂

      Czasami przez zwykły, codzienny pośpiech można wpaść w taki wir, gdzie zaczynamy żyć z dnia na dzień z “klapkami na oczach” i jestem zdania, że co jakiś czas warto się zatrzymać i przemyśleć nawet takie podstawowe, uniwersalne kwestie 🙂

  • Przemek Smyrdek

    Kilka luźnych przemyśleń na temat wyników ankiety:
    – dziwi mnie tak duża różnorodność odpowiedzi w punktach “Umiejętność prowadzenia prezentacji i wystąpień publicznych” i “Umiejętność negocjacji” – wydaje mi się, że ocenianie takiej umiejętności na 1 lub 2 to bardzo krótkowzroczne spojrzenie na zawód programisty, albo na rolę takiego programisty w firmie. Każdy specjalista który chce się rozwijać prędzej czy później będzie musiał sprostać bardziej ambitnym zadaniom z perspektywy firmy – a to rozmowa z klientem, a to poprowadzenie zespołu, a to sprzedanie projektu przed szerszym gronem znajomych. Czym to wszystko jest, jeśli nie pewną formą wystąpień publicznych albo miejscem, w którym wykorzystuje się umiejętność negocjacji?
    – podobnie z punktem “przekazywanie wiedzy” – programowanie które ja poznałem do tej pory, to nie ludzie zamknięci w pomieszczeniach 1x1m z których każdy musi być specjalistą dla samego siebie. Zazwyczaj programowanie to praca w zespole, interakcja, pomaganie kolegom i koleżankom, opisywanie problemów z którymi się mierzymy, przygotowanie mniej doświadczonych od nas do nowych ról. Kto, jeśli nie programista znający branżę od środka ma być skuteczny w przekazywaniu wiedzy – dział HR?
    – “Świadomość własnych mocnych stron” i połowa ocen na 3… znowu, dla mnie to cecha zerojedynkowa, a nie temat do dyskusji. Programista świadomy własnych mocnych stron to osoba która rozumie, w którą stronę idzie a także w jaki sposób może wpłynąć na środowisko w którym pracuje. To ktoś, kogo za 3 lata nie zastąpi maszyna, bo nie będzie potrafił się odnaleźć w nowych okolicznościach.

    Może problem tkwi w tym, jaki ta ankieta miała tytuł. Jeśli byłoby to coś związanego z początkującymi, to zgoda – zacznij od znajomości kodu i technologii, a dodatkowe umiejętności rozwiniesz razem z nabywaniem doświadczenia. Jeśli chodzi jednak o “wymagane kwalifikacje, kompetencje i umiejętności od programistów na rynku pracy” to powiedziałbym, że programiści chcący się liczyć na rynku i wnosić realny wkład do tego nad czym pracują powinni – co najmniej – myśleć o KAŻDYM z tym dziesięciu punktów. Bez logicznego myślenia nie ma dobrego programisty, ale nie ma go też bez umiejętności przekazywania wiedzy, bez umiejętności pracy zespołowej, komunikatywności, i kreatywności. Podobnie jak piłkarze w grze FIFA – niemożliwe, żeby każdy skill był “wymaxowany” na 100%, bo ludzie są po prostu różni, jednak nad brakami trzeba pracować, a swoje mocne strony dodatkowo pobudzać.