W ubiegły piątek i sobotę (26-27 września) odbyła się siódma edycja konferencji Warsjawa, w której miałem ogromną przyjemność uczestniczyć. Dziś mogę szczerze powiedzieć, że była to najlepsza konferencja pod kątem merytorycznym na jakiej do tej pory byłem (a byłem już na kilku).

Rejestracja rozpoczęła się o godzinie 12 w piątek. O 13 zaczęła się pierwsza seria warsztatów. Proponowana lista była bardzo długa. Mój wybór padł na warsztat Mateusza Kaczmarka pt. How to become SPOCK at TDD. Po małych problemach z projektorem wystartowaliśmy. Mateusz wprowadził nas w świat Spocka i pokazał jak można szybko zacząć pisać testy jednostkowe w Groovy. Nie mając wcześniej do czynienia ze Spockiem, bardzo spodobało mi się to narzędzie. Testy jednostkowe są w im bardziej przejrzyste od tych JUnitowych w Javie. O wiele łatwiej się je czyta. Jeśli tylko będę miał okazję, to spróbuję je wprowadzić w projektach, z którymi na co dzień pracuje.

Jeśli miałbym ocenić sam sposób prowadzenia warsztatów, to dałbym Mateuszowi mocną czwórkę. Prezentowane przez niego przykłady testów jednostkowych były bardzo fajne i ukazywały różnorakie sytuacje, które przychodzi nam testować. Mateusz wyjaśniał na bieżąco składnie języka Groovy, więc nie było problemu, gdy ktoś był nowicjuszem w tym temacie. Ze względu na problemy techniczne spora część czasu uciekła, przez co nie wszystko co było założone zostało przedstawione. Największym mankamentem był brak zadań do wykonania samodzielnie.

Pierwsza seria warsztatów trwała do 16:15. Potem nastąpiła godzinna przerwa obiadowa. O 17:15 przyszedł czas na kolejny warsztat. Kilka razy zmieniałem zdanie na co iść. Ostatecznie wybrałem się na Meta Programming in Groovy, który prowadził Venkat Subramaniam. Miałem już wcześniej przyjemność słuchać prezentacji Venkata na różnych konferencjach, ale nigdy jeszcze nie byłem na jego warsztatach. Było tak jak się spodziewałem – czas poświęcony na występ Venkata, nigdy nie jest czasem straconym, niezależnie od tego czy jest to warsztat, czy tylko prezentacja. Jeśli jeszcze nie wiecie o co mi chodzi, to jak tylko będziecie mieli okazje, skorzystajcie z niej i wybierzcie się na jakąś jego prelekcję :)

Forma spotkania była bardzo fajna – najpierw wprowadzenie do tematu krok po kroku, potem kilka minut na ćwiczenia do wykonania samodzielnie (a dokładniej w parach), a następnie szczegółowa prezentacja rozwiązania zadania. I tak kilka razy. Dzięki temu można było nauczyć się bardzo wiele teorii i zaraz potem sprawdzić swoją wiedzę w praktyce. Końcowa ocena warsztatów: 5+ :)

Dodatkowym motywatorem wybrania się na warsztaty Venkata była możliwość pair programmingu z Szymonem Stępniakiem, największym wymiataczem w Groovy jakiego znam. Dzięki temu mogłem uczyć się języka jednocześnie od dwóch specjalistów w tej dziedzinie. Mam nadzieję, że Szymon wybaczy mi moje braki w Groovy i mimo wszystko wyniósł co nieco z naszej współpracy 😉

Następnego dnia, w sobotę, nie miałem już wątpliwości na co idę w pierwszej kolejności – Creating Domain Specific Languages using Groovy prowadzony również przez Venkata. Formuła spotkania analogiczna do tej z poprzedniego dnia. W trakcie warsztatów m.in. „nauczyliśmy” język Groovy rozumienia komendy: move forward and then turn left, co było naprawdę efektowne. Odczucia końcowe również bardzo podobne do tych ostatnich – gdy tylko będę miał okazję, pójdę na warsztaty Venkata ponownie. Ocena końcowa jak wyżej.

