Wróciłem do domu cały rozgrzany, aby rozmyślać o kolejnych odsłonach Scalania = spotkań z językiem Scala.
To już drugie spotkanie pod szyldem scalania i przy 60 osobach zarejestrowanych daje poczucie sensowności kontynuacji pomysłu, aby praktycznie, przez przykłady, poznawać Scalę. Idzie całkiem przyjemnie, ale wciąż nie jestem zachwycony z niewielkiego odzewu ze strony uczestników. Na szczęście dzisiaj udało mi się zamienić słowo z kilkoma i wiem, jak i dlaczego należałoby poprowadzić kolejne odsłony.
Dziękuję wszystkim uczestnikom, a w szczególności +Paweł Cesar Sanjuan Szklarz i +Grzegorz Kubiak za wprowadzenie w tajniki Scali na początku spotkania oraz firmie Javart za wsparcie sponsorskie. Sponsor sprawił, że poza wiedzą merytoryczną, mogliśmy zapomnieć (choćby na chwilę) o głodzie i pragnieniu. Dziękuję!
Nowością dzisiejszego spotkania było "odpalenie" (wcześniej planowanych na 10 minut) 15-minutowych wprowadzeń w konstrukcje języka Scala, które mogą być nieocenione przy rozwiązywaniu zadań. Z dyskusji po spotkaniu wnioskuję, że to należy utrzymać.
Co uzmysłowiono mi po spotkaniu to powód, który może być główną przyczyną, że na Scalaniach mamy taką obsadę. W końcu zadania można rozwiązywać samodzielnie w domu, na plaży, gdziekolwiek, więc po co ten trud związany z przyjściem na spotkanie?! Trudno uzasadnić to bez czegoś szczególnego. I tym szczególnym czymś okazuje się być...możliwość porównywania rozwiązań wspólnie i omawianie technik programistycznych. Dyskusja o nich wydaje się być niemożliwa do odtworzenia w samotności. To należy utrzymać.
Pomysłem na kolejną odsłonę jest wybór 3 osób z zarejestrowanych, które przygotują się do poprowadzenia wstępu niezbędny do rozwiązania kolejnych zadanek.
Padł również pomysł, aby pogrupować uczestników w 3-4 osobowe grupy, wśród których byłaby 1-2 osoby znające Scalę. W taki sposób możnaby pozwolić osobom dyskutować o rozwiązaniach w mniejszych grupach, aby później wyeksponować je dla wszystkich. Nie wiem, czy należałoby to wdrożyć już na kolejnym, trzecim spotkaniu, ale z pewnością należy to rozważyć.
Istotną zmianą w stosunku do dzisiejszego spotkania musi być utrzymanie tempa rozwiązywania zadań, tak aby już wykonane nie były rozwiązywane ponownie (co przytrafiło nam się dzisiaj). Jeszcze nie potrafię wyobrazić sobie, co zrobić z nowymi osobami do języka oraz scalania w ogólności, ale wstępnie zaproponowano stworzenie podsumowań spotkań poprzednich w postaci ściąg z konstrukcjami języka Scala, które oczekuje się od uczestników kolejnych spotkań. Z dzisiejszego dnia należy zapamiętać czym jest dopasowanie wzorców (ang. pattern matching), def do definiowania metod i kilka metod scala.collection.immutable.List.
Udoskonaleniem należałoby uważać tworzenie agendy spotkania, które powinno usprawnić komunikację między organizatorami a uczestnikami.
I ten dostęp do Internetu. Mam wrażenie, że na MIMUWie powinno być detalem, który łatwo da się obsłużyć, jeśli zająć się tym z wyprzedzeniem. Trzeba o tym koniecznie pamiętać przygotowując kolejne scalania.
Co jeszcze? Podziel się swoimi pomysłami w komentarzach poniżej, albo na forum Warszawa JUG.
Zachęcam również do nadsyłania propozycji zadań w postaci pull requestów (PR) w projekcie scalania na GitHubie. Zgłoszono mi kilka błędów w sygnaturach metod, więc liczę na kilka PRów niebawem. Wciąż ich za mało. Nie każ mi długo czekać. Proszę.
Trzecia odsłona scalania już niebawem. Bacznie obserwuj platformę spotkań grupy Warszawa JUG.
Zdjęcia ze spotkania znajdują się w moim albumie Scalania 2 na G+.
p.s. Firmy zatrudniające w Warszawie programistów scalowych: Javart, Citi, Coeditor, AdPilot i NetSprint. Jest w czym wybierać i wierzę, że wybierzesz właściwie :-)
28 sierpnia 2013
22 sierpnia 2013
Poszukiwany Credit Front Office Framework Developer w warszawskim zespole w Citi
Jak już zapewne czytałeś/-aś, od 1 lipca jestem pracownikiem Citi w Warszawie na pozycji lidera zespołu ds rozwoju aplikacji.
Tytuł szumny, a na chwilę obecną sprowadza się do budowania zespołu - rozmowy kwalifikacyjne, monitorowanie procesu rekrutacyjnego od strony systemów HR oraz kontaktu z przyszłym pracownikiem i inne równie nietechniczne sprawy. Ktoś mógłby mniemać, że nuda, ale mimo, że nietechnicznie, jestem zachwycony móc to robić. Zawsze to coś innego, a wcale nie mniej zachwycającego.
Jednak sprawy techniczne czekają na mnie i do zespołu będzie rekrutowana osoba na stanowisko "chief of stuff", co zniesie ze mnie obsługę spraw mniej technicznych w zespole. Czujesz się na siłach, aby podjąć się trudów organizacji pracy zespołu? Skontaktuj się ze mną. Namiary na oficjalną ofertę pracy w Citi niebawem.
Ale co skłoniło mnie do opublikowania tego wpisu, to inne wakaty, które wciąż czekają na obsadzenie w moim zespole - Credit Front Office Framework Developer.
Stanowisko wymaga niebagatelnych umiejętności, wśród których znaleźć można znajomość algorytmiki, rozległa znajomość programowania w Javie oraz Scala, Clojure i Hadoop. Do tego dobra znajomość angielskiego w mowie i częste zwycięstwa w walce ze spiętrzeniami w projekcie. Oczywiście nie wszystko jednocześnie, a jedynie czym więcej, tym lepiej. Umiejętność logicznego rozkładania problemu i oprogramowania go w wybranym języku jest najbardziej pożądaną cechą. Więcej w oficjalnej ofercie pracy na to stanowisko (gdyby link nie prowadził do oferty, wystarczy wyszukać frazy "java scala" w obszarze EMEA/Polska/Mazowieckie/Warszawa). W razie pytań, proszę o kontakt ze mną - chętnie odpowiem na wszelkie pytania.
Do zespołu poszukiwani są mniej zaawansowani programiści (juniorzy) jak i wymiatacze. Na dzień dzisiejszy mamy w zespole 11 nietuzinkowych osób (pozdrowienia dla +Grzegorz Balcerek, +Paweł Cesar Sanjuan Szklarz, +Marcin Pieciukiewicz, +Artur Stanek), a potrzebujemy jeszcze raz tyle (!) Roboty jest cała masa różnej maści - od babrania się w błotku po bezkresy refaktorowania w Javie i Clojure oraz pomału i w Scali. Pomożesz? Koniecznie o tym porozmawiajmy!
W takim zespole mógłbym nawet robić za sprzątaczkę. Bezpośredni dostęp do (wiedzy) członków tego zespołu uważam za największy zysk mojego przejścia do Citi. A nadchodzą kolejni i to równie wyczesani!
Tytuł szumny, a na chwilę obecną sprowadza się do budowania zespołu - rozmowy kwalifikacyjne, monitorowanie procesu rekrutacyjnego od strony systemów HR oraz kontaktu z przyszłym pracownikiem i inne równie nietechniczne sprawy. Ktoś mógłby mniemać, że nuda, ale mimo, że nietechnicznie, jestem zachwycony móc to robić. Zawsze to coś innego, a wcale nie mniej zachwycającego.
Jednak sprawy techniczne czekają na mnie i do zespołu będzie rekrutowana osoba na stanowisko "chief of stuff", co zniesie ze mnie obsługę spraw mniej technicznych w zespole. Czujesz się na siłach, aby podjąć się trudów organizacji pracy zespołu? Skontaktuj się ze mną. Namiary na oficjalną ofertę pracy w Citi niebawem.
Ale co skłoniło mnie do opublikowania tego wpisu, to inne wakaty, które wciąż czekają na obsadzenie w moim zespole - Credit Front Office Framework Developer.
Stanowisko wymaga niebagatelnych umiejętności, wśród których znaleźć można znajomość algorytmiki, rozległa znajomość programowania w Javie oraz Scala, Clojure i Hadoop. Do tego dobra znajomość angielskiego w mowie i częste zwycięstwa w walce ze spiętrzeniami w projekcie. Oczywiście nie wszystko jednocześnie, a jedynie czym więcej, tym lepiej. Umiejętność logicznego rozkładania problemu i oprogramowania go w wybranym języku jest najbardziej pożądaną cechą. Więcej w oficjalnej ofercie pracy na to stanowisko (gdyby link nie prowadził do oferty, wystarczy wyszukać frazy "java scala" w obszarze EMEA/Polska/Mazowieckie/Warszawa). W razie pytań, proszę o kontakt ze mną - chętnie odpowiem na wszelkie pytania.
Do zespołu poszukiwani są mniej zaawansowani programiści (juniorzy) jak i wymiatacze. Na dzień dzisiejszy mamy w zespole 11 nietuzinkowych osób (pozdrowienia dla +Grzegorz Balcerek, +Paweł Cesar Sanjuan Szklarz, +Marcin Pieciukiewicz, +Artur Stanek), a potrzebujemy jeszcze raz tyle (!) Roboty jest cała masa różnej maści - od babrania się w błotku po bezkresy refaktorowania w Javie i Clojure oraz pomału i w Scali. Pomożesz? Koniecznie o tym porozmawiajmy!
W takim zespole mógłbym nawet robić za sprzątaczkę. Bezpośredni dostęp do (wiedzy) członków tego zespołu uważam za największy zysk mojego przejścia do Citi. A nadchodzą kolejni i to równie wyczesani!
21 sierpnia 2013
Scalania #2 - spotkania z językiem Scala w najbliższą środę, 28 sierpnia
Zapraszam na drugie spotkanie z językiem Scala - Scalania - w najbliższą środę, 28 sierpnia. Więcej informacji logistycznych na stronie spotkania http://scalania.pl.
Największą zmianą w stosunku do poprzedniej, inauguracyjnej edycji będzie 30-minutowe wprowadzenie uczestników w konstrukcje języka Scala, które będą przydatne do rozwiązywania zadań. Dodatkowo motywem przewodnim będzie praca z projektami z GitHuba, co powinno dodatkowo zachęcić uczestników do jego aktywnego użycia na potrzeby własnego samorozwoju.
Będąc pod ogromnym wrażeniem zawartości książki Functional Programming in Scala będzie wiele zadań z rozdziału o monoidach (10. Monoids) i opóźniania wykonywania (5. Strictness and laziness).
Zapraszam!
Największą zmianą w stosunku do poprzedniej, inauguracyjnej edycji będzie 30-minutowe wprowadzenie uczestników w konstrukcje języka Scala, które będą przydatne do rozwiązywania zadań. Dodatkowo motywem przewodnim będzie praca z projektami z GitHuba, co powinno dodatkowo zachęcić uczestników do jego aktywnego użycia na potrzeby własnego samorozwoju.
Będąc pod ogromnym wrażeniem zawartości książki Functional Programming in Scala będzie wiele zadań z rozdziału o monoidach (10. Monoids) i opóźniania wykonywania (5. Strictness and laziness).
Zapraszam!
08 sierpnia 2013
Metoda a funkcja oraz stan w obiekcie i funkcji w Scali
Trudno byłoby oczekiwać, że poniedziałek, świeżo po wakacjach, mógłby należeć do najmilszych dni, bo w końcu to koniec letniej laby i to nie byle jakiej. Jeszcze posiedziałbym w Niechorzu. Chociaż tydzień dłużej.Z pewną obawą wracałem do pracy, ale już w biurze czekał na mnie +Grzegorz Balcerek oraz Marcin Jaskólski. Po lekturze kolejnego rozdziału Scala in Action natchnęło mnie na dyskusję o różnicy między metodami a funkcjami w Scali. Ciekawym, ilu z Was zauważa różnicę.
Niech ja zacznę z przedstawieniem swojego zrozumienia.
Metoda jest wyłącznie składową instancji typu (świadomie nie piszę obiektu, aby nie mylić ze scalowym object), podczas gdy funkcja jest bytem niezależnym, żyjącym samodzielnie. Scala oferuje możliwość przekształcenia metody w funkcję za pomocą podkreślnika (dla każdego brakującego parametru).
scala> class A { def f(n: Int) = 5 }
defined class A
scala> new A().f _
res0: Int => Int = <function1>Od tej pory res0 staje się funkcją jednego parametru typu Int, która zwraca wartość typu Int. Jak widać, funkcja jest więc wartością pewnego typu. Metoda takiej cechy nie posiada.W Scali sprawa się trochę komplikuje ponieważ każda funkcja jest reprezentowana przez obiekt typu FunctionX, gdzie X oznacza liczbę akceptowanych parametrów wejściowych. Stąd też możnaby powiedzieć, że nawet dla bytów określanych mianem funkcji w Scali istnieje instancja typu scala.FunctionX, co przeczy, że funkcja jest bytem samodzielnym. Czy, aby na pewno?
A co Ty o tym sądzisz? Chętnie wysłucham Twojej wersji, która wyprowadzi mnie z błędu lub uzupełni braki, gdzie potrzeba. Z góry dziękuję.
Nie długo trwało, aby w biurze pojawił się +Paweł Cesar Sanjuan Szklarz! Czyż można byłoby wyobrazić sobie lepsze rozpoczęcie dnia?! Na pewno nie!
Zaintrygowany Paweł poruszył inny temat odnośnie porównania istoty funkcji i obiektu. Dla mnie oba domykają pewien stan i wykonanie obu jest wręcz identyczne. Paweł obiecał pogłówkować nad tym jeszcze, bo nie mógł się zgodzić z tym, że musi się ze mną zgodzić :-) Czekam z niecierpliwością.
Cudnie móc tak rozpocząć pracę po wspaniałym urlopie. Każdemu życzę tak mocnego zespołu merytorycznie, z którym można poruszyć niejeden nietrywialny temat. Bezcenne.
p.s. Są jeszcze wakaty w moim zespole w Citi. Zainteresowanych zapraszam do kontaktu na priv, aby uruchomić proces rekrutacyjny.
06 sierpnia 2013
Ach, cóż to były za wakacje! Niechorze rządzi
Ach, cóż to były za wspaniałe wakacje!
Gdyby ktoś mi powiedział jeszcze kilka tygodni temu, że nad naszym polskim morzem (w Niechorzu i okolicy) może być taka pogoda, fale i ogólnie atmosfera, nie dałbym temu wiary.
Zaplanowaliśmy nasz rodzinny wyjazd na wczesny, sobotni ranek, o 4:00 w sobotę, 20 lipca. Trasa do Niechorza trwała ponad 12 godzin (!), więc kiedy dotarliśmy na miejsce, pozostał nam już tylko krótki spacer po plaży i wio do spania z Maksymkiem.
Kolejne dni już dane nam było spędzić według schematu: pobudka chwilę przed 8, śniadanie do 9, spacer do Boryska do 10 i smażing do 12, aby zdrzemnąć się z Maksymkiem do 15, obiad od 16 do 17 i spacerowanie po okolicy do 20, kąpiel Maksymka i ziuziu spać. Całkiem pozytywnie wpłynęło to na naszą kondycję. Każdemu przydała się spora porcja spania!
Starszaki - Iwetka i Patryk - "broili" do późnego wieczora, więc trudno było znaleźć kogoś niezadowolonego.
Chyba, że wspominamy drugi tydzień, kiedy to pogoda podupadła i zaczęło padać. Tutaj należało już wykazać się inicjatywą, co zrobić z czasem między śniadaniem a południem i później po południowym spaniu Maksymka do wieczora. Mimo przelotnych deszczy, pogoda pozwalała na krótkie wypady nad morze i przez to było cudownie.
Siedzieliśmy nad morzem prawie pełne dwa tygodnie, a wciąż nie mieliśmy dosyć (Agata i Ja z Maksymkiem, bo Iwetka z Patrykiem nawiali do Warszawy na swoje koncerty).
Kąpiel w morzu była (prawie) codziennie. Fale były również. Maksym z Boryskiem bawili się w piachu całym sobą. Słońca ponad miarę. Ryba smaczna (w Kergulenie i u Cywila). Jedzenie w Jantar-Spa na medal. Słowem - żyć, nie umierać.
Akurat ten dwutygodniowy wypoczynek zbiegł się z moim przejściem do nowej pracy w Citi, więc kolejna zmiana - wyjazd poza Warszawę na dłużej - tylko mnie podkręciły. Czuję się wypoczęty i gotowy do kolejnych wyzwań! Kto chętny sprawdzić?! :-)
A skoro o wyzwaniach to zapraszam do udziału w kolejnym przedsięwzięciu - projekcie scalania, którego celem jest spopularyzowanie języka Scala i podreperowanie wiedzy z zakresu algorytmiki (bo mi się kandydaci do pracy wykruszają i nie ma kogo rekrutować). Już zakasałem rękawy i uwijam się, aby zdążyć przez warsjawą, bo chodzi mi po głowie poprowadzenie scalowego warsztatu! Kto wyraziłby zainteresowanie udziałem?
Gdyby ktoś mi powiedział jeszcze kilka tygodni temu, że nad naszym polskim morzem (w Niechorzu i okolicy) może być taka pogoda, fale i ogólnie atmosfera, nie dałbym temu wiary.
Zaplanowaliśmy nasz rodzinny wyjazd na wczesny, sobotni ranek, o 4:00 w sobotę, 20 lipca. Trasa do Niechorza trwała ponad 12 godzin (!), więc kiedy dotarliśmy na miejsce, pozostał nam już tylko krótki spacer po plaży i wio do spania z Maksymkiem.
Kolejne dni już dane nam było spędzić według schematu: pobudka chwilę przed 8, śniadanie do 9, spacer do Boryska do 10 i smażing do 12, aby zdrzemnąć się z Maksymkiem do 15, obiad od 16 do 17 i spacerowanie po okolicy do 20, kąpiel Maksymka i ziuziu spać. Całkiem pozytywnie wpłynęło to na naszą kondycję. Każdemu przydała się spora porcja spania!
Starszaki - Iwetka i Patryk - "broili" do późnego wieczora, więc trudno było znaleźć kogoś niezadowolonego.
Chyba, że wspominamy drugi tydzień, kiedy to pogoda podupadła i zaczęło padać. Tutaj należało już wykazać się inicjatywą, co zrobić z czasem między śniadaniem a południem i później po południowym spaniu Maksymka do wieczora. Mimo przelotnych deszczy, pogoda pozwalała na krótkie wypady nad morze i przez to było cudownie.
Siedzieliśmy nad morzem prawie pełne dwa tygodnie, a wciąż nie mieliśmy dosyć (Agata i Ja z Maksymkiem, bo Iwetka z Patrykiem nawiali do Warszawy na swoje koncerty).
Kąpiel w morzu była (prawie) codziennie. Fale były również. Maksym z Boryskiem bawili się w piachu całym sobą. Słońca ponad miarę. Ryba smaczna (w Kergulenie i u Cywila). Jedzenie w Jantar-Spa na medal. Słowem - żyć, nie umierać.
Akurat ten dwutygodniowy wypoczynek zbiegł się z moim przejściem do nowej pracy w Citi, więc kolejna zmiana - wyjazd poza Warszawę na dłużej - tylko mnie podkręciły. Czuję się wypoczęty i gotowy do kolejnych wyzwań! Kto chętny sprawdzić?! :-)
A skoro o wyzwaniach to zapraszam do udziału w kolejnym przedsięwzięciu - projekcie scalania, którego celem jest spopularyzowanie języka Scala i podreperowanie wiedzy z zakresu algorytmiki (bo mi się kandydaci do pracy wykruszają i nie ma kogo rekrutować). Już zakasałem rękawy i uwijam się, aby zdążyć przez warsjawą, bo chodzi mi po głowie poprowadzenie scalowego warsztatu! Kto wyraziłby zainteresowanie udziałem?
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.
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.
08 lipca 2013
Scalania - spotkania z językiem Scala
Jutro, we wtorek, 9 lipca na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego (MIM UW) na Banacha 2 w Warszawie odbędzie się pierwsze spotkanie-warsztaty (aka kata) związane z językiem Scala - Scalania - w ramach cyklicznych spotkań warszawskiej grupy javowej (Warszawa JUG).
Po moim przejściu do Citi na stanowisko szefa zespołu programistów Scala/Clojure/Java (a może i F# niebawem) język Scala jest mi niezwykle bliski i będzie go coraz więcej wokół mnie. Stąd też pomysł, aby w miłym gronie podszkolić się z tego języka, bo podobnież najlepsza nauka możliwa jest przy dobrej zabawie w doborowym towarzystwie. W Citi, przy projektach komercyjnych, to jedno, a w ramach Warszawa JUG, to drugie. Nie mogłem odmówić sobie przyjemności skorzystać z obu miejsc. Wybaczcie zachłanność.
Patrząc na zestawienie uczestników pierwszego Scalania nie mam obaw, że dobre towarzystwo jest wliczone już w kontrakt! Na moment pisania tego wpisu swój udział zadeklarowały 43 osoby, co dwukrotnie przekroczyło moje początkowe oczekiwania (i trochę zbiło z tropu, bo pojawiły się niemałe obawy, czy da się mój pomysł zrealizować w takim tłumie).
Zaczynamy wyjątkowo o 17:30 z zestawem krótkich zadań programistycznych od Grzegorza Balcerka oraz S-99: Ninety-Nine Scala Problems. Grzegorz, z którym pracuję w Dream Teamie w Citi, zadeklarował swoją pomoc i pojawi się na spotkaniu! Nie tylko, że skorzystamy z jego zadań i jego obecności, ale wręczymy dwa egzemplarze jego książki "Język programowania Scala". Nie mam już obaw odnośnie obsady i zawartości merytorycznej.
Na spotkaniu pojawi się również Grzegorz Kubiak z Javartu, które postanowiło wejść aktywnie w organizację Scalania i ją uatrakcyjnić. Możemy liczyć na wsparcie merytoryczne Grzegorza oraz strawę! Z Javartem spotkanie będzie znacznie przyjemniejsze. Dzięki Grzesiek i nasz sponsor - Javart! Będzie doskonała okazja zamienić słowo z Grzegorzem o możliwym zaangażowaniu w projekty scalowe w Javarcie. Od dzisiaj, kiedykolwiek pomyślę o pracy ze Scalą w Warszawie na myśl przyjdą mi dwie firmy - Citi oraz Javart (kolejność nieprzypadkowa).
Więcej o samym spotkaniu na stronie Scalania.pl. Zapraszam!
Po moim przejściu do Citi na stanowisko szefa zespołu programistów Scala/Clojure/Java (a może i F# niebawem) język Scala jest mi niezwykle bliski i będzie go coraz więcej wokół mnie. Stąd też pomysł, aby w miłym gronie podszkolić się z tego języka, bo podobnież najlepsza nauka możliwa jest przy dobrej zabawie w doborowym towarzystwie. W Citi, przy projektach komercyjnych, to jedno, a w ramach Warszawa JUG, to drugie. Nie mogłem odmówić sobie przyjemności skorzystać z obu miejsc. Wybaczcie zachłanność.
Patrząc na zestawienie uczestników pierwszego Scalania nie mam obaw, że dobre towarzystwo jest wliczone już w kontrakt! Na moment pisania tego wpisu swój udział zadeklarowały 43 osoby, co dwukrotnie przekroczyło moje początkowe oczekiwania (i trochę zbiło z tropu, bo pojawiły się niemałe obawy, czy da się mój pomysł zrealizować w takim tłumie).
Zaczynamy wyjątkowo o 17:30 z zestawem krótkich zadań programistycznych od Grzegorza Balcerka oraz S-99: Ninety-Nine Scala Problems. Grzegorz, z którym pracuję w Dream Teamie w Citi, zadeklarował swoją pomoc i pojawi się na spotkaniu! Nie tylko, że skorzystamy z jego zadań i jego obecności, ale wręczymy dwa egzemplarze jego książki "Język programowania Scala". Nie mam już obaw odnośnie obsady i zawartości merytorycznej.
Na spotkaniu pojawi się również Grzegorz Kubiak z Javartu, które postanowiło wejść aktywnie w organizację Scalania i ją uatrakcyjnić. Możemy liczyć na wsparcie merytoryczne Grzegorza oraz strawę! Z Javartem spotkanie będzie znacznie przyjemniejsze. Dzięki Grzesiek i nasz sponsor - Javart! Będzie doskonała okazja zamienić słowo z Grzegorzem o możliwym zaangażowaniu w projekty scalowe w Javarcie. Od dzisiaj, kiedykolwiek pomyślę o pracy ze Scalą w Warszawie na myśl przyjdą mi dwie firmy - Citi oraz Javart (kolejność nieprzypadkowa).
Więcej o samym spotkaniu na stronie Scalania.pl. Zapraszam!
Subskrybuj:
Posty (Atom)









