Jeszcze dekadę temu twierdząca odpowiedź na tytułowe pytanie byłaby oczywistością. Od kilku lat dogmat studiów jako recepty na sukces w branży IT jest mocno podważany. Wszystko to za sprawą niezadowolenia z poziomu państwowej edukacji oraz historii osób świetnie radzących sobie w programistycznym rzemiośle, niezależnie od kierunku ukończonych studiów, bądź braku wyższego wykształcenia.

Udzielenie pełnej, dobrze przemyślanej odpowiedzi na pytanie: "Czy wykształcenie informatyczne, potwierdzone dyplomem uczelni wyższej, ma znaczący wpływ na karierę programisty?" jest dla mnie szczególnie istotne.

Jak wspomniałem w artykule "Jak dostawać oferty zamiast szukać pracy?", jestem obecnie na urlopie dziekańskim. Mam zaliczone 6 semestrów studiów teleinformatycznych na Uniwersytecie Technologiczno-Przyrodniczym w Bydgoszczy. Od tytułu inżyniera dzieli mnie ostatni semestr oraz praca inżynierskiej, którą do tej pory zrealizowałem w ~40%.

Mimo tego, że jestem tak blisko finiszu, mam wątpliwości czy dotarcie do mety ma sens.

Możesz sobie pomyśleć: "WTF Marcin? Przecież został Ci jeden semestr! Chcesz aby trzy lata pracy poszły na marne? Skończ to dla świętego spokoju!"

Tak reaguje większość osób, z którymi podzieliłem się swoimi wątpliwościami. Nie wiem czy słusznie, ale taka argumentacja jest w moich oczach oparta o błąd rozumowania jakim jest efekt utopionych kosztów.

Na czym stałem, na czym stoję

Pozwól, że opowiem Ci jak wyglądała moja sytuacja cztery lata temu, gdy zacząłem studia.

Zaczynając studia w 2015 roku mieszkałem w Bydgoszczy. W tym samym roku zrezygnowałem z studiów prawniczych. Wiedziałem, że chcę zostać programistą ale potrzebowałem czasu, żeby zadomowić się w świecie informatyki i wybrać odpowiednią dla siebie niszę. Aby dać sobie okazję do eksploracji wybrałem się na dzienne studia teleinformatyczne.

Od drugiego semestru, zacząłem łączyć studiowanie z pracą. Uczelnię i biuro dzieliło 10 minut drogi spacerem. Miałem prosty układ z szefem: pracuję od 8 do 16, z możliwością robienia sobie przerw na obowiązkowe zajęcia na studiach. Na zdobywanie doświadczenie praktycznego poświęcałem 80% czasu i uwagi, pozostałe 20% wystarczało na zaliczanie kolejnych semestry studiów.

Dużo zmieniło się niecały rok temu.

W grudniu 2018 roku wziąłem dziekankę, aby rozpocząć współpracę z Adamem. Ta współpraca ma miejsce do dzisiaj, oprócz przeprogramowanych, rozwijamy wspólnie platformę e-learningową.

Po przeprowadzce do Krakowa, od murów uczelni dzieli mnie 6,5h podróży pociągiem. Gdybym przeniósł się na jakąś krakowską uczelnię - pomijając całe biurokratyczne zamieszanie z tym związane, wyrównywanie różnic programowych i inne tego typu "atrakcje" - ukończenie studiów, nawet w trybie zaocznym, nadal wiąże się z inwestycją godzin liczonych w setkach.

Godzin, które w obliczu wartościowych projektów w jakie jestem zaangażowany (praca, AlgoSmart, przeprogramowani), są na wagę złota. Godzin, które mogę poświęcić na skreślanie pozycji z mojej ciągle rosnącej liczby książek do przeczytania. Godzin, które mogę zaoferować swoim bliskim.

Uzyskanie dyplomu będzie miało wysoką cenę. Po prostu.

Bez obaw, nie chciałem w tym artykule bazować jedynie na moim, jakby nie patrzeć specyficznym, punkcie widzenia.

Zrobiłem solidny research, argumenty za i przeciw wyprowadziłem również z myślą o osobach, które dopiero kończą szkołę średnią lub chcą się przebranżowić.

Co branża sądzi na temat studiów?

Zanim zabrałem się za formułowanie argumentów, chciałem przekonać się co na temat studiów sądzą inni programiści.

Jak to w przypadku nieoczywistych tematów bywa, po 15 minutach w internecie przekonałem się, że sprawa jest jednak nader oczywista.

Szkoda tylko, że zawsze zamiast spójnych wypowiedzi, jak zwykle znalazły się dwa przeciwstawne obozy. Czytasz i zastanawiasz się: jak to w ogóle możliwe, że czytam tak skrajnie różne odpowiedzi na to samo pytanie.

