Blog (97)
Komentarze (2.2k)
Recenzje (1)
@GBMJak pomimo przeciwności losu zostałem programistą – historia o tym, że niemożliwe staje się możliwe

Jak pomimo przeciwności losu zostałem programistą – historia o tym, że niemożliwe staje się możliwe

18.11.2014 22:27, aktualizacja: 19.11.2014 09:33

Swój pierwszy program napisałem w Pascalu w 3 klasie gimnazjum. Korzystałem wtedy z artykułu w Komputer Świat Ekspert, gdzie prowadzony był kilku-częściowy kurs programowania w Pascalu. Dosłownie podniecony możliwością "dyrygowania" komputerowi co ma robić — złapałem tak dużego bakcyla, że w kółko przepisywałem listingi kodu z gazety do edytora FreePascal i... na tym się skończyło.

Niestety wówczas nie posiadałem dostępu do Internetu, a moim jedynym źródłem wiedzy były kupowane gazety. Pieniądze udawało mi się oszczędzać z zachowanej cichaczem reszty po drobnych zakupach, na które wysyłali mnie Rodzice. "KŚ Ekspert" posiadał w zestawie płytkę CD z oprogramowaniem (w większości dotyczącym poruszanych tematów w artykułach) - było to dość bogate źródło wiedzy dla takiej osoby jak ja.

Pierwsza część Kursu Pascala, KŚ Ekspert, rok 2008.
Pierwsza część Kursu Pascala, KŚ Ekspert, rok 2008.

W szkolnej bibliotece niestety ciężko było dorwać wolny komputer, a limity czasowe również nie pozwalały aby w spokoju i w ciszy przeczytać dany artykuł, czy też znaleźć odpowiedni i zgrać go na dyskietkę. Tak, ja jeszcze pamiętam dyskietki i w 2007/2008 roku z nich korzystałem. Dopiero pod koniec trzeciej klasy dostałem pendrive, a z początkiem technikum — dostęp do Internetu.

Rozpoczęło się technikum, profil informatyczny...

A wraz z początkiem września 2009, kiedy to przechodziłem przez bramę mojego technikum byłem pełen zapału i nadziei. Nadziei na to, że to właśnie w tej szkole będę miał świetne warunki do rozwoju i przyswojenia sobie podstaw informatyki w różnych jej pod-dziedzinach.

Niestety... już w pierwszych tygodniach mogłem odczuć, że myliłem się. Nauczyciel od systemów operacyjnych, nieprzychodzący kilka razy na lekcje z moją klasą, bo... trzeba było panią sekretarkę z internatu zabawiać rozmową czy też bardzo mała liczba godzin dla przedmiotów zawodowych. O braku jakichkolwiek zajęć pozalekcyjnych związanych z informatyką to nawet nie warto się rozpisywać... Pytałem, prosiłem, ale niestety nikt nie chciał stworzyć takowego kółka.

Szara rzeczywistość lekcji w technikum ;-)
Szara rzeczywistość lekcji w technikum ;-)

Cóż... pozostało mi więc zdobywać wiedzę samemu. Co przez cały okres pierwszej klasy czyniłem, zostawiając powrót do programowania na klasę drugą. Albowiem wtedy właśnie według programu nauczania, miałem rozpocząć lekcje "Programowania strukturalnego i obiektowego".

"Nauka" programowania w technikum

Na pierwszych lekcjach programowania w technikum uczyliśmy się algorytmów. Przez pierwsze dwie lekcje poznawaliśmy schematy blokowe algorytmów na podstawie prostych zadań, a na trzeciej lekcji — kartkówka. Ocenianie? Pomylisz jeden bloczek, zabraknie Ci grota na strzałce albo nie zakończysz polecenia średnikiem — ocena niedostateczna. Poważnie, jakkolwiek ktoś nie napisał świetnego algorytmu, który idealnie rozwiązuje zadany problem to wystarczył taki błahy powód, by oblać kartkówkę.

Można powiedzieć, że nauczyciele potrafią znaleźć idealne sposoby na to jak ZDEMOTYWOWAĆ ucznia do nauki. I nie mówię to bez powodu, ponieważ większość jak nie cała klasa już na wstępie zniechęciła się do programowania i całego przedmiotu. Stąd też pojawiały się liczne zagrożenia "nieuzyskania promocji" wystawiane przez nauczyciela pod koniec każdego semestru.

