Ciekawa dyskusja. Nie oszukujmy się, na studiach jest wiele przedmiotów, które są mało przydatne, ale mówienie, że studia nie dają nic w perspektywie przyszłej kariery zawodowej jest przesadą. Wiadomo, że w ciągu 30 godzin zajęć nie zostanie się specjalistą w czymkolwiek, ale studia są po to, żeby poznać różne gałęzie informatyki, wybrać to, co interesuje nas najbardziej i rozwijać się w tym kierunku. Przynajmniej ja tak rozumiem ideę studiowania. Do tego dostajemy podstawową bazę wiedzy teoretycznej. Jeśli ktoś uważa, że nie jest mu potrzebna teoria związana ze złożonością obliczeniową, algorytmami czy architekturą komputerów, to niech nie zaczyna studiów. Magister informatyki z założenia ma posiadać nie tylko umiejętności programowania, ale szerszą wiedzę z szeroko rozumianej informatyki. Można dyskutować, czy taki model nauczania jest najlepszy, ale jest on chyba powszechnie znany, więc jeśli komuś nie odpowiada, może po prostu nie studiować. Znam osoby, które pracują praktycznie od początku studiów. Na uczelni prawie ich nie widać, generalnie wszystkie przedmioty uznają za głupie i niepotrzebne, jednocześnie twierdząc, że studia niczego ich nie nauczą. Pytanie, dlaczego takie osoby nie zrezygnują ze studiowania? Czy boją się, że jednak brak dyplomu będzie w przyszłości przeszkodą? Powiem szczerze, że nie potrafię tego zrozumieć. Jeśli ja uważałbym, że studia nie dają mi kompletnie nic, to nie zawahałbym się zrezygnować. Z drugiej strony są też osoby, które z każdego przedmiotu chcą mieć jak najlepsze oceny, ale w praktyce ich umiejętności są niewielkie. Oba te podejścia są pozbawione sensu.
Co do samej pracy, według mnie najważniejszy jest rozwój. Wiadomo, że w dobrej pracy rozwinąć się można najlepiej. Często jest jednak tak, że studenci jak już złapią pracę, to nie oceniają stopnia swojego rozwoju. Na początku uczą się wielu nowych rzeczy, ale w wielu przypadkach po pewnym czasie ich rozwój zaczyna hamować. Dochodzi jeszcze to, że nie rozwijają się we własnym zakresie, bo nie ma na to czasu. W konsekwencji przychodzi zdziwienie, gdy ktoś ma te 2-3 lata doświadczenia, a nie może znaleźć pracy na wyższym stanowisku, bo okazuje się, że jednak jego umiejętności są niewystarczające. Prawda jest taka, że wiele osób jest pozbawionych samokrytyki i uważa się za bardzo dobrych programistów, a w rzeczywistości stoją w miejscu. Ostatnio byłem na wykładzie dotyczącym wzorców projektowych. Prowadzący pyta, kto zna zasady SOLID. Zgłaszają się pojedyncze osoby. Następnie przechodzi do omawiania wzorców, pyta, czy ktoś może wyjaśnić, co jest ideą poszczególnych wzorców. Pojedyncze osoby są zorientowane w temacie. Z kilkudziesięciu osób, z których 90% pracuje od co najmniej roku jako programiści, nieliczni zetknęli się z pojęciami przecież podstawowymi w tworzeniu aplikacji. Nie wygląda to na dobry rozwój.
Inny przykład, jest w Gdańsku duża korporacja, która masowo zatrudnia studentów. Część z nich pracuje na walidacji. Wielu z nich ma niewielkie doświadczenie z pisaniem kodu. Ostatnio pytam kolegi, jak mu się pracuję. Odpowiada, że fajnie, że tak naprawdę niewiele robi, że w zasadzie jego pracę mógłby wykonywać licealista po przeszkoleniu. Rozwój?
Według mnie najważniejsza jest umiejętność szczerej oceny swoich umiejętności i stopnia rozwoju. Jeśli ktoś szczerze twierdzi, że robi duże postępy, to jest ok, bez względu na to, czy pracuje na etacie, robi zlecenia, czy rozwija własny projekt. Jeśli ktoś uważa, że nie rozwija się w takim stopniu, jakby chciał, to może czas na zmianę pracy albo podejścia do własnego rozwoju.