10 lipca 2013

Scalowo na Scalania 1.0

Na pierwszej edycji Scalania pojawiło się ponad 40 osób! Jak pisałem na przeddzień spotkania było przez to różnorodnie pod względem wiedzy o języku Scala, co znalazło swój oddźwięk w komentarzach na Meetupie, szczególnie pod kątem osób nowych w temacie.


I faktycznie było kilka nowych osób, które nie zraziły się jednak tłumem i wyrażały swoje potrzeby w poznawaniu składni języka czy zestawienia środowiska pracy. Brawo za aktywny udział!

Co jest zaskakujące, to trafność zapisów - prawie 100%. Na 43 osoby, które zapisały się na Meetupie na dzień spotkania, przyszło 43! To odbiega od tradycyjnego stosunku deklaracji do faktycznego udziału. Kolejne brawa za rozsądek.

Rozpoczęliśmy o 17:30 od przywitania sponsora - firmy Javart - i przedstawienia jego profilu. Potrzeb kadrowych do projektów w języku Scala jest sporo, więc zainteresowani nimi proszeni są o natychmiastowy kontakt ze sponsorem.

Dzięki Javartowi mogliśmy liczyć na (obfity!) poczęstunek oraz dwie książki „Język programowania Scala” Grzegorza Balcerka + inne gadżety mniejszego kalibru merytorycznego. Brawa dla sponsora! Już się mówi o jego dalszych akcjach okołoscalowych w projektach oraz w ramach Warszawa JUG i Scalania.


Po 15 minutach byliśmy gotowi do pierwszego zadania. Na tapetę poszło P01 (*) Find the last element of a list. Krótka dyskusja o możliwych rozwiązaniach (tutaj należałoby wesprzeć się scaladoc, ale zabrakło tego w wymaganiach i wielu nie spełniała tego warunku), aby ostatecznie spróbować rozwiązać to wspólnie. Ponownie krótka wymiana wiedzy i nadjechał Subway.

Czas jedzenia upłynął na dyskusjach o możliwych rozwiązaniach i innych sprawach scalowych.

Od około 18:30 aż do 20:30, z niewielką przerwą na zestaw pizz, rozwiązywaliśmy zadania, aby dojść do P08 (**) Eliminate consecutive duplicates of list elements.

W międzyczasie posiłkowaliśmy się wiedzą naszych ekspertów w osobach +Grzegorz Balcerek oraz +Grzegorz Kubiak. Skorzystaliśmy z niej kilkakrotnie, za co obu panom baaaaardzo dziękuję.

Formuła spotkania, a właściwie rozwiązywania zadań, kręciła się wokół schematu - krótka dyskusja o potencjalnych taktykach na rozwiązanie zadania (tutaj ponownie namawiałbym na użycie scaladoc, ale wielu go po prostu nie miało), sama próba napisania rozwiązania zadania samodzielnie przez uczestników, aby po 5-10 minutach omówić rozwiązanie. Początkowo ja omawiałem rozwiązania z niewielką pomocą publiczności, aby przy końcowych zadaniach całkowicie zejść ze sceny i pozwolić innym na napisanie rozwiązania na moim laptopie (w SublimeText 2 ze względu na podświetlanie składni), uruchomienie w Scala REPL i próbowanie rozwiązań alternatywnych.


Pomysł angażowania publiczności do prezentowania własnego rozwiązania uważam za najbardziej wartościową rzecz całego spotkania. Nie sądziłem, że się uda. Udało się i powiem, że mimo wielu osób, spotkanie udało się utrzymać w pewnych ryzach merytoryczno-logistycznych (szczególnie pod kątem zabierania głosu przez uczestników). Pełna kultura. Brawo!

Dla mnie, Scalania 1.0 było bardzo wartościowym spotkaniem społecznościowo oraz merytorycznie. Uważam, że komentarze nie pozostawiają złudzeń, że należy Scalania kontynuować, a nawet podzielić na szkółkę (dla początkujących - bez odbycia kursu Functional Programming Principles in Scala na Coursera), akademię (dla bardziej zaawansowanych) oraz hack-a-thon, scalatron czy wspólne rozwiązywanie błędów w projektach scalowych, np. kalibru Akka czy Play Framework. Właśnie takiej wiedzy potrzebowałem (przed wakacjami), aby trafniej organizować kolejne edycje Scalania, których jedynym celem jest zwiększenie zainteresowania językiem Scala i dogłębne zrozumienia jego cech (nie mylić z trait). Myślę, że jesteśmy na dobrej drodze.

A jak Tobie się podobało? Komentarze mile widziane, bo bez pomocy będzie podobnie (bo w końcu, ile jedna osoba może mieć wiedzy, jak coś zrobić dobrze?!) Liczę na bogaty (merytorycznie) strumień komentarzy.

Dziękuję wszystkim za możliwość odpalenia inicjatywy Scalania. Do zobaczenia niebawem.