Jeśli założymy, że informatycy to pracownicy fizyczni wtedy faktycznie nagradzanie za ilość linii kodu ma sens - bo nagradzany jest fizyczny wysiłek mięśni zginacza palca środkowego i sąsiednich. Ale ponieważ (mam niesamowicie ogromną nadzieję!!!) większość populacji rozumie już, że to jest bzdura i informatyk/programista to pracownik o charakterze intelektualno-kreatywnym, którego praca polega na rozwiązywaniu problemów - toteż ma sens największy aby skupić się właśnie na tym - problemach (i rozwiązaniach).
Problemy (i rozwiązania)
Okazuje się, że problemy możemy rozwiązać na dwa sposoby :
- Ewolucyjny/Analityczny - do rozwiązania dochodzimy przyrostowo. Mając elementy A,B i C tworzymy liniowo różne kombinacje aż na coś natrafimy. Przypomina to trochę próbę wcelowania po pijaku właściwym kluczem do zamka w drzwiach
- Rewolucyjny/Kreatywny - mając elementy A,B i C nagle (ni z tego ni z owego) zauważamy pewną naturę rzeczy - element A można podzielić na D i E i zestawić z B tak, że powstanie nieoczekiwana kombinacja (słynny eksperyment ze świeczką)
I co z tego? Podział jak podział... A jednak okazuje się, że w dużej mierze wiadomo co tam się pod czaszką w momencie "Eureka" dzieje
(I tutaj małe ostrzeżenie - jeśli czytelnik wyznaje klasyczny tu i ówdzie pogląd, że programistę trzeba zajechać aby "zoptymalizować" jego produktywność to niech przestanie czytać i pójdzie pooglądać Kubę Wojewódzkiego czy coś w tym stylu bo to co napiszę poniżej nie przypasuje mu do światopoglądu :( )
Neurologia olśnienia
(zrodlo : http://openi.nlm.nih.gov/detailedresult.php?img=387268_pbio.0020097.g002&req=4Bohaterem historyjki jest niejaki Mark Jung-Beeman - neurolog z ważnego uniwersytetu w USA, którego nazwa fajnie by brzmiała, dodała powagi tekstowi ale nikt i tak je nie zapamieta. Jako spec od prawej półkuli mózgowej pewnego dnia sam przeżył olśnienie (plus masa wiedzy i paredziesiąt lat doświadczenia) iż skomplikowana natura języka wymusza jego procesowanie przez obydwie półkulę a nie tylko lewą - zwaną analityczną.
Beeman zaprojektował eksperyment, który polegał na tym aby znaleźć związek pomiędzy grupą wyrazów. Zakładał, że dla prostej grupy algorytm rozwiązywania będzie miał charakter analityczny ale już dla niecodziennego zestawu mózg będzie musiał zastosować jakąś sztuczkę. (Np zestaw {droga,przystanek, pasażer} - dosyć prosto - autobus | ale już dla {książka,spodnie,oklaski} - tak łatwo związku znaleźć się nie da - mól - zwłaszcza przy ograniczonym czasie)
A że na szczęście technologia jest coraz lepsza to można wykonywać takie fajne foty mózgu(fMRI), z kolorowaniem fragmentów pracujących. Plan był taki, że ludzie będą rozwiązywali zagadki siiedząc w komorze do robienia skanów. Niestety fMRI ma kilka sekund opóźnienia przez co nie udawało się zarejestrować "Eureki". Wtedy Beeman skumał się z kolesiem zwanym John Kounios, który to eksperymentował z inną technologią badania mózgu - EEG. Ta technologia dawała natychmiastowy wynik ale bez informacji, który rejon mózgu działał.
Postanowili połączyć te dwie technologie a wynik widzimy na obrazku trzy akapity powyżej:
Eksperyment
Chwile przed olśnieniem wyglądają tak :- Faza przygotowawcza - wysoka aktywność płata czołowego. Moc obliczeniowa przekazana jest na szukanie rozwiązania problemu. Zmysły wydają się być uciszone (a przynajmniej obszary mózgu odpowiedzialne za ich obsługę - umysł nie chce być rozpraszany)
- Faza szukania - początkowo skupienie jest utrzymane. Aktywna jest lewa półkula (ośrodek mowy) ale gdy przez kilka sekund nie udaje się nagle wykres EEG wykazuje duża aktywność fal gamma (25-100Hz). W teorii falę gamma w naszym mózgu towarzyszą powstawaniu nowych sieci neuronalnych. I Wułala - właśnie został rozbudowany nasz mózg i siedzimy tak zastanawiając się "dlaczego wcześniej na to nie wpadliśmy" - przecież to (teraz) takie oczywiste!
Co się Co się co się stało
Badacze zauważyli to co widać na obrazku - aktywność w prawej półkuli. W teorii prawa półkula lepiej łączy różne koncepcje ale robi to mniej dokładnie niż półkula lewa. Na początku mózg skupia się na problemie ale później musi przerwać tę uwagę aby dać działać prawej półkuli.
Jakieś dziwne umysły mogłyby powyższy akapić odczytać w sposób - "aha czyli należy rozpraszać programistów" Nie, ku*wa nieee. Poniższy filmik odpowie dokładniej na to pytanie:
A to dlatego, że zanim pojawi się krótka aktywność gamma scalająca sieci neuronowe - swoją obecność zaznacza inna mózgowa "fala". Mózg działa w częstotliwości alfa (8-12HZ) w stanie relaksu. Medytacja, trans, relaks, spacer do Żabki - to wtedy mózg jest w stanie skanować pamięć w celu znalezienia kreatywnego rozwiązania. Hen hen czasu temu czytałem, że przy tej częstotliwości najefektywniej zachodzi wymiana informacji pomiędzy półkulami jakkolwiek teraz nie chce mi się szukać badań.
Swoje trzy grosze dołożył tutaj niejaki Joy Bhattacharya (a psychologist at Goldsmiths, University of London - kolejna fajna nic nie znacząca nazwa uniwersytetu). W trakcie swoich badań zaobserwował na wykresie EEG wzrost natężenia fal alfa na 8 sekund przed "olśnieniem". Kilka fajnych cytatów z tych badań:
To poniżej jest zajebiste!
Cholera znowu coś co stoi w sprzeczności ze szkołą zarządzania "optymalizacji użycia klawiatury". Czyżby jednak wyciskanie ludzi i szlifowanie dedlajnów mogło nie być najlepszym środkiem do zwiększenia produktywności w IT? Za każdym razem gdy znajduję takie badanie boję się, że gdzieś tam w krainie wyssanych z dupy harmnonogramów ginie gantowa wróżka
Ciekawy przypadek
Tak dla przypomnienia - istnieje jeszcze częstotliwość beta (16-20hz). W tym stanie mózg działa w trakcie "nie-relaksacji" i wyostrzonego skupienia. Jakkolwiek tutaj na ciekawy przypadek natrafił Kounios (to ten od EGG) w trakcie swoich badań. Otóż pewnego dnia uczestniczył w nich mistrz ZEN (to taka forma medytacji). Koleś nie był w stanie rozwiązać żadnych z puzzli - aż za nadto panował nad swoim umysłem w pełni skupiając się na problemie.
I nagle - w chwili pewnej - ZEN koleś zamienił się w prawdziwą maszynę do kreatywnego rozwiązywania zagadek. Generalnie tak zajebiście panował nad umysłem, że był w stanie skupić się na tym aby na niczym się nie skupiać. (To jest generalnie jedno z fajnych ćwiczeń w medytacji. Spróbujcie zamknąć oczy i nie myśleć o niczym - na samym początku można w tym stanie przesiedzieć maks kilka-kilkanaście sekund.
Do wspaniałych rzeczy jakie może dać medytacja w IT jeszcze kiedyś wrócimy.
Pracuje/niepracuje
Jestem na siłce i nagle do głowy przychodzi mi pewne rozwiązanie problemu z pracy. Najczęściej są to małe rzeczy związane designem komponentów/klas/funkcji w aplikacji ale czasami zdarzają się rzeczy relatywnie "przełomowe" jak np. ostatnio pomysł na wyciągnięcie części funkcjonalności do generowania raportów wewnętrznych do osobnej aplikacji co znacznie usprawniło rilisy (niby takie oczywiste a jednak przez ponad rok żaden mózg od pacyfiku poprzez stawy Jana w Łodzi o tym nie pomyślał). Początkowo myślałem, że to kwestia ukrwienia móżgu w trakcie ćwiczeń ale teraz widzę ogromny wpływ "stanu psychologicznego"
I teraz pytanie - jak to liczyć do czasu pracy? Rozwiązuje problemy z pracy to jestem w pracy? A jeśli siedzę przy klawiaturze i zastanawiam się czy zamknąłem drzwi od domu - to jest w pracy ale nie w pracy? I jak w kontekście tych rozważań ma się to zalecenie aby siedzieć 8 godzin przy klawiaturze? I czy czytniki przy drzwiach mają sens czy może raczej jakieś skanery mózgu?
Czy jeśli coś cokolwiek co napisałem powyżej ma sens to czy "optymalizacja czasu przy klawiaturze" driven development ma jakiś sen? Czy logowanie godzin i inne takie mają jakiś sens jeśli takie zbiory jak {"umysł","kreatywność","olśnienie","rozwiązanie"} {"liniowość","przewidywalność","plan","determinism"} lubią być zajebiście rozłączne?
Oczywiście cały czas gdzieś tam istnieje frakcja, według której jakiś zajebisty koleś w zajebiście brzmiącej roli wszystko wymyśli a małp.. znaczy programiści maja nie myśleć tylko robić. No cóż, był kiedyś taki odcinek przygód Tytusa gdzieś pewnej grupie ziomków wlali dosłownie olej do głowy - polecam lniany tłoczony na zimno - podobno ma dużo omega-3 .
Eureka i scala
Ostatnio mam relatywnie często olśnienia w trakcie rozkminy koncepcji ze scali. Covariance i Contravariance zczaiłem pomiędzy seriami na mięsień dwugłowy ramienia (zwany na dyskach osiedlowych "Bajcem"). Natomiast olśnienie odnośnie ostatniego zadania drugiego tygodnia kursu funkcyjnej scali (implementacja mapowania na symbolicznej reprezentacji zbiorów) przyszła z falą teścia po treningu nóg.
A no i kiedyś jak biegałem z ulotkami to nagle zaczaiłem jak powstaje drganie w układzie kondensator-cewka.
LINKI- http://online.wsj.com/article/SB124535297048828601.html
- http://brainworldmagazine.com/the-aha-moment/
- http://blog.bufferapp.com/why-we-have-our-best-ideas-in-the-shower-the-science-of-creativity
- http://en.wikipedia.org/wiki/Gamma_wave
- http://en.wikipedia.org/wiki/Alpha_wave
- http://www.plosbiology.org/article/info:doi/10.1371/journal.pbio.0020111
- http://vimeo.com/39864868