Nie tao

Pewnego razu książę poszedł na ryby. Do olbrzymiej wędki przywiązał 50 krów i zarzucił ją w oceanie. Po kilku dniach złapała się olbrzymia ryba i całe królestwo najadło się do syta.
Ale ci, którzy łowili w stawach małe rybki, nie wierzyli w to wcale.

http://www.joga-blog.pl/2012/01/tao/

Mała wiedza nie ogarnie Tao.

Aczkolwiek wielkie projekty też nie są Tao.

Aczkolwiek

Nie dać się zwariować

Przeczytałem artykuł wychwalający branie sobie niedzieli całkiem wolnej. I szczerze powiem że nie jestem przekonany że to dla mnie byłoby dobre. Po pierwsze dlatego robię doktorat żeby to co robie było spójne z tym co chce robić — robie naukę (Step away now I will do Science bitches!) bo to lubie. Mogę pluć, narzekać i ostro kląć, ale to jest to co lubie robić. Lubie chodzić na wykłady, gdzie dają mi zapakowaną w pudełko wiedzę. Więc w sumie skoro robie to co lubie i lubie to co robie to czemu raz w tygodniu robić co innego.

To jest jedna strona medalu. Druga jest taka że jednak uczestniczę w zbyt wielu rzeczach i po prosu zawsze mam coś do zrobienia na wczoraj (albo an jutro). Przyjąłem zatem następującą zasadę: rzeczy konstruktwne robie przeciętnie przez 8 — 10 godzin dziennie. Potem robie to co mam na to ochotę. Jeśli jakiegoś dnia miałem dwa wykłady a między nimi pogrzebałem przez 2 godziny w eksperymencie. To w domu pracuje już max 2 godzinki żeby wyrobić normę. Jak jest coś bardzo pilnego to posiedzę jeszcze dwie, a potem przerywam pracę, choćbym był dokładnie w połowie czegoś. Znaczy jeśli mam na to ochotę. Jeśli chce mam ochotę po programować dalej — robię to.

I wreszcie mogę sobie wieczorem w spokoju zdobyć odznakę pacyfisty w najnowszym Deus Ex. Codziennie wyprowadzam psa na spacer i takie tam.

Tao ZHP, tao dowodzenia

Taoizm jest filozofią/religią bezruchu, spokoju, niedziałania. Albo inaczej — działania poprzez niedziałanie. Dowodzenia poprzez niedowodzenie.

Taoistyczny dowódca jest osią która sama jest w bezruchu, a wokół której pewne działania toczą się, zgodnie z maksymą: Tao jest stałe w swoim niedziałaniu, jednak nie pozostaje nic czego by nie zrobiło [co pozostało do zrobienia]. Tak działa dobrze prowadzona drużyna harcerska — to jest zasada systemu zastępowego — zastępy działąją samodzielnie i nad ich działaniem czuwa zastępowy. Drużynowy tylko koordynuje pracę zastępów, ale kiedy one działają jest w zasadzie zbędny.

Taką samą mam wizję działania programistów WNT pod moim dowództwem — szef jest zbędny wszystko powinno toczyć się samo. Ja jako szef ustalam standardy, daje narzędzia i ustalam tryb pracy. A potem się nie wtrącam.

Buddyzm z kolei ma taką wizję rozwoju człowieka: są w rozwoju pewne bariery (w terminologii technicznej są to przeszkadzające emocje i zasłony niewiedzy). Gdy te bariery się usunie — to rozwój następuje samorzutnie. Tak samo działa przekształcanie niedoświadczonych programistów w doświadczonych programistów, czy dzieci w wychowanych harcerzy. Trzeba usunąć im bariery w rozwoju i rozwój nastąpi samorzutnie.

By stworzyć doświadczonego programistę starczy ukierunkować  aktywność nie doświadczonego programisty w odpowiedni sposób — starczy pokazać mu że kodzenie nie jest główną aktywnością programisty — równie ważne jest to jak zadziałać żeby wykodzony kod był dobrej jakości, modułowy itp. Samo tworzenie kodu w środowisku w którym program ma specyfikację, zadania podzielone są na taski, ktoś ten kod przegląda, ktoś pilnuje żeby były unit testy (itp.), automatycznie wdraża programistę w dobre praktyki.

Samo przebywanie na obozie harcerskim uczy harcerza pewnych bardzo przydatnych życiowo rzeczy — służba w kuchni powoduje odkrycie że obiad nie robi się sam, służba ogólnie — powoduje uświadomienie faktu że pewne rzeczy trzeba po prostu zrobić żeby zapewnić społeczności byt. Przy czym trzeba zauważyć że zarówno dobre praktyki jaki i służba harcerzy na obozie nie są sztuką dla sztuki — są to rzeczy po prostu potrzebne.

Jednym z największych błędów jakie może popełnić dowódca jest przydzielm.enie sobie zbyt dużych kompetencji — albo wzięcie na siebie zbyt wielu obowiązków — bo wtedy nie ma czasu na rzeczy ważne. Komendant, szef jest od systemowego rozwiązywania problemów,  a nie od zajmowania się detalami. Ogólną zasadą jest: wasal mojego wasala nie jest moim wasalem. Drużynowy nie powinien musieć np. karać członka jakiegoś zastępu za coś — ma od tego zastępowego. Szef programistów nie powinien musieć pisać kodu. Oczywiście są przypadki kiedy tak się nie da — sam przerobiłem takie sytuacje zarówno jako szef programistów jak i komendant podobozu. Kiedy nie ma komu stawiać bugtrackera w zespole programistów — musi zrobić to szef. Kiedy nie ma dobrych zastępowych to drużynowy robi ich robotę. I wiem że kiedy kodziłem w jednym projekcie — to we wszystkich innych praca stała, bo czekała na np. moją decyzję, moje dogadanie się z zamawiającym . . .  Wiem też że drużyna bez dobrych zastępowych prędzej czy później się rozpadnie (choćby przez to że drużynowy wypali się po roku takiej pracy).

Jeśli jesteś szefem zespołu w którym musisz czuwać nad każdym detalem — twoim pierwszym priorytetem jest przerwanie takiej sytuacji. Czy to przez wykształcenie kadr, czy to przez obniżenie standardów które musi spełniać zespół. Bo lepiej w sposób dobry robić mniej, niż w sposób zły więcej. Jeśli masz nową kucharkę na obozie która nie ogarnia zadań, to nie dorzucaj jej jeszcze konieczności robienia posiłków: bezmięsnych, bezglutenowych, bezmlecznych i koszernych. To jest: kucharka jako szefowa powinna powiedzieć że standardu robienia posiłków na 10 diet nie jest w stanie utrzymać i woli dobrze robić posiłki dla ludzi bez specjalnych wymagań dietetycznych.