Czy warto studiować informatykę?


it, PrzedWstęp, studia / niedziela, Czerwiec 24th, 2018

Trwa rekrutacja na studia i jak co roku tysiące młodych wannabe programistów (i też tych już trochę starszych) zastanawia się pewnie nad wyborem informatyki jako kierunku. Albo nad porzuceniem uczelni i rozwojem we własnym zakresie.

Nie zliczę, na ilu blogach i portalach branżowych spotkałam się z hasłem “nie idź na studia”.  Nie idź, bo są bootcampy, stackoverflow, coursera, setki innych kursów internetowych i dziesiątki ludzi, którzy nie poszli i im się udało. Pięć lat nauki nieprzydatnych umiejętności versus trzy miesiące konkretnego kodzenia – czy tak wygląda nasz wybór?

Pewnie, dobrze jest kwestionować sens studiów i wyliczyć w głowie wszystkie “za i przeciw” przed rozpoczęciem trzy- bądź pięcioletniego związku ze stresem i egzaminami. I szanuję ludzi, którzy rozsądnie z powodu własnych powodów podjęli decyzję, że to nie dla nich. Ale to, że studiowałaś wkuwanie notatek tydzień przed sesją i copy-paste prezentacje, nie skreśla jeszcze uniwerka czy starej dobrej polibudy z miejsc wartych rozwagi.

studia it
1. zdać wstęp do programowania 2. pokazać, jakim jestem hardcorowym geekiem

Odpowiadając szybko i merytorycznie na pytanie tytułowe: to zależy.

Informatyka to kierunek o tyle szczególny, że część wiedzy z tej dziedziny (szczególnie z programowania) jest szeroko dostępna i darmowa. Nietrudno znaleźć tutoriale do pisania gier na Androida czy aplikacji www w Javie i przykłady kolejnych programistów, którym udało się bez studiów (i teraz zarabiają 10k na rękę, a ty dalej klepiesz te swoje głupie studenckie projekty, co?).

Kolejny popularny argument, który spotkałam ostatnio w artykule na temat wyższości bootcampów nad uczelniami, to szybka dezaktualizacja wiedzy przy dość powolnych zmianach w materiale nauczania. Na studiach uczą cię C89, a ty chcesz kodzić w Node.jsie – wersja z wczoraj, bo na to są oferty pracy.

No i w końcu mój ulubiony tekst: czy na studiach nauczą cię, jak instalować Windowsa?

To wszystko w połączeniu z częstym brakiem wymagań rekruterów co do ukończenia informatyki i (chyba zwykle) stosunkowo wysokim poziomem trudności studiów sprawia, że regularnie dostaję pytanie: A nie wolisz zamiast tego pracować?

No to tak…

Są studia złe i studia dobre (i tysiące poziomów pomiędzy). Są informatyki, na których programowanie kończy się na niezbyt intensywnych zajęciach z Pascala, a przekazywana wiedza pochodzi z wczesnych lat 90. Nie spotkałam się, ale podobno tak bywa. Jak zapewne przy każdym kierunku: można iść na polonistykę, na której, nawet leżąc bezczynnie przez trzy lata, zdaje się wszystko, a można iść na polonistykę, która poszerza horyzonty, wymaga ciągłej pracy i nieustannie rozwija. No to ja jednak rozważam tylko ten drugi przypadek.

Po drugie, studia to nie zawodówki. Jeśli chcesz się nauczyć jednej konkretnej technologii i za dwa miesiące pisać już appki, pewnie bootcamp będzie dla ciebie atrakcyjniejszy. Po (dobrych) studiach masz dogłębnie rozumieć podstawy swojej dziedziny. Nie tylko, jaki kod wklepać do edytora i gdzie kliknąć, żeby działało, ale dlaczego to w ogóle działa, co tam siedzi pod spodem (a nawet jeśli programujesz w czystym C, to siedzi całkiem sporo) i jak napisać to optymalnie. Nazwy funkcji zawsze możesz zgooglować, dokumentację w każdej chwili możesz przejrzeć, ale algorytmu dostosowanego do tego konkretnego problemu nikt za ciebie nie wymyśli. I pewnie, że można kasować grube tysiące bez wielkich umiejętności analitycznych i wiedzy, jaki dokładnie algorytm siedzi w tej funkcji standardowej, że działa w czasie logarytmicznym. Tylko to trochę przykre, jeśli później przynajmniej nie dąży się do zdobycia tej wiedzy.

Drugi najgorszy język świata

Co dały mi studia?

zaburzenia lękowe

pewność, że JavaScript jest posrany

Pewność siebie

Na pewno świadomość, że poradzę sobie z każdą technologią. Mam swoje ulubione języki, preferencje i obszary większej wiedzy, ale (poza przypadkami patologicznymi) dam radę kodzić we wszystkim. Choć najchętniej w tym jednym języku, dla którego oczywiście nie ma ofert pracy. Nie miałam nigdy etapu, w którym musiałabym komukolwiek w pracy, wśród znajomych czy samej sobie udowadniać, że coś potrafię. Przetrwałam już tyle projektów, że jestem tego pewna.

