Dlaczego Janek nie programuje? [cz. 2 – 2022]

Ten artykuł był wcześniej opublikowany po polsku, ale postanowiłem wrzucić go ponownie, żeby dać ci potrzebne tło cztery lata później. Zapraszam też do lektury artykułu z 2026 roku, który wkrótce się ukaże.
W pierwszej części poznaliśmy liczby opisujące niedobór programistów na polskim rynku pracy IT. Dowiedzieliśmy się też, ilu aktywnych programistów pracuje obecnie w branży i jak wygląda sytuacja w innych krajach. Dziś rozwiniemy temat uczelni wyższych i ich wpływu na obecną sytuację.
To druga część serii – zapraszam do śledzenia jej w całości.
Jeśli czytasz część 2, a nie udało ci się przeczytać części 1, koniecznie zajrzyj tutaj: link do pierwszej części serii.
Szkolnictwo wyższe w liczbach
Według oficjalnych danych Głównego Urzędu Statystycznego (GUS) polskie uczelnie co roku kształcą około 13 000 absolwentów informatyki. Nie wszyscy z nich to przyszli programiści, ale można bezpiecznie założyć, że co najmniej połowa pójdzie w tym kierunku. Po ukończeniu kursów z programowania i baz danych oraz odbyciu praktyk (jeśli uczelnia je oferuje) absolwenci informatyki mogą szukać pierwszej pracy.
Wielu studentów potrafi programować już przed rozpoczęciem studiów. Musimy jednak odróżnić umiejętność pracy przy projektach komercyjnych od umiejętności programowania, które same w sobie nie gwarantują pracy ani założenia firmy i realizacji zleceń. Co więcej, w niektórych przypadkach firmy zatrudniające Junior Developerów wymagają dyplomu z informatyki.
Co jednak zaskakujące, co roku mamy co najmniej 35 000 kandydatów na kierunki informatyczne (źródło), (źródło 2), którzy wybierają ścieżkę akademicką. Co dzieje się z 60% studentów, którzy nie kończą studiów? Odpowiedź jest prosta: trafiają bezpośrednio na rynek pracy (niekoniecznie w IT) albo na inne kierunki i kontynuują naukę. Innej opcji nie ma, jeśli weźmiemy pod uwagę, że bezrobocie w Polsce wynosi zaledwie 5–6% (GUS).
Czy programowanie jest zbyt trudne?
Teza z pierwszej części zdaje się potwierdzać: programowanie, czy ogólnie informatyka, wydaje się zbyt trudne lub nieciekawe dla kandydatów do IT. Po pierwszym roku nauki większość z nich odchodzi z uczelni.
Nic bardziej mylnego – i właśnie tu leży problem. Gdy przejrzymy tzw. sylabusy uczelni, odkryjemy, że wśród około 25 przedmiotów na pierwszych dwóch latach studiów tylko 5–6 jest ściśle związanych z programowaniem.
Przytłoczeni algebrą czy fizyką studenci rezygnują lub zostają skreśleni z listy, nawet jeśli ich predyspozycje do nauki programowania są wystarczające. Potencjalnie obiecujący programiści nie są profilowani pod programowanie – zamiast tego zdobywają rozległą wiedzę z nauk ścisłych.
Z drugiej strony można powiedzieć, że sprawdza to zdolność studenta do nauki. Jeśli nauczy się różniczkowania, z pewnością będzie w stanie ogarnąć abstrakcję, która nieustannie pojawia się w programowaniu.
Ten kontrargument zostawiam do dyskusji. Czy naprawdę potrzebujemy aż tyle czasu poświęconego matematyce i fizyce? Osobiście uważam, że podstawy matematyki i fizyki byłyby w zupełności wystarczające. Tymczasem na pierwszych czterech semestrach miałem pięć przedmiotów z samej matematyki: dwa semestry analizy matematycznej, algebrę, statystykę i matematykę dyskretną. Czy pomogło mi to w nauce programowania? Nie jestem przekonany.
Szkoły programowania miażdżą publiczne uczelnie
Właśnie dlatego szkoły programowania rozwijają się tak dynamicznie. W nauczaniu programowania nie mają sobie równych w sektorze publicznym. Deklarują, że osiągają lepsze wyniki w krótszym czasie niż ich edukacyjna konkurencja. Rzeczywistą skuteczność bootcampów zostawiam do dyskusji – to temat na osobny artykuł. Skupiam się wyłącznie na ich założeniach. Szkolnictwo wyższe w Polsce nie jest przygotowane na ogromną potrzebę „produkcji” programistów.
Nie znalazłem w Polsce uczelni, która skupiałaby się bezpośrednio na programowaniu. Zazwyczaj programy mają charakter ogólny, z możliwością specjalizacji na ostatnich semestrach i napisania pracy inżynierskiej związanej z programowaniem.
Gdyby studia informatyczne obejmowały to, co dziś obejmują dobrze ułożone programy bootcampów, z pewnością znacznie więcej osób chciałoby je ukończyć.
Pofantazjujmy!
Wyobraź sobie kurs programowania wydłużony pięciokrotnie. I do tego darmowy. Ile projektów do portfolio moglibyśmy stworzyć w trakcie takiego kursu? Jak szeroko moglibyśmy omówić algorytmy i struktury danych? Ile narzędzi, takich jak Scrum, systemy kontroli wersji czy zagadnienia inżynierii oprogramowania, moglibyśmy poznać na tyle dogłębnie, by wejść z tym na rynek pracy?
Szkoły programowania też nie są idealne – obiecują klientom za dużo. Ich programy są jednak znacznie lepiej dopasowane do wymagań rynku IT. Mamy więc z jednej strony bootcampy i kursy zbyt krótkie, by odpowiednio zgłębić pewne tematy, a z drugiej programy przeładowane niepotrzebnymi zagadnieniami.
Osobiście, gdybym miał wybierać teraz, nadal poszedłbym na studia dzienne (albo zaoczne, gdyby było mnie na nie stać), ale programowania uczyłbym się sam i po czterech–pięciu semestrach szukałbym pracy. W efekcie pewnie musiałbym przejść na studia zaoczne. Taką radę daję maturzystom, którzy chcą zostać programistami.
Przestarzałe technologie tylko pogarszają sytuację
Szkolnictwo wyższe nie nadąża za wymaganiami technicznymi stawianymi kandydatom na rynku pracy. Nauka programowania na uczelniach często sprowadza się do poznania jednego języka niskopoziomowego i kilku języków obiektowych. W ciągu czterech lat około 20–30% przedmiotów dotyczy stricte programowania. To za mało. Co więcej, wersje oprogramowania używane w laboratoriach pochodzą sprzed 2010 roku.
Kadra akademicka to często teoretycy, którzy nie pracowali komercyjnie. W moim przypadku zajęcia z programowania prowadzili bardzo uprzejmi wykładowcy, ale niestety większość z nich skończyła studia kilkanaście lat wcześniej. Nie byli na bieżąco.
Gdyby uczelnie szukały trenerów programowania działających komercyjnie, studenci zdobywaliby wiedzę prosto z miejsca, do którego ostatecznie trafią. Same programy studiów lepiej reagowałyby też na rynek, który – jak wiemy – szybko się zmienia.
Jedyną zaletą, i to dużą, są praktyki, które większość uczelni oferuje studentom. W moim przypadku, jak u wielu innych kandydatów, praktyki okazały się kamieniem milowym, który wprowadził mnie na rynek pracy. Po zdobyciu pierwszej pracy z każdym rokiem coraz łatwiej było negocjować warunki i szukać nowych projektów i pracodawców.
Podsumowanie
W artykule bez ogródek krytykuję szkolnictwo wyższe. Nasza edukacja nie przygotowuje odpowiednio studentów do programowania i potrzeb rynku. Wielu studentów rezygnuje też ze studiów informatycznych z powodu trudności z przedmiotami ścisłymi. Problem pogłębia brak odpowiedniej kadry. Mimo to praktyki są niewątpliwie plusem, dla którego warto iść na studia techniczne. To jednak za mało.
Na szczęście programowanie od pewnego czasu jest ważnym filarem zajęć pozalekcyjnych w szkołach podstawowych. Miejmy nadzieję, że szkoły średnie o profilu programistycznym, które również powoli powstają, nadadzą tempo także uczelniom. W najbliższych latach zobaczymy popularyzację programowania, co powinno pozytywnie wpłynąć na rynek IT w Polsce.