06 stycznia 2009

Gorączka sylwestrowej nocy - nadszedł 2009!

Do napisania tego wpisu sprowokoło mnie kilka rzeczy i wszystkie wydają mi się istotne (ich kolejność nie ma związku z ich ważnością). Cisza sprzyja obserwacjom i przemyśleniom.

Zacznę od ostatniego wpisu Michała Bartyzela o 7 Kroków Zła w Projektach IT, w którym przedstawia kodeks dobrego programisty (w zasadzie to temat sugeruje, jakby było o jakimś podziale świata na Dobro i Zło, ale szczęśliwie jest znacznie bardziej przyziemnie). Można w nim poczytać o kilku cechach wymarzonego członka zespołu projektowego, które jeśli nie są jeszcze Twoje, warto dopisać do noworocznych postanowień. Nawet jeśli jedynie jedno zostanie wybrane, to już będzie to widoczny postęp.

Skoro o kodeksie, to na myśl przychodzi mi jeszcze jeden kodeks, z którym ostatnio się zetknąłem - kodeks Leonardo Da Vinci. Brzmi wynośle, ale tak mi się skojarzyło z wpisem Michała, kiedy oglądałem o Da Vinci program na History Channel w...Sylwestra (!) Jakkkolwiek nie spotkałem się z wyjaśnieniem, co ten kodeks dokładnie zawiera, ale wciąż przywoływany w programie możnaby go podsumować w jedynym zdaniu - każdą przeszkodę można i należy pokonać. Było tam wiele o dążeniu do doskonałości i szukaniu nieprzeciętnych, ponadczasowych rozwiązań, więc pod tym względem przypomina mi to naszego Leonardo - Michała Bartyzela - który jak Don Kichot walczy o czystość naszego cechu programistycznego ;-) Co mnie jednak zaskoczyło w życiu Leonardo, którego znamy jako malarza - Mona Liza czy Dama z Gronostajem (nie Łasiczką!), to fakt, że Leonardo gro życia parał się innymi czynnościami niż malarstwo (!) Czyżby oznaczało to, że aby stać się dobrym programistą należy zająć się...czymś innym? Przypomina mi to wpis na blogu Poza schematy - Ostrzenie piły, robienie zdjęć, czyli trochę o pasjach.

A skąd przyszło mi oglądać telewizję w Sylwestra, niektórzy mogliby spytać? Powodem było jakieś "przecudne" choróbsko, które sprawiło, że w przeddzień Sylwestra temperatura skoczyła mi do 39,6 st. C (!) Jak ujęła to wczoraj moja żona - była to największa zanotowana temperatura na Na Uboczu. Niezła to była jazda. Rozłożyło mnie na amen. Dobrze mieć bratnią duszę przy sobie w takiej chwili, która sprawi, że da się zbić temperaturę choćby na chwilę. Kolejny raz miałem możliwość "skosztowania" pomocy mojej żony Agaty. Dzięki niej mogłem poczuć, jak to przyjemnie mieć 38 st.C ;-) Takiego zakończenia roku nie zapomina się. Temperatura podczas zabawy sylwestrowej iście wysoka! I tak z wahaniami przez 2 dni. Niech ktoś nie sądzi, że wystarczyło zażyć gripex, czy podobne cudo. Po 8 tabletkach w ciągu 24h i okładach doszliśmy do 38,7, aby za moment znowu skończyć na 39+. Wątroba miała również niezłą jazdę. I jeszcze kompletny brak apetytu. Skończyło się na bardziej radykalnym, głównie mentalnie, posunięciu - paracetamol w czo...Dalej nie piszę - zbyt krępujące ;-) Do tego prysznic w wodzie jak najbardziej zimnej i voila - około 22:00 w Sylwka byłem prawie żywy. Niezapomniany Sylwester. Ciut dłużej i pewnie nie pamiętałbym go wcale - tylko z opowiadań.