Oczywiście ja też nie zaliczyłem kartkówki i musiałem poprawiać tę ocenę przy tablicy kilka tygodni później, rysując cały algorytm dla funkcji kwadratowej. Był on wcześniej przez nas ćwiczony, więc nie miałem większych problemów ze zrozumieniem tego co rysuję, dlaczego w danej kolejności wszystko się odbywa itd. No i kurczę... pomyliłem się w ostatnim bloczku, gdzie zamiast "bloku wyjścia/wejścia" narysowałem "blok operacyjny". Nie ważne było, że cała tablica algorytmu była poprawnie i czytelnie wykonana - najważniejsze było, że dostałem niedostateczny za TEN jeden blok. I od tego momentu się zaczęło... Nauczyciel cały czas "jedynkujący" nas za poszczególne błędy coraz bardziej demotywował do dalszej nauki. Osobiście jakoś udawało mi się na ocenę dopuszczającą zdać, ale to były męczarnie...

535415

Programistycznego horroru, ciąg dalszy...

Klasa trzecia i czwarta, to były 3 semestry nauki C++ i 1 semestr nauki Javy. Nauczycielka? Beznadziejna, o zerowym pojęciu co to jest (prawdziwe) programowanie. Metody bardzo podobne do pierwszego nauczyciela i znowu sypało się jedynkami za jakieś pierdoły, częstokroć niemające dużego wpływu na całość.

Tworzyliśmy programy naprawdę nikomu nie potrzebne typu - rysowanie z figur geometrycznych domków lub zwierzątek. Nie korzystaliśmy z żadnych framework'ów, żadnych narzędzi wspomagających pracę zespołową (typu SVN albo Git). Zdarzało się, że pisaliśmy skomplikowane kalkulatory całek... I tutaj warto wspomnieć, że w programie nauki matematyki dla technikum niestety nie ma całek. A "kochana" Pani od programowania (z wykształcenia matematyczka) nie omieszkała nam wytłumaczyć tej całki w sposób zrozumiały dla kogokolwiek ;-)

Przez cały okres tych dwóch klas, niestety im więcej nauki programowania, tym bardziej nabierałem negatywnego nastawienia i złych nawyków — po prostu coraz bardziej miałem tego dość. Do tego dochodziła liczna kanonada ocen niedostatecznych za testy i kartkówki (mieliśmy dwugodzinne testy na których mieliśmy do stworzenia 5 dosyć czasochłonnych programów), a także tłumaczenia Rodzicom, że to naprawdę nie jest tak, że olewam przedmiot... Człowiek naprawdę starał się, ćwiczył w domu, a i tak po pewnym czasie przestał. Bo to w ogóle nie przynosiło rezultatów i lepiej było realizować strategię „byle zaliczyć”...

Pewnie zapytacie czy nie było ani jednej osoby, która sobie radziła? Tak, była... kupiła książkę do C++ z której korzystała nauczycielka by następnie mieć ją na kolanach przy każdorazowym pisaniu programów na lekcjach. Reszta... mimo, że wielu z nas dawałoby sobie spokojnie radę przy tworzeniu zadanych programów to cała atmosfera na lekcjach z panią nauczycielką co samo w sobie już demotywowało.

Sam często też usłyszałem teksty typu:

Wróbel! Ty nie będziesz programistą! [...] Nie nadajesz się do programowania!

Zwłaszcza wtedy, gdy znudzony całą lekcją najzwyczajniej w świecie zacząłem olewać przedmiot i spędzać go na rozmowach z kolegami. Dziwicie się? Dokładnie wtedy uświadomiłem sobie, że niemożliwym jest dla mnie zostać programistą, a szczególnie z takim podejściem...

Koniec technikum... wreszcie!

Tak oto zdemotywowany do programowania, bez większych umiejętności nabytych w szkole, skończyłem po czterech latach technikum. Czasami zastanawiam się, czy jakbym nie był samoukiem i w zaciszu domowym nie uczył się na własną rękę różnych pod-dziedzin informatyki, to czy nie popadłbym w depresję po skończeniu technikum...

