W sumie gnijesz gdzieś na podrzędnym stanowisku wykładowcy, który prowadzi zajęcia z pierwszym/drugim rokiem z podstaw programowania. Co gorsza masz świadomość, że 99% twoich studentów nie będzie nawet chciała pofatygować się do ciebie po temat pracy inżynierskiej. Generalnie czujesz się jak gówno. Wszyscy mają cię w dupie. Jeżeli ten opis pasuje do Ciebie to najprawdopodobniej jesteś wykładowcą prowadzącym przedmiot /$.* Java.*^/.
Nieszczęśliwie składa się tak, że na swojej drodze spotkałem czterech nauczycieli Javy. Pierwszy z nich prowadził zajęcia z „podstaw programowania”, a Java była przykładowym językiem na którym poznawaliśmy podstawowe konstrukcje takie jak pętle, warunki, funkcje, metody itp. Zajęcia nie były złe, ale nie ma też co wymagać. Pomińmy zatem ich wartość merytoryczną w zakresie Javy. Nie o nauczenie tego języka tam chodziło. Drugim nauczycielem był człowiek, który wychodził z założenia, że java nie wiele różni się od pascala i każdy program ma magiczną „pętlę główną”. Cóż… to wiele tłumaczy dlaczego zaliczenie kolegi napisane w naprawdę zajebisty sposób (program liczył duperele, ale mógł to robić równolegle na wielu komputerach) było mocno warunkowe. Trzecim i ostatnim nauczycielem akademickim, który próbował nauczyć mnie Javy, był pewien doktor, który raczej zatrzymał się na poziomie wczesnych wydań Core Java. Cóż zawsze warto usłyszeć, że nie ma biblioteki do okienek w Javie poza Swingiem i AWT.
Poziom tych wykładów był słaby. Wszyscy popełniali podstawowe błędy związane z nauczaniem Javy jako języka programowania. Poświęcali, jak na mój gust, za dużo czasu na omawianie duperelnych elementów składni np. cały wykład o tym co to jest interfejs i dlaczego jest głupi (serio!). Zamiast skupić się na najważniejszych elementach i wprowadzać nowe w ramach potrzeb od razu prezentując ich praktyczne zastosowania. Względnie oblecieć definicje w ramach jednego wykładu.
Wspomniałem o trzech wykładowcach, ale pisałem, że było ich czterech. Czwartym z nich był Tomek, który był też moim pierwszym szefem. W przeciągu miesiąca pracy z nim nauczycielem się więcej o programowaniu i Javie niż przez kilka semestrów zajęć. Praktyka, praktyka i jeszcze raz praktyka. Zmuszenie delikwenta takiego jak ja do samodzielnego rozwiązywania prostych problemów i egzekwowanie zasad pracy. Tak powinny wyglądać moim zdaniem wszystkie zajęcia z Javy. Oczywiście nie ukrywam, że miałem pewne podstawy. Znałem składnię języka (choć o wielu rzeczach dowiedziałem się właśnie w boju) i miałem pojęcie co to jest algorytm. Z drugiej strony całkowite zanurzenie się w świat nowoczesnych technologii jakimi były Spring, Hibernate i Maven, pozwoliły mi bardzo szybko docenić zasadność ciągłej nauki i rozwoju.
W późniejszym okresie miałem do czynienia z ludźmi, którzy będąc na studiach magisterskich na inżynierii oprogramowania nie za bardzo radzili sobie z tworzeniem kodu. Jeszcze gorzej miała się znajomość algorytmów i umiejętność „kombinowania”. Niestety nie było to wynikiem braku wiedzy. Wiedza była o czym świadczyły stypendia. Brakowało praktycznego podejścia do problemów. Tej odrobiny zaradności, którą można zdobyć na uczelni jeżeli tylko wykładowca będzie chciał się trochę wysilić.

Cóż… zawsze taki człowiek może rozpocząć karierę naukową i być „panem o Javy”