Miałem trochę czasu na przemyślenia i przy braku Sieci pozostało mi jedynie rozmyślać. Właśnie wdrożenie *tego* radykalnego rozwiązania nasunęło mi na myśl, że wiele z naszego oprogramowania potrzebuje takich radykalnych działań, ale z różnych powodów nie zostają wdrożone. I to często z bardzo błahego powodu, np. niezrozumienie rozwiązania przez głównego architekta czy resztę zespołu, nieśmiałość pomysłodawcy, brak zgody na wdrożenie jako pomysł innego, mniej doświadczonego członka zespołu, itp. Najgorsze jest wtedy, kiedy przygotowanie słuchaczy, jest niewystarczające, albo jeszcze gorzej, ich przekonanie o słuszności zastosowania wcześniej wybranej technologii nad proponowaną, biorą górę nad rozsądkiem. Może być też tak, że osoba proponująca sama nie do końca potrafi wytłumaczyć, dlaczego pomysł może wypalić. Ot, kobieca intuicja. Chciałoby się liczyć na wsparcie zespołu, który pomoże w zbadaniu tematu i sprawdzeniu, czy warto iść w tym kierunku. Pomoc zamiast egoistycznego myślenia o wyższości własnego postrzegania świata ostatecznie poprawi notowania wszystkim. Czasami nietypowe zagrania psują ustalony kanon i sprawiają, że tworzymy nowy, lepszy wariant. Czy nie nasuwa to skojarzeń z grą w szachy, karty, itp., gdzie nietypowe zagrania nowicjusza powodują frustrację bardziej zaawansowanych graczy? I jeszcze ów nowicjusz wygrywa partię. Nie od dzisiaj wiadomo (chociaż odnośnika na poparcie tezy nie mam pod ręką), że największe wynalazki powstają w młodych umysłach, kiedy nie są jeszcze obarczone żadnymi "dobrymi praktykami" czy przyzwyczajeniami. Przyzwyczajenie drugą naturą człowieka. Jeśli dodam, że nauczenie się żonglowania 3 piłeczkami to niecały kwadrans, pewnie nikt z nowicjuszy w temacie nie uwierzy mi. A wystarczy oduczyć się (!) przyzwyczajenia podawania piłeczki z ręki do ręki. Ważne, aby nauczyć się oduczać się i wciąż wykazywać chociażby skłonności do nauki.

Do całej końcówki roku 2008 nie mógłbym nie dodać kolejnego wydarzenia spoza dziedziny informatyki, która ma na nią niebagatelny wpływ - kapitalny remont mieszkania i przeprowadzka w...przedostatni dzień roku (!) Cała rodzinka na najwyższych obrotach, aby wysprzątać stare mieszkanie, poprzenościć pozostałe rzeczy na nowe i się w nim zadomowić. Dopiero kiedy rozpoczęło się sprzątanie nowego mieszkania zaczęły wychodzić błędy ekipy zwanej majstrami. Błędów jest tyle, że tylko usiąść i płakać. Jeśli ja jestem takim majstrem (aka profesjonalistą) jak oni, to już powinienem zabrać się za inny fach. Cały parkiet do wymiany, płytki nierówno położone, kruszące się fugi, silikon położony, jakby wcale nie był kładziony, ściany pomalowane jak przez nowicjuszy. Po prostu klapa na całego! To jest chyba pierwszy raz w moim życiu, kiedy tak na prawdę odczułem na własnej skórze, co musi czuć nasz klient, kiedy otrzymuje oprogramowanie, którego wcale nie zamawiał, ale wciąż jest zgodne z wymaganiami (aby później kontynuować prace już w ramach aneksów do głównej umowy!). I tak się wszystko kula powoli. Ja uczę się o dobrym wytwarzaniu oprogramowania, klienci o normach ISO, budowlańcy o własnych technikach i technologiach, a życie swoje. Jest jednak światełko w tunelu skoro w Łodzi mamy Michała Bartyzela, w Lublinie Sławka Sobótkę, którzy piszą peany nt. dobrego stylu programowania. Z nowym rokiem, kiedy określamy swoje plany rozwojowe, warto poświęcić trochę czasu na zarzucenie kilku przyzwyczajeń i zastosowanie się do zaleceń kolegów. Nawet, jeśli za jakiś czas okaże się, że nie był to najtrafniejsza wybór, zalecam więcej prototypowania. A jeśli prototypowanie, to najlepiej w jakimś projekcie. Można rozwinąc swój własny samodzielnie, a można dołączyć do jednego z już istniejących. Właśnie to stanowi dla mnie główną różnicę między projektem komercyjnym a otwartego oprogramowania (ang. OSS - Open Source Software). W pierwszym znacznie trudniej wprowadzić rewolucyjne zmiany, podczas gdy w drugim są one wręcz pożądane. Oczywiście jak to w życiu bywa Nie myli się ten, kto nic nie robi, albo ostatnio zasłyszane Nie zabłądzisz w lesie, do którego nie wejdziesz. Prototypowanie, ulepszepszanie, ponownie prototypowanie i tak w kółko. I jedna ważna zasada, którą wyczytałem, gdzieś na blogu, prototyp to nie jest zerowa wersja produktu. Prototyp wyrzucamy do śmieci, zapożyczając jedynie idee dla wersji pierwszej produktu. Nie dajmy się przekonać, że prototyp jest na tyle dobry, że może stać się wersją pierwszą. Może być niebezpieczne dla zdrowia psychicznego samego autora.