Na szczęście, poświęcenie samonauki nad szkołę zaowocowało natychmiastowym, wakacyjnym stażem w dużym portalu internetowym o żółtych barwach z niebieskimi literami. Tam trafiłem do świetnego "Działu Rozwoju Usług Infrastruktury" gdzie pośród naprawdę niezłych administratorów mogłem poznawać smaczek prawdziwej pracy w IT. To tam przekonałem się do Linuxów, tam też zapoznałem się z programowaniem w PHP i Perlu, a także doszedłem do wniosku, że w sumie to dosyć mocno ciągnie mnie do "adminki".

535427

Po stażu zatrudniłem się w innym portalu jako redaktor i "specjalista ds. IT", od początku wiedziałem, że to był świetny wybór. Mogłem zapoznać się z szeroką gamą aspektów związanych z interesującym mnie bezpieczeństwem komputerowym, a jednocześnie uczyć się programowania w Pythonie. Tworzyłem ciekawe projekty, rozwijając jednocześnie ścieżki programowania i administracji. To było naprawdę dobre zjawisko dzięki któremu ćwiczyłem także wytrwałość w zdobywaniu informacji i wielozadaniowość w projektach i obowiązkach. Ale dalej mój ból do programowania tkwił we mnie i nie pozwalał w pełni rozwinąć skrzydeł...

Po niecałym roku postanowiłem znaleźć coś nowego, co pozwoli mi wyspecjalizować się w administracji. Poprzednie dwie prace, a także praktyki i formy dorobku oraz aktywności zawodowej — dosyć fajnie wyglądały na moim CV, ale uważałem, że nie było to wystarczające by być pewnym siebie pod kątem szukania pracy. Dlatego też szukałem tak naprawdę czegokolwiek byle zbliżonego do dotychczasowego mojego profilu zawodowego. Czyli administracji :P

O dziwo, telefony dosyć często się odzywały przez ten okres jednocześnie zapraszając mnie na rozmowy do różnych firm, firemek, a nawet i korporacji. Jedna z takich dużych firm zaprosiła mnie na rozmowę dotyczącą stanowiska administratorsko-wdrożeniowego. W opisie stanowiska znajdowały się informacje o ciekawych technologiach oraz zakresie obowiązków, który również dawał wyobrażenie odpowiedzialnej i rozwijającej pracy.

Postanowiłem więc wybrać się na (którąś z kolei) rozmowę. Miło zaskoczony fajną atmosferą i wstępną rozmową nadszedł czas na techniczne aspekty. Wówczas przyszedł mój (obecny już ;p) dyrektor, na wejściu mówiąc...

Chciałbym Panu zaproponować pracę jako młodszy programista Java...

-eeeee? Ale ja kandydowałem na inne stanowisko...

Początkowe zdziwienie zostało stłumione przez kilka pytań dotyczących tego czy programowanie mnie satysfakcjonuje, jak je postrzegam, a także czy miałem już jakieś doświadczenie w pisaniu jakichkolwiek programów. W odpowiedzi streściłem to co Wam powyżej. Szczerze przedstawiłem moje podejście, że programowanie lubię tylko po prostu do tej pory przeciwności losu niestety... utrwalały mnie w przekonaniu, że nie nadaję się do tego, a także nie jest mi to pisane. (oczywiście opisując przykład nauczycielki)

Rozmowa trwała jeszcze kilka chwil i opiewała w różne opisy pracy oraz rozwoju na tym stanowisku. Z każdą minutą coraz bardziej przekonywałem się do tego, że w sumie warto by spróbować i zobaczyć jak to będzie. Na pożegnaniu usłyszałem "To mam nadzieję, że do zobaczenia" i zdałem sobie sprawę, że to kurczę chyba jednak jest niezła szansa. Dodatkowo chciałem uwzględnić, że nie za psie pieniądze, bo kwestia "szukamy naiwnego programistę za małe pieniądze" też mi przeszła przez myśl na początku rozmowy ;-)

