Co dalej? (część pierwsza)
Przez te kilka lat, które byłem w PLD, raz na jakiś czas zdarzało się, że niektórzy deweloperzy znikali praktycznie z dnia na dzień. Taki Paweł Gołaszewski (aka blues) był swego czasu bardzo aktywny (czasami aż nazbyt, raz za jednym zamachem udało mu się wykasować z repozytorium CVS całe pld 1.0 :), aż pewnego dnia po prostu oznajmił, że przestał mieć czas. I rzeczywiście przestał. Poziom jego aktywności, jeszcze wczoraj całkiem wysoki, następnego dnia spadł do zera.
Wtedy niespecjalnie mieściło mi się to w głowie -- jak to tak można po prostu coś rzucić z dnia na dzień? Jeśli coś lubię robić (tu -- dłubanie w PLD), to tak sobie ustawiam życie, żeby mieć jakieś sensowne ilości czasu na owo coś.
Niestety kilka miesięcy temu przyszło mi zrozumieć o co chodzi. Studia dzienne, praca oraz znacznie większa ilość czasu poświęcana na inne dziedziny życia zaskutkowały tym, że po raz pierwszy ja mam fizycznie mało czasu. Nie mało czasu jak zwykle, kiedy 90% dnia zawsze przeciekało mi przez palce, więc jeśli miałem jedną rzecz do zrobienia, to problemu nie było, bo w końcu się za nią brałem, natomiast w przypadku większej ilości zajęć -- przeważająca ich część zawsze szła w kąt.
O nie. Tym razem ja naprawdę nie mam czasu. Oczywiście, cyborgiem nie jestem, nadal poświęcam ileś tam godzin w tygodniu na ogólnie pojęte obijanie się (choćby oglądanie zaległych odcinków The Daily Show na youtube, czy też czytanie reddita), ale jest to niestety czas bardzo limitowany i albo muszę sobie o jakiejś sensownej porze przerywać (czego nadal się uczę), albo następnego dnia chodzę niewyspany, przez co nie jestem w stanie pracować. Skutek uboczny jest taki, że na zajęcia takie jak PLD, czy 7thguard, ja już po prostu nie mam najmniejszej ochoty.
I poniekąd jest to naturalne. Czytałem kiedyś, że jedną z kluczowych umiejętności przy rozwijaniu własnych zainteresowań jest umiejętność unikania zobowiązań. Pamiętacie moje nagłówki do kernela? One były fajne, gdy były nowe, gdy się uczyłem, gdy mi rósł geek factor ze względu na dłubanie w okolicach kernela. Ale w końcu stał się obowiązkiem. Obciążeniem. Nie chciałem już tego robić, nie chciało mi się, zmuszało mnie tylko to, że wiedziałem, że powinienem i chciałem sobie samemu udowodnić, że jestem się w stanie zmusić. Uwolnienie się od tego było długie i w pewnym sensie mocno problematyczne, acz z obiektywnego punktu widzenia dla mnie było czymś pozytywnym.
W rzeczywistości jest to związane z pewną moją mroczną tajemnicą -- otóż ja nie przepadam za technologią. Technologia mnie nudzi. Znam wiele osób, które technologia, mimo długiego z nią obcowania, nadal interesuje. Oni po prostu lubią dłubać. W pewnym sensie im tego zazdroszczę. Ba, to młode dziewczę jest naprawdę entuzjastycznie nastawione do tych nowych rzeczy, których może się jeszcze nauczyć. Ja tego nie mam już od dawna.
Jesteś programistą? Lubisz kodować? Za każdym razem jesteś w stanie wymyślić jeszcze lepszy sposób na zrobienie czegoś? Jesteś adminem? Na nowe kawałki oprogramowania patrzysz krytycznym okiem, zastanawiasz się jak można je wpasować w twoją istniejącą infrastrukturę, z której jesteś w pewnym sensie dumny? Lubisz, jak ci to co napisałeś/postawiłeś ładnie furkocze i działa?
A ja nie. Jak mam coś napisać/poprawić, to zastanawiam się, czemu ktoś tego nie zrobił już wcześniej za mnie, żebym mógł tylko odpalić i żeby działało. Jak mam uruchomić jakąś usługę, to klnę na czym świat stoi, bo to jest po prostu nty w moim życiu plik konfiguracyjny przez który się muszę przedrzeć, co mnie w żaden sposób nie podnieca.
Nie zrozumcie mnie źle. Mimo wszystko jestem geekiem i mam odpowiednio skonstruowany aparat mentalny, żeby nakręcić się sesją kodowania i nie nudzić się (zbytnio) w trakcie. Ba, będzie mi się to podobało i będę odczuwał satysfakcję, jeśli mój kod w końcu zacznie działać (analogicznie przy postawieniu jakiegoś serwera, czy innej usługi).
Rzecz w tym, że na wyższym poziomie abstrakcji te rzeczy mnie odrzucają. Odbieram je jako stratę czasu. Zazwyczaj muszę się zmuszać, żeby zacząć kodować, czy wykonać jakąś tam pracę administracyjną.
Niektórzy z was być może są w stanie skojarzyć mnie z jakimś konkretnym projektem technicznym, ale nawet jeśli, to zwróćcie uwagę na jedną rzecz -- właśnie czytacie moją prozę, a nie kod. I bynajmniej nie jest to przypadek.
Oczywiście nie mogę powiedzieć, że nie jestem osobą techniczną, bo obiektywnie rzecz biorąc moja wiedza i doświadczenie wcale takie małe nie są, ale prawda jest taka, że specjalistą to ja nie jestem od niczego. Znam Pythona? Znam, ale na poziomie podstawowym, z większą częścią tego języka nigdy nie miałem żadnej styczności. To może RPM? Niezbyt. Znam osoby dobrze w nim zorientowane i naprawdę do nich nie należę. Robiłem nagłówki do kernela, to może znam się na kernelu? Niet, obecnie bez kawałka dokumentacji miałbym zapewne problemy ze zwykłym zbudowaniem działającego kernela. I tak mógłbym wyliczać jeszcze długo.
Jest to bardzo problematyczne z zawodowego punktu widzenia, gdyż po pierwsze, znacznie ogranicza mi dostęp do prac z wyższej półki, tych dobrze płatnych, w firmach, które wiedzą jak traktować inżynierów i nie zatrudniają bezmózgich dronów na stanowiskach kierowniczych. Do takiego googla najprawdopodobniej nie miałbym nawet co startować, bo jestem za cienki w uszach.
Co gorsze jednak, w 99% tych firm ja tak naprawdę nie chciałbym pracować. Choćby nie wiem jak interesujące mogły się wydawać wewnętrzne projekty danej firmy dla przeciętnego informatyka, ja zawsze będę miał z tyłu głowy myśl, że nie ma się czym podniecać, to jest po prostu nieistotny kawałek kodu, o którym za rok nikt już nie będzie pamiętał.
Od tej reguły jest stosunkowo niewiele wyjątków, z których jeden, ten mimo wszystko najbardziej realistyczny, nazywa się PLD. Ze względu na dużą ilość zbiegów okoliczności, ten projekt nadal jest dla mnie atrakcyjny i chciałbym móc się nim zajmować.
Ale o tym dlaczego tak jest i co z tego wynika napiszę następnym razem...

