2010-05-23

Studiowanie informatyki - warto?

Jak zapewne niektórzy z was wiedzą, po semestrze rzuciłem studia celem podjęcia pracy jako programista. Stwierdziłem, że potrafię się obejść bez nich i mogę wyjechać pracować w zawodzie. Jako, że niedawno trafiłem na ten wpis, postanowiłem napisać kilka własnych spostrzeżeń na temat studiów informatycznych i ich przydatności.

Programować uczyłem się na rok przed skończeniem liceum - właściwie to większą część wakacji przed maturą i spory kawałek pracy maturalnej spędziłem przy komputerze, poznając C++, C# i różne (mniej lub bardziej przydatne) API. Wyrabiałem sobie pewne nawyki (lepsze lub gorsze), uczyłem się pracować nad kodem większym niż 1000 SLOC, szukałem rozwiązań problemów pojawiających się w moich projektach. Po maturze i kolejnych (spędzonych przy nauce) wakacjach przyszła pora na studia właściwe. A tutaj: podstawy pascala (języka, który zmuszony byłem poznać tylko na potrzeby studiów), matematyka w stopniu mocno wykraczającym ponad to, co umiałem, kompletne podstawy C. Czyli zupełnie inne tematy niż to, z czym miałem do czynienia wcześniej.

Co z tego przydało mi się po ponad dwóch latach pracy? Problem w tym, że niewiele. Matematyki prawie w ogóle nie wykorzystałem (do większości problemów związanych z obliczeniami można było posłużyć się google), pascal został jako język, który jestem w stanie zrozumieć czytając kod (czyli właściwie bezużyteczny), natomiast C poznałem w około tydzień-dwa na rok przed studiami. Ergo: semestr spędzony na uczelni mógłbym nazwać straconym, zmarnowanym.

Co ciekawe, jedynym przedmiotem, z którego wyniosłem konkretną, wartą uwagi wiedzę były Podstawy Używania Komputerów (PUK). Wbrew nazwie rozsądny prowadzący postanowił nas nauczyć przydatniejszych umiejętności - tworzenia i wygłaszania prezentacji oraz pisania dokumentacji projektu. Gdzie przez dokumentację nie mam na myśli tej technicznej; chodzi o opis funkcjonalności i zastosowań projektu. Ogólnie: materiały sporządzane, żeby dogadać się między zlecającym a wykonawcą w kwestii "co to cholerstwo ma robić" ;-)

Czy czegoś z zajęć uczelniano-studyjnych mi brakowało/brakuje? Na pewno kilka przedmiotów chciałbym mieć na pierwszym semestrze (zamiast np. nieszczęsnego Pascala czy analizy matematycznej): podstawy kompilatorów, języki funkcyjne (LISP, F#), prawo w informatyce, może coś na temat planowania i szacowania projektów. Część tych przedmiotów pojawia się w dalszych (niestety) latach nauki, część jest kompletnie nieobecna na większości uczelni. Szkoda, bo programista zrobiłby większy użytek z podstaw przepisów dotyczących IT (w tym działania firmy w sektorze IT) czy wiedzy na temat biznesowego flow projektu informatycznego niż kolejnej technologii czy języka programowania poznanych na uczelni (o matematyce czy elektronice nie wspominam).

Po co w takim razie zamierzam wrócić na studia? Pomijając fakt, że tym razem w trybie weekendowym (lub wręcz internetowym) - uważam, że jest jeszcze sporo spraw, których się chcę nauczyć. Zwłaszcza z pogranicza informatyki i biznesu - tematy niezbędne gdy chce się np. prowadzić własną działalność, a jednak skrupulatnie pomijane przez uczelnie. Ponadto są jeszcze (niestety) firmy, które z automatu skreślają kandydata, który nie posiada inż., mgr czy innego trzyliterowego skrótu przed nazwiskiem (innego niż Sz.P. ;-). Ergo: od października informatyka i ekonometria lub informatyka w specjalizacji zarządzanie projektami informatycznymi czas zacząć.

2 komentarze:

  1. To wszystko czego oczekujesz od uczelni jest do spełnienia - UW, UWr, UJ. Tylko uniwersytety. Na UWr możesz wybierać przedmioty - na pierwszym semestrze możesz poznać języki funkcyjne - na drugim musisz już się nimi sprawnie posługiwać, jeżeli myślisz o mgr. Matematyki jest minimum i jest po łebkach (analzia i algebra), upakowana w jeden semestr. Reszta to matematyka przydatna programistom (języki formalne, aisd, dyskretna, numerki), oprócz tego pisanie kompilatorów, interpreterów itd. Programowanie gier także nie jest zaniedbane.

    OdpowiedzUsuń
  2. Prawdę mówiąc, program uniwersytetów jest chyba najbardziej nieżyciowym, pozbawionym sensu programem studiów informatycznych, jaki widziałem. Kończąc uczelnię (studia w kierunku informatyka, starał się jak najlepiej dobierać przedmioty) znajomy tkwił technologicznie w ubiegłym stuleciu, miał niemal zerowe pojęcie o rozpoczęciu własnej działalności gospodarczej (za to świetnie wiedział, jak wystartować ze spółką z o.o. czy akcyjną) i nie bardzo wiedział, jak naprawdę wygląda proces powstawania aplikacji - od pomysłu, przez ustalenia, wymagania, specyfikację, projekt, kod, testy aż do oddania/opublikowania produktu.

    Wiedział za to znakomicie jak pisać proste programy sterujące (po co?), jak zrobić własny kompilator (znowu: po co?), jak policzyć całkę oznaczoną niemal dowolnej funkcji (jw.), poznał chyba z 10 różnych języków programowania (żadnego dobrze) i zrobił około 20 różnych, mniej lub bardziej bezużytecznych, projektów (żadnego dużego).

    Nie twierdzę, że studia są kompletnie zbędne, natomiast z czysto praktycznego (pisać fajny kod i dużo zarabiać) punktu widzenia uniwersytet jest najgorszą z możliwych szkół wyższych dla przyszłego programisty. Może byłoby lepiej, gdyby specjalizację (bardzo szczegółową) wybierało się na 1. roku, a nie pod koniec studiów.

    OdpowiedzUsuń