Doszedłem do wniosku, że jeśli ktoś chce takiego żółtodzioba w programowaniu jak ja (a szczególnie w Javie), uczyć i wskazać dobrą ścieżkę rozwoju jako programista - to jest to świetna oferta.Nie skorzystać z niej to byłby naprawdę wielki błąd. Dodatkowo, firma jest duża i gwarantuje stabilność zatrudnienia oraz duże możliwości rozwoju... Więc warto spróbować.

Postanowiłem odezwać się do innej firmy, która już szykowała dla mnie stanowisko jako administrator Linuxa i zrezygnować z oferty. Na drugi dzień zadzwoniłem do mojego obecnego dyrektora, potwierdzając przybycie i... zostałem programistą z zawodu ;p

Tylko jeszcze nie wszystko grało, tak jak chcę, więc...

Rzuciłem studia informatyczne...

...po raz drugi, dokładnie z tego samego wniosku — czas poświęcony na studiach zaocznych (weekendy) mogę z powodzeniem przeznaczyć na naukę baz danych, poszerzania wiedzy o programowaniu w Javie, czy na tworzenie nowych projektów. W sumie to nie banalne projekty przychodziły mi do głowy podczas wykładów, które kończyły się złością i pretensjami do samego siebie "czemu ja tu siedzę, a nie rozwijam się w tym co wiem, że będzie mi potrzebne!?".

Taka myśl towarzyszyła mi bardzo często i powodowała, że nie za dobrze sobie z tym radziłem. Nie będę przedstawiał planu całego tygodnia, ale moim zdaniem studia ograniczały mnie w rozwoju nie tyle, że własnych zainteresowań, a bardziej w rozwoju głównej ścieżki zawodowej. Będąc na okresie próbnym ma to szczególne znaczenie dla mnie. Zanim jednak podjąłem ostateczną decyzję, spędziłem mnóstwo czasu na przemyśleniach sprawy i próbach przewidzenia poszczególnych scenariuszy. Dodatkowo, nie wykluczam studiów na innym kierunku czy odczekania jeszcze trochę czasu na ponowne podjęcie się studiowania informatyki.

I w sumie "rzucenie studiów" to wcale nie powód do dumy, a wręcz przeciwnie. Uważam, że znowu zrobiłem krok w tył przez zaległości zebrane z lat szkolnych na wskutek spędzania czasu nad książkami komputerowymi czy w blasku monitora. Niestety zrobiło to swoje i zablokowało mnie co do nauki matematyki i fizyki, a to dodatkowo spotęgowało decyzję o porzuceniu studiów ;]

Grunt to mieć jasno określone priorytety ;)
Grunt to mieć jasno określone priorytety ;)

Jednak podjętej decyzji nie żałuję bo de facto to dzięki temu ślęczeniu przed komputerem i książkami - dzisiaj mam pracę, rosnące doświadczenie i to... bez "ukończonych studiów". Co z drugiej strony utwierdza w przekonaniu, że warto było zostać samoukiem i liczyć tylko na siebie :-)

Co przede mną?

...tego nie wiem. Natomiast wiem na pewno, że złapałem do programowania mocnego bakcyla. Wierzę w to co robię, coraz bardziej to lubię, a jednocześnie widzę cały czas efekty moich prac (choćby tak prymitywne jak w zakładce "Console" w środowisku programistycznym ;p). Codziennie rozwijam się o nowe doświadczenia, szlifuję umiejętności na różnych obszarach. A na pytanie "Co przede mną?" mogę patrzeć ze spokojem i optymistycznym nastawieniem. :-)

Z drugiej strony studia to nie koniec zmian, które mam zamiar wdrażać w mojej dotychczasowej codzienności. Taki okres przemyśleń to też motywator do realizowania czegoś dla siebie samego. Choćby poprzez tworzenie własnego poletka w Internetach pod własnym nazwiskiem i na swoich zasadach — czy warto będzie? Czas pokaże...

PS. Mam wielką ochotę spotkać teraz moich nauczycieli programowania z technikum i złośliwie uśmiechnąć się do nich. Z drugiej jednak strony, na samą myśl, że uczą oni w ten samo sposób kolejne pokolenia... to robi mi się słabo ;]

PoradnikiProgramowanie
Wybrane dla Ciebie
Komentarze (110)