W pierwszej części artykułu poznaliśmy liczby, które opisują, ilu programistów brakuje na rynku pracy w polskim IT. Dowiedzieliśmy się również ilu czynnych programistów w tej chwili pracuje w branży, oraz jak to wygląda w innych krajach. Dziś rozszerzymy temat o wątek uczelni wyższych oraz ich wpływ na obecną sytuację. To 2. część cyklu, zapraszam do śledzenia go w całości.
(Jeśli trafiasz na 2. część, a nie udało ci się przeczytać 1. odsłony cyklu, to koniecznie zajrzyj tutaj 😉 )
Szkolnictwo wyższe w liczbach
Z oficjalnych danych GUS (tutaj: link do danych) wiemy, iż w Polsce co roku uczelnie dostarczają na rynek około 13 tysięcy absolwentów informatyki. Nie wszyscy wśród nich to przyszli programiści, ale można przyjąć, iż przynajmniej połowa zajmie się tą właśnie dziedziną. Po ukończeniu kursów programowania i baz danych oraz odbytych praktykach (jeśli uczelnia takie zapewnia) absolwent informatyki może szukać swojej pierwszej pracy.
Wielu studentów potrafi programować już przed pójściem na uczelnię wyższą. Musimy jednak odróżnić zdolność do pracy w komercyjnych projektach od umiejętności programowania, która sama w sobie nie daje pewności zdobycia pracy lub otworzenia firmy i wykonywania zleceń. Dodatkowo w niektórych przypadkach firmy zatrudniające Junior Developerów wymagają ukończenia studiów informatycznych.
Zaskakujące jest jednak, iż co roku mamy minimum 35 tysięcy adeptów IT (źródło 1 , źródło2), którzy wybrali ścieżkę akademicką. Co dzieje się z 60% studentów, którzy nie kończą kierunku? Odpowiedź jest prosta: trafiają bezpośrednio na rynek pracy (niekoniecznie w IT) lub na inne kierunki studiów i kontynuują edukację. Innej opcji nie ma, jeżeli weźmiemy pod uwagę, iż bezrobocie w Polsce wynosi zaledwie 5-6% (GUS dane źródłowe ).
Programowanie jest zbyt trudne?
Teza z pierwszej części zdaje się potwierdzać: programowanie lub ogólnie informatyka zdaje się zbyt trudna, lub mało interesująca dla adeptów IT. Po 1. roku edukacji mury uczelni opuszcza większość kandydatów.
Nic bardziej mylnego i tutaj właśnie leży problem. Na uczelniach wyższych, gdy przejrzymy tzw. sylabusy, odkryjemy, iż pośród około 25 przedmiotów w pierwszych dwóch latach studiów mamy tylko 5-6 przedmiotów ściśle związanych z programowaniem.
Przytłoczeni algebrą, czy fizyką studenci rezygnują lub zostają wydaleni z uczelni, choćby jeżeli ich zdolność do nauki programowania jest wystarczająca. Potencjalni dobrze rokujący programiści nie są profilowani pod programowanie, mają za to dużą wiedzę z dziedzin ścisłych.
Z drugiej strony, można powiedzieć, iż to weryfikuje zdolność studenta do nauki. jeżeli nauczy się różniczkowania, to z pewnością będzie w stanie pojąć abstrakcje, która w programowaniu nieustannie występuje.
Powyższy kontrargument pozostawiam do dyskusji. Czy potrzebujemy takich ilości godzin spędzonych nad matematyką i fizyką? Osobiście uważam, iż podstawy matematyki i fizyki w zupełności by wystarczyły. Tymczasem w pierwszych 4 semestrach przerabiałem 5 przedmiotów samej matematyki: dwa semestry analizy matematycznej, algebra, statystyka i matematyka dyskretna. Czy to pomogło mi w nauce zagadnień związanych z programowaniem? Nie jestem przekonany.
Szkoły programowania miażdżą publiczne uczelnie
To właśnie z tego względu szkoły programowania tak gwałtownie się rozwijają. Nie ma dla nich konkurencji, jeżeli chodzi o sektor publiczny w dziedzinie nauki programowania. Zakładają lepszy efekt w krótszym czasie w porównaniu do ich oświatowych konkurentów. Do dyskusji zostawiam rzeczywistą skuteczność bootcampów – to temat na osobny artykuł. Chodzi tylko o ich założenia. Studia wyższe w Polsce nie są przygotowane na ogromną potrzebę „produkowania” programistów.
Nie znalazłem w Polsce szkoły wyższej nastawionej bezpośrednio na programowanie. zwykle studia mają charakter ogólny z możliwością specjalizacji w ostatnich semestrach i pisania pracy inżynierskiej związanej z programowaniem.
Gdyby kierunki studiów informatycznych pokrywały to, co robią dziś dobrze ukształtowane programy nauczania na bootcampach, z pewnością chętnych do ich ukończenia byłoby zdecydowanie więcej.
Pofantazjujmy!
Wyobraźmy sobie kurs programowania wydłużony 5-krotnie. Do tego darmowy. Ileż to projektów do portfolio mogliśmy stworzyć podczas takiego kursu? Jak szeroko moglibyśmy omówić algorytmy i struktury danych? Ilu narzędzi typu Scrum, systemy kontroli wersji, czy też zagadnień z zakresu inżynierii systemu moglibyśmy poznać na tyle głęboko, aby z impetem wpaść na rynek pracy?
Szkoły programowania też nie są doskonałe, przede wszystkim obiecują zbyt wiele swoim klientom. Ich programy nauczania mimo wszystko dużo lepiej pokrywają się z wymaganiami rynkowymi w IT. Mamy zatem bootcampy i kursy, które są za krótkie na odpowiednie zgłębienie niektórych tematów oraz z drugiej strony studia przepełnione zbędnymi zagadnieniami.
Osobiście, gdybym miał teraz wybierać, to przez cały czas poszedłbym na studia dzienne (ewentualnie zaoczne jeżeli byłoby mnie na nie stać) ale uczyłbym się programowania na własną rękę i szukał pracy po 4-5 semestrach. W efekcie pewnie trzeba by zmienić charakter studiów na zaoczny. Takiej rady udzielam dziś maturzystom, którzy chcą zostać programistami.
Archaiczne technologie tylko pogarszają sytuację
Szkolnictwo wyższe nie nadąża za wymaganiami technicznymi, jakie stawiane są przed kandydatami na rynku pracy. Nauka programowania na studiach wyższych często sprowadza się do poznania języka niskopoziomowego oraz kilku obiektowych. W ciągu 4 lat około 20-30% przedmiotów jest ściśle związanych z programowaniem. To za mało. Dodatkowo wersje oprogramowania, na których pracuje się na laboratoriach, pamiętają jeszcze czasy sprzed 2010 roku.
Kadra szkół wyższych to też bardzo często teoretycy, którzy nie pracowali w komercyjnych warunkach. W moim przypadku lekcje programowania prowadzili bardzo uprzejmi wykładowcy, niestety większość z nich skończyła edukację kilkanaście lat temu. Nie byli na bieżąco.
Gdyby uczelnie zabiegały o trenerów programowania dostępnych na rynku komercyjnym, studenci czerpaliby wiedzę wprost z miejsca, gdzie w końcu trafią. Same programy nauczania również byłyby wtedy bardziej dostosowane do rynku. Ten jak wiemy, zmienia się bardzo dynamicznie.
Jedynym plusem, dużym plusem są praktyki, które większość uczelni zapewnia swoim studentom. W moim przypadku podobnie jak wielu innych kandydatów praktyki okazały się kamieniem milowym, który wyniósł mnie na rynek pracy. Po zdobyciu pierwszej pracy, z roku na rok było już coraz łatwiej negocjować warunki i szukać nowych projektów, czy też pracodawców.
Podsumowanie
W artykule dosadnie krytykuje szkolnictwo wyższe. Nasza edukacja pod kątem programowania i potrzeb rynkowych nie kształtuje studentów dostatecznie dobrze. Wielu studentów rezygnuje też ze studiów informatycznych ze względu na trudności z przedmiotami ścisłymi. Problem pogłębia tylko brak odpowiedniej kadry. Niemniej jednak niewątpliwym plusem, dla którego warto udać się na studia techniczne, są praktyki. To jednak trochę za mało.
Na szczęście w szkołach podstawowych od jakiegoś czasu nauka programowania stanowi istotny filar zajęć dodatkowych. Miejmy nadzieję, iż również szkoły średnie dedykowane pod programowanie, które też powoli wyrastają, narzucą tempo rozwoju uczelniom wyższym. W najbliższych latach będziemy przyglądać się popularyzacji programowania, co powinno przynieść pozytywne skutki na rynku IT w Polsce.
Autor: