12 października 2011

Focus & deliver - centrum rozwojowe Google w Warszawie otwarte

Kilka dni temu otrzymałem od Google (bez nazwisk tym razem) zaproszenie na "a small, informal gathering, during which you will be able to find out more about the office and the projects the engineers will be working on", które odbyło się właśnie dzisiaj na 10 piętrze Warsaw Financial Centre (ul. E. Plater 53 w Warszawie). Przy mojej obecnej sytuacji rodzinnej do końca nie byłem pewien, czy będę mógł w nim uczestniczyć i, z klauzulą potencjalnej nieobecności, przyjąłem zaproszenie.

Najciekawsze w tym było to, że "Apart from Kacper, you will hear from two speakers from Mountain View: Joshua Bloch and Walfredo Cirne." Joshua Bloch w Warszawie?! Nie mogłem przegapić tego spotkania. Nie byłem specjalnie napalony na możliwość zrobienia sobie z nim zdjęcia, zebrania podpisu, czy przyjacielskiego uścisku dłoni, ale możliwość spotkania go w nowootwieranym biurze inżynierskim Google nęciło. No i to indywidualne zaproszenie podkręciło moją ciekawość, aby zobaczyć, co też Google z Joshua przygotowali dla mas...miałem napisać...nas. Najbardziej zainteresowany byłem poznaniem ludzi, którzy będą tworzyli Google w Warszawie.

Jakież było moje zdumienie, kiedy na 10 piętrze spotkałem znajome twarze z wydziału MIM UW - pani doktor, pan doktor, o i pan profesor (miało być bez nazwisk i niech tak pozostanie). Było też kilka znajomych twarzy (z widzenia, nie z bezpośredniego kontaktu) z rynku. Pachniało jednak bardziej akademickim spotkaniem.

Spotkanie oficjalnie zaczęło się około kwadrans po 17:00. Zaczął Kacper - "the engineering director for the new office" Stonowany głos, przyjemny angielski, więc miło się go słuchało. Och gdybym tylko wiedział, jak zaraz po nim "Walfredo will talk about Cluster Management at Google." Kacper przedstawił cele nowego zespołu rozwojowego Google, z czego najbardziej utkwiło mi zdanie, że "they want to contribute and contributors" (czy jakoś podobnie). Ogólnie, zespół Google chciałby stać się częścią społeczności technicznej w Warszawie, tak by społeczność mogła skorzystać na tym, a i również sam Google. Obopólna praca na rzecz rozwoju obu stron. Pomysł podoba mi się, szczególnie, że ostatnimi czasy więcej w Warszawie grup użytkowników niż spotykających się, tj. jest komu organizować, ale nie ma komu przychodzić. Szczęśliwie nie dotyczy to bardzo prężnej grupy Warszawa JUG, która, jak mogłem dzisiaj przekonać się, liczy obecnie 542 użytkowników (!) Kawał światka warszawskiego. I jeszcze jedno zdanie Kacpra utkwiło mi w pamięci: "Focus & deliver". Ostatnio wiele rozważam nt. planowania, a później wypełniania postanowień i to zdanie wstrzeliło się w sam środek mojego dywagowania, ile jest we mnie pierwszego, a ile drugiego. Powiedzmy, że pracuję nad obiema rzeczami.

O Walfredo nie będę wspominał. Dałem radę, ale nie było warto. Nuda.

Ale moment, to zasługuje na uwagę. Już na sam koniec prezentacji, Walfredo został zapytany o udostępnianie wyników dotychczasowych osiągnięć w ramach dokumentów akademickich czy podobnie. I tu padło pamiętne: "We're too busy to write papers". Gość całkowicie powalił moje postrzeganie na wielkość Google jako firmy, w której i dla której dzielenie się wiedzą i inspirowanie do takiej aktywności jest w samym sercu zainteresowania. A tu taki klaps. Oniemiałem. Jakby na dokładkę, inny Googlers z zespołu Walfredo, zaproponował nawet tezę, że to nie jest skończone, więc nie pora na tego typu aktywności. To mną wstrznąsnęło. Z wielkiego Google zrobił się...Google. Czas magii firmy, która poświęca się dla społeczności prysł i pewnie trudno będzie się mi zebrać.

Mimo, że Walfredo przedstawiał tematykę Cluster management at Google z projektem Omega, które nie interesowało mnie całkowicie, to wychwyciłem ciekawe zdanie, z którym zgadzam się w zupełności "Not how but what - declare not implement - goals not ways". Jednak ja zastosowałbym to zdanie do programowania, chociażby ostatnich moich lekcji z Androidem. Programowanie na Androida z widokami opisanymi w XML, albo wszechobecne programowanie z adnotacjami czy funkcyjne jest właśnie tego przykładem. Jest to swego rodzaju realizacja zasady odwrócenia odpowiedzialności - typowy IoC. We wszystkich, wymagamy czegoś od środowiska i deklarujemy wymagania, które mogą być realizowane na różne sposoby, poniżej naszego poziomu percepcji i w ogóle zainteresowania. Wskazywanie na tego typu podejście było później również przedstawione przez Joshua w jego prezentacji "Performance Anxiety - Performance Analysis in the New Millennium", w którym wspomniał, aby "use high-level declarative construct", bo znajomość detali może zabić swoją złożonością i czasochłonnością.

A skoro o nim. Po przerwie na scenę wkroczył Joshua. Trudno mówić o scenie, bo siedzieliśmy w otwartym pomieszczeniu, zaraz przy wejściu, co niektórzy mogliby wręcz określić jako korytarz. Sceneria mi nie przeszkadzała i delektowałem się dwoma projektorami, które wyraźnie wyświetlały slajdy, a później i sam kod źródłowy w Aquamacsie (!) Sceny nie było, chyba, że podłogę można nią nazwać.

Do zapamiętania: "We can't be perfect", więc pewien poziom niedeterminizmu w JVM, systemu operacyjnego, procesora jest dozwolony i dobrze, abyśmy zdawali sobie z tego sprawę. Ja nie zdawałem i wyszedłem bogatszy. Prezentacja była bardzo żywiołowa i dynamiczna. Czasami miałem wrażenie, że to wyginanie się Joshua zmęczy go, ale, kiedy o 19:45 skończyliśmy część prezentacji i przeszliśmy delektować się przekąskami, nie zauważyłem zmęczenia, ani u niego, ani u słuchających. Obserwowałem Joshua pod kątem jego technik prezenterskich i kilka zamierzam wdrożyć na sobotniej warsjawie, kiedy to przedstawię "Java EE 6 Web Profile z Apache TomEE". Wtedy zamierzam po raz pierwszy zastosować kacprowe "Focus & deliver"!

Tej części bałem się najbardziej. Po części prezentacyjnej, przeszliśmy do przekąsek i napoi (w tym i piwa!) Wiele uczestników znała się, więc sądziłem, że powstaną grupki bardzo hermetyczne i rozmowy będą w zamkniętych gronach. Czy to miejsce, czy jedzenie, czy po prostu uczestnicy byli powodem, ale tak się nie stało. Jedzenie było smaczne, towarzystwo otwarte i rozgadane, więc pożegnałem się z uczestnikami dopiero około 21:00. Spotkanie bardzo przyjemne i z niecierpliwością czekam na kolejne.

A jeśli o kolejnych spotkaniach, to przypominam, że w najbliższą sobotę, 15 października odbędzie się konferencja warsjawa. Wszyscy są mile widziani, a na moją prezentację Apache TomEE zachęcam ze zdwojoną, co tam, strojonąpotrójną siłą.

Do soboty pozostało kilka dni, a już jutro spotkanie z Joshua Bloch w ramach "Google Tech Talks". Będzie Kacper, Joshua i Walfredo. Będzie tym samym możliwość skonfrontowania moich odczuć na prezentowane tematy. Z tego, co mi powiedziano na wydarzenie zapisało się 500 osób, co o tyle było dla mnie zdumiewające, że nic a nic nie wiedziałem o nim. Wciąż nie mogę nadziwić się, że przy aktywnej Warszawa JUG, śledzeniu twittera, blogów i w ogóle nasłuchiwaniu wszystkiego, co związane jest z Javą, nie udało mi się wychwycić tego wydarzenia. Skoro ja już o tym wiem, Ty również. Rejestracja dostępna jest na stronie Inżynierowie z Warszawy, spotkajmy się! Podobno miejsce nie wytrzyma takiego nawału zainteresowanych, więc rozważ dwa, a nawet trzy razy, zanim zapiszesz się na spotkanie z Goooooglers. Życzę miłego spotkania i zachęcam do aktywnego udziału.