Po przerwie obiadowej nadszedł czas na sesję „warsztatów miękkich”. Poszedłem do Jacka Laskowskiego na sesję pt. Twój rozwój techniczny z StackOverflow, GitHub, Twitter, Gist, slideshare, Octopress, YouTube, Vimeo, Parleys, LinkedIn, Heroku, Quora, MEAP, et al, czyli rzecz o tym jak dobrze lansować się w sieci :) Jacek nie zawiódł moich oczekiwań – jak zwykle żywiołowo, przeprowadził nas przez szereg narzędzi i portali, które warto używać, żeby zostać dostrzeżonym w sieci w pozytywny sposób. Niestety słowotok Jacka jest nieokiełznany i półtorej godziny to za mało, żeby zdążył wszystko przedstawić :) Główny wniosek wyciągnięty z warsztatów Jacka: nie bać się zadawać pytań w sieci – to, że się czegoś nie wie i się o to pyta, oznacza tylko tyle, że cały czas dąży się do doskonalenia swojej wiedzy. Muszę również przyznać się do tego, że dopiero po wystąpieniu JLo założyłem konto na StackOverflow. Z drugiej strony jednak mogę się pochwalić, że konto na Twitterze mam od października 2007 roku. Kto z Was może pochwalić się tak długim stażem w tym serwisie? :) Końcowa ocena: 5

Po krótkiej przerwie nadszedł czas na ostatnią sesję warsztatów. Tym razem wybrałem się do Jarosława Pałki, który zaproponował warsztaty Practical Spring Data – an introduction for lazy people into JPA and NoSQL ‚the Spring Way’. Jarek postawił sobie za zadanie streścić 4 dniowy trening w 3 godziny. Zadanie ciężkie, ale udało mu się to całkiem dobrze. Jasno przedstawił w jaki sposób wykorzystać Spring Data z JPA, Neo4j, MongoDB i Redisem. Dzięki niemu dowiedziałem się na ten temat całkiem sporo, nie mając wcześniej do czynienia ze Spring Data. Mam tylko dwie drobne uwagi. Po pierwsze brakowało mi prezentacji rozwiązań zadań, które Jarek dawał do wykonania samodzielnie. Druga, mniej ważna sprawa jest taka, że Spring Data wygląda bardzo podobnie niezależnie od tego z jakim źródłem danych współpracuje, przez co część przykładów praktycznie powtarzała się. Można by na przyszłość zastanowić się nad redukcją takich powtórzeń. Końcowa ocena: 4+

Na koniec dnia Wojtek Erbetowski, główny organizator konferencji, podsumował całość i zaprosił na networking podczas afterparty (BTW IMHO: Zielona Gęś była trochę zbyt głośna na pogaduchy).

Wydarzenia takie jak Warsjawa są nie tylko świetną okazją, żeby doskonalić swój warsztat programistyczny. Są również dobrym momentem, żeby spotykać ludzi, których zna się głownie z sieci, a także poznawać osoby o wielkim zapale i pasji, dla których programowanie to nie tylko praca. Pozdrowienia w tym miejscu dla Krzysztofa, JarkaTomka. Mam nadzieję na kolejne owocne konwersacje w przyszłości. Do szybkiego zobaczenia!

Jeszcze jedna drobna kwestia na koniec. Dotarły do mnie różne negatywne głosy na temat samej organizacji od strony technicznej… że zupa była za słona, czy coś :) Ja osobiście nie rozumiem skąd takie głosy. Sieć przewodowa i sieci bezprzewodowe działały bez zarzutów, a to nie lada wyzwanie przy takiej liczbie uczestników i tym, że w obecnych czasach do obsłużenia są nie tylko laptopy, ale również smartfony, tablety i czego tam jeszcze ludzie nie wymyślą. Gniazdek sieciowych też była chyba odpowiednia ilość, jeśli się dobrze rozsiadło. Problemy techniczne z projektorami są trudne do przewidzenia, bo może zawieść wiele rzeczy – sam rzutnik, laptop, kabel, przejściówka… kombinacji jest tyle, że ciężko wszystko przewidzieć. Z jedzeniem też nie było problemów. Mimo, że obiady nie były zapewnione przez organizatorów, to zadbali oni o „jedzenia na kółkach” w trakcie przerw. Stoisk było kilka, więc każdy mógł zjeść to co najbardziej lubi. Oczywiście, jak ktoś chce, to zawsze się do czegoś przyczepi. Niektórym ludziom po prostu ciężko jest wyobrazić sobie ogrom pracy włożony przez organizatorów, wolontariusz i prelegentów w zorganizowanie tak dużego wydarzenia. Z mojej strony nie mam żadnych uwag i gratuluję organizacji! Mam nadzieję, że spotkamy się ponownie w przyszłym roku :)