Osobiście najbardziej zależało mi na jeszcze jednym wydarzeniu, o którym nie mogę jeszcze napisać, że zostało w pełni zakończone. Caluteńki grudzień miałem głowę zajętą właśnie tym przedsięwzięciem i cieszę się, że teraz przyszło mi już tylko czekać na wyniki. Możnaby powiedzieć, że "praca" weszła na produkcję i oczekuje opinii użytkowników. Kiedy będę miał to za sobą na pewno odetchnę z ulgą. Nawet pojawiły się plany, aby kontynuować temat. Na razie jedynie nieśmiało wspominam o tym. Więcej niebawem.

Nie odmówiłem i sobie prawa do wyboru kilku postanowień na nowy 2009 rok:
  • promować znaczenie poznawania nowych technologii i szkieletów aplikacyjnych
  • wzmożyć aktywność w świecie projektów otwartego oprogramowania
  • zwiększyć zrozumienie moich wypowiedzi
Nie są to bardzo wyrafinowane decyzje, ale dawały mi dużo zabawy w roku 2008 i nie ukrywam, że czekam na więcej. Szczególnie ostatnie ma dla mnie znaczenie, bo zapytany nigdy nie mogę dobrnąć do końca z moją wypowiedzią w założonym czasie ;-)

Blog zgłosiłem do konkursu Blog Roku 2008 w kategorii profesjonalne. W 2007 zakończył na 8. miejscu z 93 głosami w III etapie (57. głosami w II). Biorąc pod uwagę statystyki bloga z ostatniego roku (mimo znaczącej przerwy w grudniu) oraz wyniku pierwszego miejsca z 2007 z 700 głosami w sumie, śmiem twierdzić, że Notatnik ma niemałą szansę na zajęcie miejsca na pudle. To byłby z pewnością przyczynek do zmiany jego statusu z prywatnego na bardziej otwarty, taki społecznościowy, z większym udziałem innych indywidualności świata javowego w Polsce. Mamy jdn.pl, dworld.pl, j2ee.pl, a więc będzie kolejny. Decyzja zależy od Waszego zaangażowania. Coś ala SpieprzajDziadu.com, który z bloga jednego aktora stał się blogiem społeczności czytelników. Brakuje mi chęci na zestawienie infrastruktury - własny serwer, wordpress, forum, serwer aplikacyjny, więc zainteresowanych wsparciem inicjatywy uprasza się o kontakt.
Nota bene, oba wspomniane wcześniej blogi startują również w konkursie Blog Roku 2008 i to w kategorii profesjonalne! Zapowiada się interesująca potyczka. Wygrać z takimi tuzami będzie dla mnie zaszczytem i spotęguje moją radość ;-)

p.s. Urzekł mnie ostatni teledysk Beautiful Lie grupy 30 Seconds to Mars, który jak wieść niesie calkowicie był zrealizowany gdzieś na kole podbiegunowym. Widziałem go na MTV HD i zaparło mi dech w piersiach. I nie chodzi o muzykę, ale o nowatorski sposób jego realizacji. Cudeńko! Jak masz doła przed rozpoczęciem prac w przedłużającym się projekcie warto go wysłuchać.