środa, 30 października 2013

Remote Scalania 7 in Javart

Właśnie się zakończyła pierwsza Remote Scalania 7 in Javart. Scalania, to projekt Jacka Laskowskiego, który polega na cyklicznych spotkaniach ludzi, chcących się wspólnie uczyć Scali. Spotkanie to było wyjątkowe, ze względu na to, że było ono pierwsze, w którym można było uczestniczyć zdalnie. Tak więc nie wychodząc z domu, mogłem się „spotkać” z innymi fanami Scali, wspólnie porozwiązywać zadania, poszerzyć swoją wiedzę i się z nimi scalić.

Generalnie w warsztacie uczestniczyły w sumie 4 osoby zdalne i ileś tam na miejscu, w siedzibie firmy Javart. Jako platformy do takiej konferencji skorzystaliśmy z Google Hangouts. Dodatkowo Jacek zrobił live stream’ing na YouTube’a, czego efektem jest filmik z pierwszej godziny spotkania: Scalania 7 in Javart. Jeśli ktoś się jeszcze waha, czy przystąpić do tej inicjatywy, to mam nadzieję, że ten filmik trochę pomoże i zachęci. Nie widziałem całego nagrania, ale generalnie ta forma Multi Video konferencji zdała egzamin.

Sam miałem wcześniej pewne obawy, czy poradzę sobie z tym kursem, czy wystarczająco znam Scalę, czy powinienem się angażować. Ale przecież w końcu zaliczyłem pierwszy kurs Martina Oderskiego: Functional Programming Principles in Scala, a i teraz szykuje się kolejny: Principles of Reactive Programming. A wiedzę należy odświeżyć. Troszkę przysiadłem wcześniej do rozwiązywanych poprzednio zadań w niedzielę, poniedziałek i wtorek, co okazało się w zupełności wystarczające.

Myślałem również, że na liście, którą rozwiązujemy, są na początku banalne zadania, a później już tylko trudniejsze. Na szczęście nie jest tak, tzn. są najpierw łatwe (z jedną gwiazdką), ale są one przeplatane trudniejszymi (dwie gwiazdki). Tych bardzo trudnych jest już zaledwie kilka. Taki rozrzut pomaga bez przeszkód na dołączenie do inicjatywy nawet od któregoś z kolei spotkania – w moim przypadku od 7mego.

Co do samego przebiegu spotkania, to uważam, że Jacek się bardzo fajnie sprawdza w roli moderatora całego zamieszania, gdzie trzeba rozmawiać z tymi, co siedzą na sali, ze zdalnymi, pokazywać obydwu grupom (miejscowym i zdalnym) kod, omawiać go a i czasem pisać. Pomimo inputu z różnych stron, Jacek był w stanie świetnie ogarnąć całość.

Podczas warsztatu miałem okazję pochwalenia się swoim rozwiązaniem (nie raz) i od razu zebrałem sporo krytycznych uwag. Ale dzięki temu, bardzo szybko się sporo nauczyłem. Pomogło mi również patrzenie na rozwiązania innych uczestników. Jak się widzi inne, dobre rozwiązanie, to się myśli: kurde, przecież to takie łatwe. Zauważyłem wcześniej u siebie (podczas rozwiązywania wcześniejszych zadań), że nauczyłem się jak działa młotek (w tym przypadku funkcje rekurencyjne z akumulatorem) i już niemal każde zdania traktowałem jak gwóźdź (czyli próbowałem każdy problem rozwiązać w ten sposób). Zobaczenie innego rozwiązania (jednolinijkowego), spowodowało u mnie odrzucenie zaślepek z oczu i późniejsze zadania próbowałem rozwiązywać już tylko w ten sposób.

Swoimi rozwiązaniami dzieliliśmy się za pomocą Gitsów. Na szczęście w IntelliJ Idei jest szybka możliwość publikacji takiego Gitsa. Dowiedziałem się też również, dzięki temu spotkaniu, że można swojego Gitsa edytować. Jest to sposób wystarczający do szybkiego podglądu rozwiązań, ale przydało by się je zbierać i wysyłać jako PR do repozytorium Jacka, aby zawsze można było sobie je później przejrzeć. Nie rozwiązaliśmy jednak problemu jak by dokładniej miało to działać.

Generalnie jeszcze na spotkaniach lokalni uczestnicy pracują w parach, ale zdalni pracowali osobno. Po prostu nie mieliśmy na szybko jakiegoś rozwiązania, jak taka pracę zorganizować. Kojarzę, ze kiedyś była możliwość takiej pracy w NetBeansie, ale na szybko nic sensownego nie znalazłem do Idei. Ewentualnie można skorzystać z TeamViewer’a, lub podobnego rozwiązania, ale to będzie dodatkowe obciążenie dla komputerów i mogą one nie dać rady. Jak dla mnie można próbować szukać jakiś możliwości zdalnego paring’u, ale nie jest to konieczne na przyszłych spotkaniach.

No i chyba na przyszłość przydało by się trochę więcej testów przygotować do każdego zadania, z warunkami brzegowymi i z niepoprawnymi danymi itp., choć obsługa tych sytuacji wyjątkowych mogła by sprawić, że 10 min na rozwiązanie problemu to za mało. Po za tym, co do ram czasowych spotkania, nie ma się do czego przyczepić. Jak dla mnie jest to idealnie zaplanowane i wykonane.

Podsumowując, dziękuję Jackowi za zorganizowanie Scalani w ten sposób, mam w zamiarze uczestnictwo w kolejnych spotkaniach. Jest jeszcze parę detali możliwych do dopracowania, ale i tak bez tego jest już super. Trzeba tylko pamiętać, aby zawczasu ściągnąć nowe testy, odpalić kompilator, aby reszta szła już sprawniej. Zachęcam również czytelników do aktywnego udziału w tej inicjatywie.

Brak komentarzy:

Prześlij komentarz