Osoby, które studia skończyły często wychwalają je pod niebiosa. Koncentrują się na licznych zaletach, przekonują, że były przyczynkiem ich późniejszych sukcesów. Niestety na ogół brakuje jakichkolwiek przykładów konkretnych sytuacji, kiedy te studia faktycznie zaprocentowały. Oczywiście, żeby zamaskować brak konkretów padają pytania retoryczne pt. "Czy ktoś zna architekta z szanowanej firmy bez studiów?". Szczwany ruch w świecie, w którym 75% programistów jednak ten dyplom ma, a Ci którzy go nie mają, to najczęściej osoby z małym stażem.

Za to internauci, którzy studiów nie skończyli, widzą je jako jawną stratę czasu na naukę teorii. Teorii, która i tak nie znajdzie zastosowania na rynku pracy. Oczywiście nie brakuje wycieczek poddających pod wątpliwość racjonalne myślenie programistów, którzy się na studia zdecydowali. Skąd takie wnioski? "A no przecież mój kolega Stefan studiów nie skończył, a pracę dostaje gdzie tylko chce i zarabia 15k na rękę".

Większość tego typu wypowiedzi to dla mnie raczej studium z kolejnych błędów poznawczych: efektu potwierdzenia i błędu narracji niż źródło mądrości, które miałyby mnie wspomóc przy podjęciu rozsądnej decyzji.

Ale przynajmniej doszedłem do pierwszego wniosku: nie ma jednej przekonującej odpowiedzi na to pytanie. Perspektywa jest silnie uzależniona od osoby, która udziela odpowiedzi.

To od tego kim jesteś zależy waga poszczególnych zalet i wad studiowania. Zwłaszcza że wady to przede wszystkim kontrargumenty wobec zalet. Kontrargumenty polegające na umniejszaniu wartości tych zalet, wskazywaniu alternatywnej drogi do danej korzyści, w sposób bardziej efektywny i elastyczny.

W związku z tym pozostało mi przejść przez każdą z zalet studiowania i od razu wyprowadzić stanowisko "za" jak i "przeciw".

Z czysto egoistycznych względów, pozwoliłem sobie oddzielić zalety studiowania od zalet zdobycia dyplomu. Jak sam zobaczysz, jedno i drugie nie jest ze sobą tak ściśle powiązane, jak mogłoby się z początku wydawać.

A, FYI: wziąłem pod uwagę jedynie te zalety, które mają realny wpływ na karierę programisty. Pominąłem ewentualne plusy i minusy samego studenckiego życia: imprezy, erasmusy i inne tego typu historie.

Zalety studiowania

Zacznę od zalet samego studiowania informatyki, które możesz sobie odhaczyć już po drugim/trzecim rok studiów, abstrahując od zdobycia samego dyplomu.

Zdobycie szerokiej wiedzy informatycznej

Za: Programy studiów to nie tylko programowanie ale szeroko rozumiana informatyka: architektura komputerów, algorytmy i struktury danych, matematyka, systemy operacyjne, sieci komputerowe, bazy danych, teoria języków i kompilatorów czy systemy rozproszone.

Są to tematy, które nie są niezbędne w codziennej pracy developera, ale ich znajomość jest zdecydowanie mile widziana wśród inżynierów oprogramowania z prawdziwego zdarzenia. Ciężko mówić o tym, że ktoś posiada tak cenione kompetencje w kształcie litery T, bez znajomości fundamentów wymienionych dziedzin.

Bardzo możliwe, że koncentrując się wyłącznie na tym, co widzisz w ofertach pracy, nigdy się nie dowiesz, że nie masz takiej wiedzy.

A po co Ci wiedza nieprzydatna tu i teraz w pracy?

Wiedza ogólna jest antykrucha. Mimo że często nie ma bezpośredniego zastosowania przy wielu problemach dnia codziennego, poszerza perspektywę i nadaje odpowiedni kontekst dla nabywanych umiejętności praktycznych.

To z kolei pozwala na szybsze dostosowywanie się do zmian w technologiach dominujących na rynku pracy. Widzimy że kolejny framework, moda na paradygmat nie jest żadnym przełomem tylko dziesiątą iteracją koncepcji, która jest znana informatykom od kilku dobrych dekad. Patrz: React i boom na programowanie funkcyjne, które zostało rozpykane chociaż w SICP, książce wydanej czterdzieści lat temu.

Przeciw: W erze szerokopasmowego dostępu do internetu nic stoi na przeszkodzie, żebyś samodzielnie przerobił sylabus studiów informatycznych. Pomogą Ci w tym takie miejsca w internecie jak Teach Yourself Computer Science.

Za sprawą jednej strony poznasz powody, dla których warto mieć szeroką wiedzę informatyczną oraz uzyskasz dostęp do materiałów o znacznie wyższej jakości, niż to co ma Ci do zaoferowania większość polskich placówek akademickich.

