Czy programiście potrzebne są studia?
Pytanie o studia informatyczne to jedno z najczęściej pojawiających się pytań u osób, które zamierzają wiązać swoją zawodową przyszłość z programowaniem. Prawdą jest, że do podjęcia pracy na stanowisku programisty nie jest wymagane posiadanie wykształcenia wyższego. Nie trzeba ukończyć żadnych studiów informatycznych, ani nawet technikum informatycznego. Co prawda niektórzy pracodawcy zatrudniają tylko i wyłącznie kandydatów, którzy posiadają dyplom, jednak jest to zdecydowana mniejszość. Po co w takim razie tracić kilka lat na ukończenie studiów informatycznych, skoro można iść na kilkumiesięczny bootcamp programistyczny i nauczyć się programowania zdecydowanie szybciej? Zresztą programowania można nauczyć się samodzielnie i to w dodatku korzystając z darmowych materiałów dostępnych w Internecie. Jeżeli przez chwilę się nad tym wszystkim zastanowimy, to faktycznie możemy dojść do wniosku, że pójście na studia informatyczne nie ma większego sensu.
I zapewne dokładnie to usłyszysz od wielu osób. Że studia informatyczne są bez sensu i to kompletna strata czasu. Że na studiach jest bardzo dużo teorii i niewiele praktyki. Że studia informatyczne nie zagwarantują Ci pracy jako programista. Muszę Cię rozczarować — jest w tym dużo prawdy. Jednak na temat studiów informatycznych należy spojrzeć z trochę szerszej perspektywy. To czy okres studiów zostanie wykorzystany w efektywny sposób, zależy przede wszystkim od studiującego. Z definicji studiowanie oznacza gruntowne poznawanie, badanie czegoś, zapoznawanie się z czymś, przyglądając się czemuś uważnie lub czytając. Na studiach poświęcasz czas na eksplorowanie różnych zagadnień z dziedziny informatyki i sprawdzasz, co najbardziej Cię interesuje. Pamiętaj, że studia informatyczne pierwszego stopnia (inżynierskie) to nie tylko programowanie. Owszem, w planie studiów przewidziane jest kilka przedmiotów programistycznych, ale znajdują się w nim również przedmioty matematyczne i fizyka, przedmioty humanistyczne, języki obce oraz zajęcia sportowe. Wybór specjalizacji dokonywany jest na studiach drugiego stopnia (magisterskie). To właśnie na tym etapie określasz, czy chcesz uczyć się dalej zagadnień związanych z programowaniem, algorytmiką, sieciami, elektroniką, sztuczną inteligencją, czy może grafiką komputerową. Specjalizacji jest wiele i to jakie kierunki dostępne są na drugim stopniu, zależy w głównej mierze od uczelni. Dla przykładu przedstawię mój plan studiów inżynierskich pierwszego stopnia na kierunku Informatyka (Wydział Podstawowych Problemów Techniki) na Politechnice Wrocławskiej (2013-2016).
Plan studiów
Rok 1 Semestr 1
Algebra z geometrią analityczną [60h wykładów, 30h ćwiczeń]
Analiza matematyczna 1 [45h wykładów, 30h ćwiczeń]
Logika i struktury formalne [60h wykładów, 30h ćwiczeń]
Wstęp do informatyki i programowania [30h wykładów, 15h ćwiczeń, 15 laboratorium]
Rok 1 Semestr 2
Algebra abstrakcyjna i kodowanie [30h wykładów, 15h ćwiczeń]
Analiza matematyczna 2 [30h wykładów, 15h ćwiczeń]
Fizyka [30h wykładów, 30h ćwiczeń]
Język angielski, poziom B2.1 [60h ćwiczeń]
Kurs programowania [30h wykładów, 30h laboratorium]
Matematyka dyskretna [30h wykładów, 30h ćwiczeń]
Problemy społeczne i zawodowe informatyki [30h wykładów]
Rok 2 Semestr 3
Architektura systemów i systemy operacyjne [60h wykładów, 30h ćwiczeń, 30h laboratorium]
Bazy danych i systemy informacyjne [30h wykładów, 15h ćwiczeń, 15h laboratorium]
Język angielski, poziom B2.2 [60h ćwiczeń]
Metody probabilistyczne i statystyka [30h wykładów, 30h ćwiczeń]
Technologia programowania [30h wykładów, 15h ćwiczeń, 30 laboratorium]
Rok 2 Semestr 4
Algorytmy i struktury danych [45h wykładów, 30h ćwiczeń, 15h laboratorium]
Języki i paradygmaty programowania [30h wykładów, 30h laboratorium]
Podstawy zarządzania firmą informatyczną [15h wykładów, 15h ćwiczeń]
Technologie sieciowe [15h wykładów, 30h laboratorium]
Tenis stołowy [30h ćwiczeń]
Wprowadzenie do teorii grafów [30h wykładów, 30h ćwiczeń]
Wykład monograficzny programistyczny [30h wykładów, 30h laboratorium]
Rok 3 Semestr 5
Ergonomia systemów informacyjnych [30h wykładów, 30h laboratorium]
Kryptografia i bezpieczeństwo komputerowe [30h wykładów, 30h laboratorium]
Obliczenia naukowe [30h wykładów, 15h ćwiczeń, 15h laboratorium]
Programowanie zespołowe [30h laboratorium]
Wprowadzenie do topologii i teorii miary [30h wykładów, 30h ćwiczeń]
Rok 3 Semestr 6
Automatyczna weryfikacja [30h wykładów, 15h ćwiczeń, 15h laboratorium]
Grafika komputerowa i wizualizacja [30h wykładów, 15h ćwiczeń, 15h laboratorium]
Praktyka [160h projekt]
Programowanie w logice [30h wykładów, 30h laboratorium]
Systemy wbudowane [30h wykładów, 30h laboratorium]
Wykład monograficzny algorytmiczny [30h wykładów, 30h ćwiczeń]
Rok 4 Semestr 7
Języki formalne i teoria translacji [30h wykładów, 15h ćwiczeń, 15h laboratorium]
Praca dyplomowa [30h projekt]
Seminarium dyplomowe [30h seminarium]
Środowisko programisty [30h wykładów, 30h laboratorium]
Z perspektywy czasu mogę napisać, że najtrudniejszy i najbardziej zniechęcający do dalszej edukacji jest zwykle pierwszy rok studiów. Spowodowane jest to w głównej mierze tym, że mamy wtedy w większości do czynienia z przedmiotami matematycznymi. Spośród 11 przedmiotów wykładanych na pierwszym roku studiów, tylko 2 związane były z programowaniem. W kolejnych latach było już zdecydowanie lepiej, dlatego warto przebrnąć przez ten pierwszy rok, na którym swoją drogą jest największy odsiew studentów. Nie mogę podzielić się opinią na temat tego, jak wyglądają studia informatyczne drugiego stopnia ze specjalizacją programowanie, ponieważ zakończyłem swoją edukację na pierwszym stopniu.
Plusy i minusy studiowania
Studia informatyczne to standardowy i sprawdzony sposób na wejście do branży IT, dlatego tę ścieżkę obiera większość programistów. Studia dostarczą podstawowej wiedzy w zakresie informatyki, tj. systemach operacyjnych, strukturach danych, algorytmach, operacjach logicznych, architekturze komputera i o wielu innych kwestiach. Tematy te mogą być trudne do opanowania samodzielnie. Studia same w sobie dają wiele możliwości. Uczelnie często oferują studentom możliwości stażu, uczestnictwa w konferencjach programistycznych czy też wyjazdy na wydarzenia branżowe. To, co przede wszystkim zyskujemy to dyplom ukończenia uczelni wyższej oraz tytuł inżyniera/magistra. Niektórzy pracodawcy nadal wymagają kierunkowego wykształcenia wyższego i wtedy ukończenie studiów jest wymagane. Kolejnym plusem ukończenia studiów wyższych jest szybsze nabycie prawa do urlopu w wymiarze 26 dni — studia wliczają się do stażu pracy. Warto także wspomnieć o znajomościach zawartych w trakcie studiów. Poznajemy ludzi o podobnych zainteresowaniach i pasjach. Niektóre znajomości pozostają na lata i mogą prowadzić do podejmowania wspólnych inicjatyw, takich jak np. budowanie startupu, czy organizacji meetingów i konferencji.
Niestety, wybranie się na studia ma także swoje wady. Największym problemem jest nieaktualna lub do niczego niepotrzebna wiedza. Zazwyczaj profesorowie na uczelniach są zupełnie oderwani od rzeczywistości i środowiska programistycznego. Nie mają doświadczenia komercyjnego, przez co nie mogą dzielić się praktyczną wiedzą. Nie oznacza to jednak, że nie nauczymy się niczego przydatnego. Pójście na studia wiąże się z poświęceniem ogromnej ilości czasu, bez gwarancji końcowego sukcesu. To spore zobowiązanie, także finansowe. Podjęcie studiów bardzo często wiąże się z wyjazdem i zamieszkaniem w innym mieście. Nie każdy może udać się do szkoły państwowej, a przecież podjęcie studiów zaocznych to dodatkowy koszt, który przecież wcale nie jest mały.
Podsumowanie
Decyzja o wyborze studiów informatycznych nie może być podejmowana na szybko, powinna być dokładnie przemyślana. Należy ogólnie przeanalizować wszystkie wady i zalety wyboru studiów informatycznych. Osobiście zachęcam do wybrania tej drogi, ponieważ studia zdecydowanie poszerzają nasze horyzonty i dostarczają nowych doświadczeń życiowych. Pamiętaj jednak, że studia nie zagwarantują Ci pracy jako programista. Sam musisz o to zadbać. O wiele ważniejsze od ukończenia studiów i papierka jest wiedza i zdobyte doświadczenie. Dlatego zacznij jak najwcześniej budować swoje portfolio, którym będziesz mógł pochwalić się przed przyszłym pracodawcą.
Bądź na bieżąco!
Dziękuję za przeczytanie tego artykułu i mam nadzieję, że spotkamy się jeszcze na moim blogu. Jednocześnie mam do Ciebie wielką prośbę: jeśli cokolwiek co przeczytasz na tym blogu uznasz za wartościowe, to KONIECZNIE mi o tym napisz (w komentarzu, bądź mailowo). Każdy potrzebuje nieco motywacji i znacznie łatwiej będzie mi usiąść do tworzenia kolejnego materiału wiedząc, że Tobie też się to przydaje. Zachęcam Cię do polubienia strony na Facebooku oraz subskrybowania kanału na YouTube.
Polub stronę na Facebooku
Chcesz otrzymywać powiadomienia o nowych artykułach? W takim razie zapraszam Cię do polubienia strony na Facebooku. Miej pewność, że nie przegapisz kolejnych postów!
Subskrybuj kanał na YouTube
Subskrybuj kanał YouTube, na którym znajdziesz praktyczne filmy i tutoriale o programowaniu.