26 X 2006 o 19:10:10
Bo komputery to tylko kawalek blachy i krzemu, ktory niczym nadzwyczajnym przeciez nie jest. Tak jak samochod, ma po prostu dzialac i ma zawiezc kierowce do celu. Dobrze, jesli zrobi to szybko, bezpiecznie i komfortowo, byc moze fajnie jest czasami cos do samochodu dodac, ale nie zmienia to faktu, ze jest tylko srodkiem.
(Pisze to, jednoczesnie walczac z kompilacja od podstaw GNOME pod FreeBSD).
26 X 2006 o 19:14:57
Dłubanie trzeba faktycznie lubić. Ja na ten przykład je uwielbiam i wątpie żeby mi się kiedykolwiek znudziło :) Życie niestety jest jakie jest i pożera większą część dnia (praca, dom itd). Mnie to akurat irytuje... Siedzieć w pracy 8 godzin... Ileż by można w tym czasie przy PLD (tudzież czymś innym) zrobić? Ale wtedy patrzę na to z drugiej strony: gdybym miał 8 godzin robić przy czymś innym (nie przy PLD) - chiało by mi się? Może z początku, potem zgodnie z tym co piszesz była by to rutyna, potem zaczęłoby zawadzać itd. Dlatego uważam, że oprócz tego co trzeba robić żeby żyć to całą resztę czasu trzeba poświęcać na robienie tego co się lubi - i tu się częściowo zapętlam bo lubię dłubaninę :) A PLD... jedno z moich hobby, czemu? Pewnie o tym właśnie (mniej lub więcej) będziesz pisał w drugiej części tekstu.
26 X 2006 o 19:42:26
Wazne jest tez rozwijanie umiejetnosci. Nie ma sie co zakochiwac w jezykach, ani technologiach... zawsze przyjda nowe, lepsze. PC to tylko kawal blachy... czasem chcialbym w to wierzyc ;). Mimo wszystko nie moge zdzierzyc jak ktos specjalnie hamuje rozwoj tylko dlatego ze nie chce mu sie isc dalej, bo na tym co teraz ma spedzil juz tyyyle czasu. Z drugiej strony podziwiam scene 8bit, szczegolnie atari.
26 X 2006 o 21:55:48
Nie wiem czy to, że sama "dłubanina dla dłubaniny" Ci nie sprawia aż takiej frajdy jest tak strasznie dziwne - dla mnie nie jest dziwne ani trochę. Nienawidzę durnowatych projekcików na uczelnię, choćby w nie wiem jak zajebistej technologii były robione - bo wiem że po zaliczeniu trafią do ślicznej przegródki w katalogu uczelnia/semX/przedmiot i tak się skończy ich żywot.
W pewnym momencie miałam też serdecznie dość swojego projektu w pracy, bo ciągnął się już dobre parę miesięcy, był częścią dużego systemu, którego w działaniu w całości w życiu nie widziałam. Taka tam sobie jakaś abstrakcja - "ponoć gdzieś ktoś tego używa".
Perspektywa zmieniła mi się zupełnie jak w te wakacje pojechałam do Anglii i poznałam tam ludzi którzy tego używają, lekarzy którym ta aplikacja codziennie ułatwia życie. Lubię myśleć, że może kiedyś nawet któremuś z pacjentów uratuje życie. I to własnie to, a nie jakieś superwypaśne/nowe technologie (których na marginesie kilka w tym projekcie jest), sprawia, że dłubanie w tym projekcie teraz sprawia mi naprawdę dużą przyjemność.
Ale nie wiem, może nie jestem geeketką i wśród programistów należę do rzadkości ;)
26 X 2006 o 22:13:25
Długa praca nad projektem (jaki fajny by nie był) nuży prędzej czy później. Szczerze podziwiam osoby, które są w stanie poświęcić część życia na rozwijanie jakiegoś projektu (np. prof. Knuth).
Z własnego doświadczenia wiem, że dobrze jest zrobić sobie przerwę, kiedy projekt zaczyna ciążyć. Po takim odpoczynku człowiek wraca znowymi pomysłami i energią. Wzięłeś na siebie duży ciężar pracując nad PLD, może czas na krótki urlop?.
26 X 2006 o 23:25:08
Cachotterie: nie wiem jak dla innych, ale dla mnie nowe i superwypaśne technologie nie mają wpływu na to czy dana "dłubanina" sprawia mi frajdę czy nie. Programista ze mnie żaden (cholera, czemu ja to ciągle powtarzam) więc projekty przy których coś majstruję nie koniecznie muszą być programistyczne. Grzebanie w PLD to akurat przyjemna rzecz i zdecydowanie bardziej je wolę od typowych projektów czy zleceń z jakimi trzeba się na co dzień borykać. Swoją drogą to ciekawe jest, że projekt z którego nic nie mam (poza systemem i możliwością jego używania oraz udoskonalania) wydaje się być czasem dla mnie ważniejszy niż projekty, dzięki którym między innymi zarabiam na chleb. W przypadku PLD np boli mnie, że nie mam możliwości zrobienia czegoś więcej. Gorzej, uważam że to co już robię nie jest robione tak dobrze jak mogło by być... W przypadku projektów komercyjnych robie to czego się podjąłem i ani grama więcej. W przypadku PLD zdarza mi się robić coś, bo kłuje mnie w oczy to, że jest złe/niepoprawione/niedokończone itd... Ok, koniec komentarza bo się w końcu sam zaplątam w swoich wywodach :)
26 X 2006 o 23:36:55
mmazur++
27 X 2006 o 10:35:26
Zbowid ;)
29 X 2006 o 18:09:03
Dla mnie ciekawa jest sama faza projektowania, obmyślania jak co ma działać. Kiedy już wiem jak coś zrobić to samo klepanie kodu staje się nudną walką z zawiłościami danego języka programowania...