Co równie istotne, zamiast poświęcać na naukę aż cztery lata, możesz skrócić ten czas o połowę. Wystarczy, że zainwestujesz w edukację cztery godziny dziennie (bez weekendów), czyli dużo mniej niż przewiduje plan studiów dziennych.

Zresztą posiadanie tak szerokiej wiedzy, nie jest warunkiem koniecznym do bycia programistą rozchwytywanym na rynku pracy. Dla wielu jest to wystarczający powód, żeby machnąć na cały temat ręką.

Narzucona struktura oraz deadline’y

Za: Na studiach odpowiedzialność za to co jest do przyswojenia przenosisz na doświadczoną kadrę akademicką. Skupiasz się na spełnieniu oczekiwań wykładowców, zaliczasz kolokwia i egzaminy.

Przejście przez kilka lat takiego procesu daje Ci gwarancję, że jakiś zakres wiedzy i umiejętności udało Ci się przyswoić. Jeżeli działasz na własną rękę, może to nie być tak kolorowo. Samodzielna nauka może się skończyć na zakupieniu pięciu kursów z podstaw JSa na Udemy i zrealizowaniu każdego z nich w 5%.

Jeżeli masz problem z systematycznością i dyscypliną albo po prostu jeszcze nie wiesz co tak naprawdę chcesz ze sobą zrobić (ja cztery lata temu też nie wiedziałem), studia będą dla Ciebie wartościowe. Na początku presja wynikająca z zewnętrznych kryteriów zaliczeń, narzuconych terminów, może się okazać decydującym czynnikiem, dzięki któremu w ostateczności zostaniesz programistą.

Przeciw: Sylabusy studiów informatycznych jak i sam sposób ich realizowania często pozostawia wiele do życzenia. Jeżeli jesteś zdyscyplinowany, potrafisz sam ustalać sobie cele i metryki ich realizacji, nie zyskasz wiele z narzuconej struktury.

Ba, taka struktura może być dla Ciebie źródłem frustracji. Stosunkowo częśto będziesz na studiach robił rzeczy skrajnie nudne i przestarzałe. Myślę, że wszyscy tegoroczni twórcy tak pasjonujących projektów jak kalkulator w Swingu się ze mną zgodzą 😉.

Ja na przykład mam dużo więcej satysfakcji i poczucia sensu z pisania tego artykułu, który przeczytają setki programistów, niż kiedykolwiek wyciągnę z czekającej na mnie pracy inżynierskiej. To 'dzieło' pewnie nie doczeka się nawet jednego przeczytania od deski do deski, chociaż może zaskoczy mnie tutaj mój świetny promotor (pozdrawiam Panie Doktorze!).

Networking z osobami o podobnych zaintersowaniach

Za: Na studiach spotkasz osoby, które również wiążą swoją przyszłość z technologią. Jest to dla Ciebie świetna okazja, żeby w ich towarzystwie postawić pierwsze kroki w programowaniu. Możecie wziąć w udział w wspólnych projektach, zaangażować się w koła studenckie, zapisać się na hackathony.

Nigdy nie wiesz, czy nie wylądujesz w grupie z drugim Markiem Zuckerbergiem. Nigdy nie wiesz, czy fakt znalezienia się w odpowiednim środowisku w odpowiednim czasie, nie uczyni z Ciebie drugiego Marka Zuckerberga. Chociaż po głębszym zastanowieniu, wcale Ci tego nie życzę. Oczywiście poza aspektem finansowym :).

Czy Ci się to podoba czy nie, znajomościami z wartościowymi ludźmi, często mogą dużo mocniej wpłynąć na rozwój Twojej kariery, niż czas zainwestowany w umiejętności techniczne.

Przeciw: Odsetek naprawdę wartościowych ludzi, na studiach (i poza nimi), jest jednak stosunkowo niski. Jeżeli masz jasną wizję tego czym chcesz się zajmować, to wielu studentów kierunków informatycznych może Cię rozczarować. Ich pojawienie się w tym samym miejscu co Ty, może wynikać przede wszystkim z niechęci do języka polskiego w szkole średnim oraz chęci zaspokojenia ambicji rodziców.

Takie osoby często liczą, że studia samoczynnie zapewnią im pomysł na siebie. To marzenia ścietej głowy, o czym wielu osób przekonuje się kiedy studia zbliżają się ku końcowi. Pomysłu nadal nie ma. Wiedzy i umiejętności często też.

A co jeśli obawiasz się, że rezygnując ze studiów, będziesz skazany na izolację? W dzisiejszych czasach masz możliwość zawierania znajomości bez wychodzenia z domu. Są miejsca takie jak FreeCodeCamp czy fejsbukowe grupy. Aż roi się tam od aktywnych początkujących, szukających partnerów do pierwszych projektów. Jeżeli uważasz, że wartościowe znajomości buduje się wyłącznie twarzą w twarz, to również nie ma problemu. W każdym mieście czekają na Ciebie otwarte społeczności budowane wokół meetupów tematycznych.