Przeprogramowanie mózgu

W tym wewnętrzny przymus optymalizacji wszystkiego. Od pakowania plecaka przez jazdę samochodem do planowania wakacji. Każdy proces podlega analizie i jeśli da się wyrzucić zbędne przedmioty lub czynności, to trzeba to zrobić. Ma to oczywiście swoje ciemne strony i ludzie zwykle nie reagują z entuzjazmem na wskazywanie im błędów (podobno, tak mi koleżanka mówiła).

Studia to też okazja do poszerzenia horyzontów w dziedzinach, o których nigdy nie myślało się w kontekście zawodowym. W szkole nigdy nie lubiłam ani historii, ani biologii, a tymczasem na studiach zajęcia z historii matematyki i biologii obliczeniowej były jednymi z najciekawszych. Oba dały mi też szerszą perspektywę na informatykę – na jej pochodzenie i mniej popularne zastosowania. Do pracy szłam już nie jako zwykły klepacz kodu, ale człowiek świadomy, że to, co tworzę, jest jedynie małą częścią większego systemu.

Umiejętność logicznego myślenia i zwięzłego wyrażania się

I w bonusie pokłady szewskiej pasji, bo świat tak nie działa i odpowiedzią na “ale dlaczego?” jest często “bo tak” (pozdrowienia dla mojej mamy!).

informatyka
I wtedy powiedzieliśmy: „Jak przełoży pani deadline na za tydzień, to oddamy projekt z pełną dokumentacją”.

Znajomości

Ale kto by potrzebował znajomych w swojej prywatnej piwnicy?

Just kidding. Znam wyjątki, ale jeśli ktoś potrafi czerpać przyjemność z samotnego siedzenia całymi dniami przed ekranem, to jest wysokie prawdopodobieństwo, że wywijanie na głośnych imprezach nie będzie jego żywiołem. I że nie będzie miał na nie czasu, bo zaraz ma deadline pięciu projektów.

W liceum zawsze wyobrażałam sobie siebie jako tę aktywną studentkę, która będzie zaangażowana w liczne koła naukowe, chór akademicki i drużynę siatkarską. HA-HA. Na żadną z tych rzeczy na pewno nie miałabym czasu ani siły. Czasem żałuję, bo studia to jednak piękny etap na działalność społeczną i wiem, że coś mnie omija.

Z drugiej strony, nic tak nie zbliża jak wspólne rozwiązywanie zadań. Dwie psiapsióły zdobyłam głównie dzięki naszej wspólnej traumie zwanej niewinnie „wstępem do informatyki”. Aby zaliczyć projekty, na większości przedmiotów trzeba było też silnie współpracować (oficjalnie lub nieoficjalnie) z innymi. No a potem ta koleżanka, której powiedziałaś na drugim roku, jak zrobić zadanie z systemów, podrzuca ci świetną ofertę pracy w firmie, w której pracuje. Warto więc znać swoich towarzyszy niedoli, bo kilka lat później może założycie pierwszego start-upa albo przynajmniej wspólnie przetrwacie zebranie w korpo.

Znajomość wielu technologii

Przebrnęłam przez długie miesiące pisania w C (i długie noce łatania wycieków pamięci). Najlepiej poznałam C++ i Javę. Pisałam te legendarne gry na Androida i różne apki webowe. Robiłam w Django, JavaScripcie, PHP, HTML i CSS (nie pozdrawiam tej ekipy). Zaliczyłam programowanie funkcyjne. Dalej asembler, SQL, bash i kilka innych, nieco bardziej egzotycznych. W wielu przypadkach miałam też wybór kursu, a od pewnego momentu sporo projektów robiło się w dowolnie wybranych przez siebie technologiach. Chyba sporo jak na lata “nauki nieaktualnej wiedzy”.

Kiedy za trzecim razem w końcu zdasz dyskretną i jednak możesz zrobić licencjat

Dla kogo studia?

Czy poleciłabym studia informatyczne każdemu? Na pewno nie. Jeśli chcesz mieć beztroski semestr i pewność, że nie wylecisz po pierwszej sesji, to pójdź na coś milszego dla psychiki studenta. Jeśli interesuje cię jakaś jedna konkretna technologia i uważasz, że nie ma sensu uczyć się arytmetyki wskaźników ani udowadniać formalnie nieobliczalności danego problemu algorytmicznego, to pewnie też zagospodarujesz te 3-5 lat lepiej.
Jeśli jednak uważasz, że matematyka jest całkiem spoko, że spędzenie kilku dni na szukaniu własnych błędów w programie to coś, co jesteś w stanie przeżyć, lubisz rozwiązywać zagadki i zwyczajnie wiedzieć więcej, to zapraszam. Będzie fajnie.