Zalety ukończenia studiów

Biorac pod uwagę powyższą analizę, gdybym miał ponownie udać się na studia - zrobiłbym to. Uważam, że dobrze na tym wyszedłem, ale...

Co się zmieni w moim i Twoim życiu w dniu obronienia pracy inżynierskiej/magisterskiej? Przyszedł czas skoncentrować się na tym co tak naprawdę daje nasza wisienka na torcie czyli dyplom.

Korzyści biurokracyjne

Za: Ukończenie studiów jest doliczane do stażu pracy, co daje Ci kilka korzyści związanych z kodeksem pracy:

  • szybsza emerytura
  • szybszy dodatkowe 4 dni urlopu

Ponadto, jak słusznie zauważyła moja dziewczyna Magda, wykształcenie wyższe ułatwia zdobycie wizy do niektórych państw, np. Australii. Nawet jeżeli nie planujesz emigracji, sytuacja polityczna w przyszłości może Cię do tego zmusić.

Przeciw: Państwowa emerytura jest raczej losem na loterii a nie czymś, na czym warto opierać swoją wizję spokojnej starości.

Jeżeli tak jak ja pracujesz na B2B lub planujesz założenie własnej firmy, doliczony staż pracy, nie będzie miał dla Ciebie żadnych realnych korzyści.

Spełnienie oczekiwań społeczeństwa

Za: Część Twojej rodziny, bliskich, kolegów z biura oraz pracodawców ma wysokie mniemanie na temat studiów. Chcąc nie chcąc, zdobycie dyplomu może mieć doniosły wpływ na Twoje relacje z tymi ludźmi.

Obecnie trudno już znaleźć miejsce gdzie ukończenie studiów jest warunkiem koniecznym do zatrudnienia dla programisty. Tym nie mniej, na pewno znajdą się firmy, gdzie brak tytułu, zablokuje możliwość awansu na stanowisko kierownicze, bądź będzie wiązał się z niższymi zarobkami, mimo takich samych odpowiedzialności co "wykształceni" koledzy.

Takiej sytuacji spodziewałbym się przede wszystkim w korporacjach. Wielu programistów ceni sobie takie miejsca pracy, w końcu to świetny sposób na wysokie zarobki połączonyz niskim poziomem odpowiedzialności.

Obecnie w branży IT króluje merytokracja umiejętności. Niestety to wcale nie oznacza, że zawsze tak będzie. W przyszłości dyplom uczelni może znowu zyskać na znaczeniu.

Przeciw: Pytanie czy zaspokajanie oczekiwań opartych o założenia, które w dużej mierze są już nieaktualne, jest czymś zdrowym i pożądanym.

Co do argumentów związanych z pracą, obecnie ciężko mi sobie wyobrazić, żebym dobrowolnie zatrudnił się w miejscu, gdzie posiadanie papieru, miałoby decydować o czyjejkolwiek pozycji w hierarchii.

Głęboko wierzę, że studia nie są i nigdy już nie będą jedynym sposobem na budowanie wiarygodności. Wszystko wskazuje na to, że rola marki osobistej opartej o umiejętności, zdolności i wartości, potwierdzonych działaniem w prawdziwym świecie, będzie tylko rosnąć a nie maleć.

Przyszedł czas na werdykt!

Temat ukończenia studiów nie jest tak jasny i oczywisty jak wielu ludzi do tego przekonuje.

W mojej obecnej sytuacji skorzystałem już z wszystkich zalet samego studiowania. Jeżeli chodzi o korzyści ze zdobycia dyplomu, wypadają one dla mnie dość krucho w obliczu kontrargumentów.

Jedyne co powstrzymuje mnie od ostatecznego machnięcia ręką na dyplom, jest kwestia ułatwionej emigracji. Wydarzenia z XX wieku są najlepszym dowodem na to, że kurzący się w szafie papier, może się kiedyś stać kwestią życia bądź śmierci.

Czas na podjęcie decyzji mam do połowy września. Najpewniej właśnie do tego czasu zaczekam z ostatecznym werdyktem. Chcę mieć pewność, że przemyślałem temat naprawdę dogłębnie.

Co Ty sądzisz na temat studiowania? Warto, nie warto? Co zrobiłbyś na moim miejscu? Może umknęła mi jakaś korzyść z zdobycia dyplomu?

Daj znać co myślisz. Może dzięki Tobie zostanę "prawdziwym" inżynierem, a może zaoszczędzę setki godzin, które z przyjemnością spożytkuję na inne wartościowe inicjatywy.

TBC!