22 października 2014

Słowotok społecznościowy głównie na twitterze - za krótko jednak

0 komentarzy
Pamiętam bardzo dobrze czasy, kiedy mikroblogowanie nie było dla mnie wartościowym sposobem wymiany myśli. Ostatnio jednak jest zupełnie inaczej.

Zreflektowałem się, że kiedykolwiek chciałbym przekazać myśl, wybieram twittera. Jakkolwiek 144 znaki nie pozwala na "wyrzucenie" z siebie wszystkiego, to po kilku latach korzystania z tego medium, daję radę.

I to mnie właśnie przeraża w twitterze - jego prostota, która zawęziła moje pole literackiego działania do owych 144 znaków.


Po całym dniu "strzelania" 144 znakami na twitterze mam po prostu dosyć i wszystko zostało już w zasadzie powiedziane. Co mi tam zatem zabierać się za wpisy na blogu (szczególnie polskim niestety), kiedy, co chciałem powiedzieć, powiedziałem, a resztę przeczytałem na Quora lub StackOverflow.

W Quorę dopiero wchodzę i traktuję ją wciąż jako niewielką alternatywę do StackOverflow, na którym wyżywam się głównie na kanale sbt. I właśnie po takiej dziennej dawce wypowiedzi na SO, pisania mam już wystarczająco w zakresie ponad 144 znaków.

Do tego dochodzi jeszcze monitorowanie (w trybie do odczytu) LinkedIn, trochę commits na GitHub i idę spać z głową naładowaną pomysłami. A że obecny sponsor pozwala na szerokozakrojone wizje architektoniczne, to i czytania (dla wybrania właściwego rozwiązania) sporo.

Zatem jakbym był wszędzie, a nie ma mnie tutaj.

Możnaby zapytać, dlaczego mnie to martwi i dla zainteresowanych śpieszę z odpowiedzią - brakuje mi możliwości poruszania nowych technologii w dyskusjach w naszym, lokalnym, polskim środowisku informatycznym. Nie mówię, że nie ma spotkań/meetupów czy konferencji, ale wciąż brakuje mi miejsc, w których mógłbym poruszyć kwestie adekwatności stosowania nowych technologii, które mnie obecnie zajmują, do zadanych obszarów. Weźmy Spark, Storm, etcd, Docker, Ansible, ZooKeeper, Cassandra, bazy grafowe (z Titan), Mesos, Curator i kilka innych poza-stricte-scalowych tematów, które zajmują mnie ostatnimi czasy, bo jedynie czuję, że one mogą spełnić moje wymagania architektoniczne (oczywiście to jedynie już zawężona pula projektów, które rozważam po "ostrej" selekcji). Wciąż zdecydowanie za mało spotkań typu hackathon czy warsztatów, gdzie z innymi napaleńcami rozwikływałbym tajniki produktu i konsultowałbym pomysły.

Podczas rozpoznawania produktu, tworzę wiele notatek na boku, w Evernote, i tak sobie myślę, że warto byłoby je upublicznić pro publico bono i mojej. Mam jednak pewne obawy przed plagiatem, bo większość z materiału w moich notatkach, to kopie całych zdań, które są kwintesencją pełniejszego artykułu czy prezentacji. Chciałbym je jednak móc skonfrontować z wiedzą innych lokalesów.

Skoro zależy mi bardzo na ożywieniu polskiego środowiska informatycznego pod kątem zastosowania nowych technologii (niekoniecznie wyłącznie programistycznych ze Scalą w roli głównej) oraz wyrażaniu swoich myśli obszerniej (poza 144 znaki), to może właśnie należałoby skorzystać z tego miejsca - na polskojęzycznym blogu - i tutaj szukać merytorycznego wsparcia.

Pamiętam rozmowę z Bartkiem Zdanowskim, który (podczas naszej wspólnej wizyty na konferencji we Lwowie) wspominał z rozrzewnieniem o wygaszonej już inicjatywie Sebastiana Pietrowskiego, która polegała na publikowaniu wpisów z blogów z krótkimi opisami na własnym blogu, co pozwalało na zorientowanie się w pojawiających się co rusz nowych narzędziach. Nie zamierzam tego reaktywować, ale coś na ten kształt się właśnie w mojej głowie kluje.

Niech ten wpis będzie swoistym ożywieniem tego miejsca. Do usłyszenia niebawem!

A Ty gdzie zrzucasz stan swoich rejestrów mózgowych do publicznej konsumpcji? GitHub Pages może? Inne medium? Czy po prostu tak leciwie trochę w postaci notatek na boku na dysku lokalnym? Chciałbym móc znaleźć właściwe miejsce...

p.s. Jeśli chciałbyś dołączyć do mojego zespołu "poszukiwaczy właściwych rozwiązań", skontaktuj się ze mną na jacek@japila.pl. Pogadajmy!

06 października 2014

Oferty pracy dla programistów Scala i chroniczny brak obsady - mój pierwszy miesiąc poza korpo

0 komentarzy
Zdumiewające, jak ciężko jest znaleźć dobrych programistów, a jeszcze bardziej nakłonić ich do przyłączenia się do projektu (aka zmiany obecnego zatrudnienia).

Taką myśl opublikowałem na moim koncie na twitterze i prawie natychmiast padło pytanie o sprecyzowanie "dobrego programisty". Śpieszę wyjaśnić.

Jak to pewien Jacek powiedział: "Nie ważne co, ważne z kim" i to jakby definiuje w pewnym sensie owego dobrego programistę. Ma to być ktoś, z kim można spędzić czas na projekcie przyjemnie i go zakończyć (projekt) w terminie.

Owego dobrego programistę poznaje się po efektach jego decyzji - ma świadomość upływającego czasu i walki między doskonałym kiedyś a działającym w terminie. Jeśli uda się utrzymać doskonałe w terminie, tym lepiej dla zespołu. Najważniejsze jednak, aby potrafić dotrzymać terminu lub w terminie oznajmić jego niedotrzymanie. Ja wciąż walczę ze swymi żądzami poszukiwania świętego graala, kiedy obecne rozwiązanie jest w pełni wystarczające. Taką cechę nazywam terminowością.

Dobrym programista to również osoba, która ma świadomość bezkresu własnej niewiedzy. Doskonała znajomość języka Java u niego nie przekreśla zastosowania języka Scala (lub wyjątkowo egzotycznego Go, Elm czy Elixir). Jeśli narzędzie niespecjalnie pasuje, to się go po prostu nie stosuje i szuka właściw(sz)ego. Taką cechę nazwałbym świadomością technologiczną.

Akceptowanie wartości nieznanego jest podstawą egzystencji dobrego programisty. Ciągła otwartość na nowe rozwiązania i akceptowanie ich odmienności, która wymusza "zerowanie" dotychczasowego rejestru doświadczenia jest wliczona w kontrakt codzienności dobrego programisty. To nazwałbym otwartością umysłu.

Moim obecnym konikiem jest rozgrzewanie rynku polskiego na przyjęcie języka Scala jako wartościowego języka programowania dla wielu zastosowań, w których do niedawna widziałem miejsce wyłącznie dla Javy. Koniec z tym! Java jest dobra, ale nie bardziej niż Scala (dalekim od określenia Scali "lepszą Javą", ale nie ukrywam, że czasami ciśnie się na usta takie określenie). Najbardziej zależy mi na tej otwartości, która dopuściłaby młodszych stażem do zaawansowanego rynku programistów. Wielu ekspertów javowych, przy przejściu na nowy język Scala, jest naturalnie ponownie nowicjuszami. I to sobie cenię w nowych językach, które wymuszają takie "sprowadzenie na zero".

Od kiedy jestem poza korporacją, chętniej znajduję czas na rozmawę z osobami spoza mojego stałego kręgu znajomych. W zasadzie jestem zmuszony do takiego działania, aby dostać się do ciekawych projektów, których okazuje się, że jest cała masa wokół mnie.

Weźmy ostatnie moje dokonania na tym polu.

Jest pewna firma (której nazwy nie ujawnię jeszcze), która powierzyła mi zadanie stworzenia całej linii produkcyjnej dla produktów monitorujących. Do tego oczywiście potrzebni są ludzie, których nie ma i to również zlecono mi jako zadanie dodatkowe. Innymi słowy, jak nie znajdę, sam będę dłubał, a to mnie z pewnością zabije czasowo. Mam zlecenie na zatrudnienie 3 osób, które będą stanowiły przyczółek przyszłego zespołu deweloperskiego, które zestawią całą linię produkcyjną (począwszy od gałęzi w git +  jenkins + gerrit + co tam jeszcze potrzebne, aby proces spełniał oczekiwania osób, które w nim uczestniczą). Mają to być dobrzy programiści, którzy nie są zadufani w sobie, w ich znajomość technologiczną i "zajefajność", i którzy są otwarci na nowe, nieznane, a (co mi sprawia najwięcej problemów) radzą sobie z bezkresem wyboru technologicznego.

Pojawiły się w międzyczasie jeszcze firmy So1 (poszukiwane 3-4 osoby), AdPilot (2 osoby) oraz Datastax (1 osoba), które w sumie stanowią o nowych miejscach pracy dla ca 10 programistów scalowych w Warszawie (!) W niektórych przypadkach wybór języka jest drugorzędny i nie ma jakiegokolwiek znaczenia dla sponsorów. Chcesz F#? Masz go! Chcesz Scalę? Masz ją! Chcesz XYZ? Wybór należy do Ciebie.

Powstała również strona ScalaWAW, która wypisuje firmy z imienia i nazwiska, które oferują miejsca pracy dla programistów scalowych. Jak napisał @gkossakowski na swoim kanale na twitterze:


Liczba aktywności scalowych w Polsce przewyższa UK, Francję i Niemcy razem wzięte (!)

Okazuje się, że jest sporo miejsc pracy dla osób, które chcą wejść w Scalę. Problem jednak w tym, że spotykane przeze mnie osoby, deklarują jedynie chęć i brakuje w tym ostatecznej decyzji, która sprawiłaby, że dostaną to, czego chcą - pracy w roli programisty scalowego. Jakimś cudem nie dochodzi do scalenia.

Coś mi mówi, że się trochę technologicznie rozleniwiliśmy. Duże firmy i korporacje dodają do tego jeszcze złudne poczucie stabilności, a to właśnie tam znajduje się spora część "chętnej" kadry scalowej. Bywa.

Napisz do mnie na jacek@japila.pl, gdyby oferta zatrudnienia jako programista scalowy w Warszawie była w Twoim obszarze zainteresowań. W kilku miejscach mógłbym znacząco pomóc.

31 sierpnia 2014

Kamil z Warsjawy pisze, że "strasznie mało jest zgłoszonych warsztatów ze Scali"?!

0 komentarzy
Dostałem dwa dni temu maila od Kamila - organizatora Warsjawy, która na swojej stronie domowej przedstawia się tymi słowami:

"Conference for developers, by developers. Unique 100% workshop formula. “Learn by doing” approach. Proudly host workshops related to all aspects of software development: designing, developing, testing, maintaining etc. Initially oriented around Java and JVM programming languages. Now open to other programming languages like Scala, Groovy, Python, mobile development for Android, iOS and others."

Świadomie podkreśliłem Scala - język moich ostatnich trudów mentalno-projektowych, któremu poświęcam prawie całe 100% swojego czasu i żywo jestem zainteresowany, aby więcej działo się w Polsce w tym obszarze. Widać dużo trzeba jeszcze zrobić, bo Kamil napisał:

Cześć,

Przejrzeliśmy dzisiaj (kolejny raz) zgłoszenia z C4P i strasznie mało jest zgłoszonych warsztatów ze Scali, a temat wydaje się strasznie popularny od dłuższego czasu.

Macie może jakieś opinie z czego to wynika? Może potrzebujecie jakiejś pomocy lub dodatkowej osoby do rady programowej?

Jeśli macie jakichś niezagadanych prelegentów to odezwijcie się do nich, bo ścieżka scali wygląda dużo, dużo gorzej niż się spodziewaliśmy.

Pozdrawiam
Kamil

I tu pojawiła się moja odpowiedź, którą postanowiłem opublikować, aby sprowokować dyskusję w naszym światku o stanie akceptacji Scali. Chciałbym się w wielu miejscach mylić i proszę o komentarze, które sprowadzą mnie na poprawną ścieżkę myślenia o Scali w Polsce.

Cześć Kamil,

Mam wrażenie, że w Polsce temat Scali jest podzielony na dwie kategorie osób:

1. już czujących się pewnie
2. dopiero raczkujących (zwykle wyłącznie przyglądających się z nielicznymi wypadami na Coursera)

Nie siliłbym się na większe rozczłonkowanie społeczności scalowej w PL.

Obie grupy przenikają się i wyłącznie brak konfrontacji ich uczestników pozwala jednym sądzić, że należą do grupy innej niż faktycznie powinni przynależeć (w oby kierunkach).

Sam jestem osobą, która (wierzy, że) czuje się pewnie w Scali, ale daleko mi do mistrzostwa i powiedzmy, że panuję nad sytuacją, co dla wielu zaawansowanych jest wystarczające, aby przypisać mnie do grupy "dopiero raczkujących". To ma ten nieprzyjemny skutek, że Ci znacznie słabsi do tej grupy nie powinni już należeć. Chciałoby się wyznaczyć kolejną grupę/kategorię osób dla podobnych mi, ale uważam, że wtedy należałoby stworzyć znacznie więcej grup, które wyznaczone byłyby przez liczbę projektów - zamkniętych/w firmach czy open source (możnaby liczyć przez liczbę commit'ów lub aktywność na StackOverflow czy grupach dyskusyjnych). A to pewnie i tak nie dałoby satysfakcjonującego podziału i tylko zagmatwałoby temat jeszcze bardziej.

W naszej sytuacji, najbardziej interesującą grupą są "już czujący się pewnie". Z nimi jest zawsze kłopot - w dowolnym języku/technologi - są zarobieni, nie chce im się edukować innych, czy angażować się pozapracowe aktywności, albo po prostu nie odnaleźli w sobie wciąż umiejętności "sprzedawania" wiedzy w postaci wykładów (prostsze) czy warsztatów (trudniejsze merytorycznie i to przygotowanie materiały dla innych).

Młodość języka Scala w Polsce, wielka różnorodność języków, bibliotek, szkieletów aplikacyjnych, itp. i niewielka wciąż liczba aktywności wokół Scali, sprawiają, że efekt mamy w postaci niewielkiej liczby zgłoszeń na warsjawę. Poagituję. Stay tuned!

Jacek

Jak obiecałem, agituję. Kto zechciałby wesprzeć warsjawę?

Ja deklarowałem początkowo, że będę wyłącznie w radzie programowej dla Scali, ale już mi pisano, że taki luksus mi się już nie należy. Najwyższa pora zaradzić tej niskiej liczności zgłoszeń scalowych na warsjawie!

Ode mnie możecie liczyć na praktyczne wprowadzenie do Scali przez jej zastosowanie do budowania aplikacji webowych (Play Framework), dostępu do bazy danych (Anorm i Slick), oraz...potencjalnie...opanowania tematu współbieżności (Akka) czy mikroserwisów (Spray). Wszystko okraszone sbt. Chciałoby się więcej, ale byłoby za wiele i za pobieżnie (i pewnie za mało praktycznie), więc wstrzymam się ze swoimi chęciami. Zgłaszam tym samym zapotrzebowanie na skrojenie mojego pomysłu tematu warsztatu na Twoją modłę, jeśli zainteresowałby Cię temat, zechciałbyś poświęcić swój czas i wyjść z warsztatu zadowolony. Proszę o pomoc, abyśmy wspólnie spędzili kilka godzin fajnego scalowania.

Proszę również o komentarze w sprawie niskiej frekwencji zgłoszeń okołoscalowych. Pomóż mi to zmienić! Zgłoś temat - samodzielnie lub wspólnie. Daj znać, że się zastanawiasz, a ja pomogę w znalezieniu współprowadzącego lub w konstrukcji tematu. Proszę...

14 sierpnia 2014

Bye, bye, Citi...czas zmian nadszedł!

0 komentarzy
Wczorajszy dzień obfitował w całkowicie nieznane mi wcześniej doznania. Był niezwykły z kilku powodów i pozostanie takowym jeszcze na długo (nie te lata i nie te serce, aby próbować się mierzyć z takim nawałem wydarzeń ponownie :-))

Wczoraj świętowałem swoje 41 urodziny. Za wszystkie życzenia serdecznie dziękuję. Nie ukrywam, że byłem zdumiony liczbą osób oraz sposobami, w jakie życzenia do mnie docierały - bezpośrednio, smsy, na twitterze, mailami i na...Facebooku (wciąż jednak wzdrygam się na myśl, aby z niego częściej korzystać niż sporadycznie). Dziękuję! Miłe to jest, że ktoś pamięta.

Wczoraj również Citi i ja doszliśmy do wniosku o rozwiązaniu umowy o pracę, o czym naprędce napisałem na moim angielskojęzycznym blogu Bye, bye, Citi…on to seeking greener pastures elsewhere.


Dostałem kilka maili w sprawie mojego odejścia i tego, co chciałbym dalej robić i dociekliwość Mateusza (mail), a później na czacie z Markiem, sprowokowała mnie do spisania moich planów życiowych. Dziękuję panowie za inspirację!

Jeśli czytasz ten wpis - takie małe manifesto - i masz coś, co pasuje do opisanego poniżej profilu osobowego, koniecznie się ze mną skontaktuj. Wdzięczność gwarantowana. Na pewno zaangażowany członek zespołu?

Cześć Mateusz,

Dzięki za kontakt. Tak, to prawda, koniec z Citi, bo praca w korporacji, która ma niewiele wspólnego z tworzeniem oprogramowania zmęczyła mnie. Jak kiedyś się spotkamy, opowiem Ci dokładniej - pewnie nawet ochłonę i będzie przyjemniej. Nie mówię 'Nie' korporacjom, a tylko niektórym.

Poszukuję pracy przy budowaniu zespołów programistów. Poszukuję pracy przy budowaniu oprogramowania, który wymaga dużej interakcji z zespołami - programistów i biznesu. Ten styk jest niezwykle absorbujący i widzę tutaj swój potencjał. Budowanie kultury zespołu programistów to coś, co sprawdziłem w praktyce w ramach społeczności typu Warszawa JUG czy WarszawScaLa, a w Citi w korpo.

Uwielbiam dzielić się wiedzą i...co niestety często wiąże się z konfliktami...pouczać. Widzę u siebie potrzebę wyćwiczenia wsłuchiwania się w potrzeby innych - co mnie nakręca i interesuje, innym może wydawać się nudne i stratą czasu. Nic na siłę. Czasami potrzeba czasu. Tę potrzebę "wstrajania się w odbiorcę" chciałbym kontynuować i wyspecjalizować się w tym. Nota bene, stąd wynika również moja aktywność na StackOverflow, gdzie mogę testować różne podejścia na żywym organiźmie i to po angielsku, z różnymi kulturowo osobami.

Sprawdziłem w Citi podejście ciągłej interakcji z członkami zespołu lokalnie i zdalnie. Zarażono mnie potrzebą codziennych pięciominutówek na stojąco na rozpoczęcie dnia i później 15 minut telefonicznie z innymi lokalizacjami po angielsku - pracowałem w zespole składającym się z 4 osób w Nowym Jorku, 2 osób w Londynie i 4 osób lokalnie w biurze. Był czas na uwspólnienie wiedzy o zaawansowaniu prac i problemach, ale i samą pracę. To chciałbym utrzymać. To pachnie Scrumem, ale za słabym merytorycznie, aby się wypowiedzieć. To jeszcze przede mną.

Orzeźwiającym było móc pracować w środowisku finansowym, a wciąż technicznie. To połączenie światów mnie bardzo nakręcało. To chciałbym kontynuować.

Marzy mi się praca w roli technicznego adwokata, który rozpoznaje, prototypuje, promuje, zestawia środowisko, pisze testy, programuje, wdraża. Pełny cykl wytwarzania oprogramowania bez ograniczeń. Chciałbym sprawdzić możliwość w Polsce pracy na projektach, a nie w firmie. Dorosłem (i teraz dano mi okazję spróbować) do myślenia, że w branży informatycznej nasza praca powinna przypominać pracę muzyków bez wiodącej kapeli, tj. chcemy zrobić coś fajnego, z fajnymi ludźmi i jeszcze zrobić przy tym kaskę, zbierzmy ekipę i działajmy! Po zakończonym nagraniu płyty, rozchodzimy się. I tak samo z projektami - z projektu na projekt. Ja chcę mieć ciągłą niestałość miejsca, projektu, ludzi, aby wyzbyć się wszystkich przyległości związanych ze stabilnością, która szybko potrafi się u mnie przerodzić w rozleniwienie. Stąd też myślę o działalności gospodarczej i wejściu w układ z kilkoma software house'ami. Jak powiedział jeden z założycieli Javeo (dawniej Javartu) - Jacek Z. - "nie ważne co, ważne z kim." Pełna zgoda!

Zależy mi na szybkiej, a wciąż stosunkowo głębokiej nauce i możliwość uczestniczenia w różnych projektach z różnymi zespołami wydaje mi się właściwą drogą do celu. Ta różnorodność to urzeczywistnienie moich potrzeb! To chciałbym teraz właśnie wdrożyć w życie. Nie wiem, co mnie czeka, bo temat dla mnie całkowicie nowy, ale muszę to sprawdzić i teraz jest właściwa pora.

Bardzo polubiłem babranie się w błotku, co w Citi sprowadziło się w ostatnich tygodniach do migracji zlepku ant i maven/antrun do sbt. Nie chodziło o samo sbt, a o przejście do nowszego systemu budowania bez bagażu z 2006 r. Nikt nie chciał/miał czasu/zainteresowania się tym zająć - rozpoznać co jest i zaproponować nowe - a że było konieczne, aby opanować builda i proponować nowocześniejsze podejście w nowych projektach, więc się za to zabrałem. Oczywiście nabywałem wiedzę w trakcie roboty - tutaj bardzo pomogło mi podejście Grzegorza B. z zespołu: "poznaj wystarczająco wiele, aby dostarczyć produkt na czas" (co wcześniej sprowadzało się do dłubania w temacie jakbym pisał pracę doktorancką, aby później dopiero wykorzystaną wiedzę próbować zastosować w praktyce, często z mniej niż dopuszczalnymi rezultatami).

Doświadczenie z pracy z wieloma "popaprańcami technologicznymi" w Citi w zespole (pozdrowienia dla ZbyszkaTomka, Marcinów, Arków, Alka, Krzyśka, Mariusza, Kornela, Filipa, Artura, Wojtka), który współ-budowałem z Wojtkiem, a później z Ewą, uważam za bezcenne - doświadczyłem olśnienia, że dobre poznanie narzędzia jest cenne, ale poznanie na poziomie umożliwiającym właściwe zastosowanie go w zadaniu przy oczekiwanym czasie dostarczenia (lub znacząco poniżej jego progu) jest kluczowe w naszej branży i chcę się w takim podejściu specjalizować.

Wszedłem w międzyczasie  w układ ze startupem, który tworzy aplikację webową i tam wyżywam się ze Scala, Play, angularjs, bootstrap i kilka innych pomniejszych dodatków (rozważam użycie react zamiast angular!). Tu podejście skracania czasu dostarczania działających funkcjonalności jest bardzo wyraźne. Czas realizacji to koniec tego miesiąca (!) Ach, te terminy.

Pociąga mnie zdobycie umiejętności szybkiego dostarczania gotowego produktu na granicy prototypu. Duża dynamika i umiejętność szybkiego wskazywania właściwych bibliotek jest dla mnie kluczowa. Taka kombinacja R&D ze znaczną dawką szybkiego wdrażania na produkcję. Marzy mi się doświadczenie na własnej skórze ciągłego wdrażania produkcyjnego kilkakrotnie na dzień bez konieczności zatrzymywania produkcji. Infrastruktura-cudo. Zdobycie wiedzy praktycznej co i jak jeszcze przede mną.

Rozwiązania-marzenie, w których chciałbym się specjalizować:


Jacek

05 sierpnia 2014

Confitura 2014 i ocena mojego wystąpienia "#StackOverflow, #GitHub i #twitter jako narzędzia rozwoju zawodowego programisty"

0 komentarzy
Do mojej skrzynki dzisiaj wpadł milutki email od kolegi Kuby - organizatora konferencji Confitura 2014 - zatytułowany "[Confitura 2014] Ocena Twojej prezentacji".

Jest się czym chwalić, więc wklejam całego maila dla zwiększenia roli wyniku, bo być w Top 10 z takimi tuzami polskiej sceny informatycznej, to sama przyjemność.

Witaj

Zebraliśmy i podliczyliśmy wyniki ankiet na temat prezentacji z tegorocznej Confitury i jest nam niezmiernie miło poinformować, że Twój wykład znalazł się w Top 10 pod względem oceny uczestników! Gratulujemy! :)

Jednocześnie jeszcze raz dziękujemy za obecność i czas poświęcony na przygotowanie prezentacji - to właśnie dzięki ludziom takim jak Ty, Confitura rok po roku zbiera bardzo dobre recenzje.

Poniżej przesyłam zbiorcze podsumowanie najlepszych wykładów oraz załączam raport z danymi odnośnie rozkładu ocen, komentarzy i uwag do Twojego wystąpienia.

Top 10:
 1    4.57    Sławomir Sobótka - Nie koduj, pisz prozę - lingwistyczne techniki wychodzące daleko poza Clean Code
 2    4.52    Wojciech Seliga - Innowacja w praktyce - jako może powstawać software w XXI wieku
 3    4.51    Jakub Marchwicki - Programowanie JEE'ish bez stresu
 4    4.51    Tomasz Szymanski, Jarosław Kijanowski - Twórz i Rządź, czyli jak developer może pobawić się hardwarem - iBeacony, RaspberryPi, druk 3D itd.
 5    4.47    Milen Dyankov - Web application performance tuning beyond Xmx
 6    4.46    Jarosław Pałka - Wzorce organicznej architektury - pamiętnik szaleńca
 7    4.36    Jakub Kubrynski - Sztuka uczenia się na błędach innych
 8    4.30    Jacek Laskowski - #StackOverflow, #GitHub i #twitter jako narzędzia rozwoju zawodowego programisty
 9    4.27    Michał Piotrkowski - Object-Relational Mapping is the Vietnam of Computer Science
10    4.22    Łukasz Żuchowski - Jak być szczęśliwym Developerem?

Średnia ocena wszystkich prezentacji wyniosła 3,84 natomiast mediana 3,83

Pozdrawiam w imieniu Kapituły,
Kuba Kubryński

I przedstawienie wyniku graficznie.

Trochę niepokoją mnie oceny "Bardzo źle", "Źle" oraz "Neutralnie", co w sumie daje 12 osób, którym najwyraźniej zepsułem sobotnie popołudnie, ale przy 48 na TAK stanowi to marginalne 2% populacji i cóż, jak nie dadzą mi wysłuchać, co było nie tak, kolejnym razem będzie tak samo, a nawet, jeśli nie, to mają prawo pomyśleć, że tak i nasze drogi rozejdą się bezpowrotnie. Szkoda by było.

Jednak najchętniej wysłuchałbym uwag dotyczących mojego wystąpienia od obu stron. Miałem wprawdzie możliwość rozmowy z kilkoma osobami tuż po wystąpieniu (szczególne ukłony dla Wojtka, który śmiał odrzucić moje zaproszenie na LinkedIn :-)) oraz dostałem dwa maile (dzięki Weronika!), ale coś mi mówi, że mogę więcej. Nie daj się prosić i daj poznać swoje zdanie! Pisz na jacek@japila.pl.

Z OSTATNIEJ CHWILI...
Kuba odezwał się do mnie zaraz po opublikowaniu tego wpisu i zwrócił moją uwagę na drugą stronę dokumentu - podsumowania mojego wystąpienia, której istnienia nie odkryłem wcześniej. Jak dobrze mieć dobre duszyczki wokoło, bo "kontent" sprawia, żem kontent. Dzięki wielkie, Kuba!


29 lipca 2014

Programiści Scala, Play, Angularjs, HighCharts do projektu poszukiwani

0 komentarzy
Od ponad miesiąca wspieram moralnie (więcej) i merytorycznie (mniej) projekt moich znajomych, którzy po moich namowach weszli w Scalę z Play Framework i Angularjs z innymi dodatkami mniejszego znaczenia (i bez Akki). Projekt jest na prywatnym repo na GitHubie.

Mieliśmy już pewien epizod z firmą i jej juniorami, i nie wyszło. Trochę "popłynęliśmy" ze współpracą po obu stronach.

Product owner/znawca tematu, co należałoby zbudować od strony biznesowej, jest w Warszawie do bezpośredniego kontaktu o (prawie) każdej porze.

Wchodzi w rachubę współpraca z firmą programistyczną lub pojedynczymi programistami - amatorami i profesjonalistami. Umowa o dzieło lub b2b czy jeszcze inaczej na żądanie. Do ustalenia.

Praca zdalnie lub na miejscu w Warszawie.

Projekt zakłada zbudowanie portalu dostawcy, który śledząc poczynania użytkowników oferuje im jeszcze lepszą ofertę. Nic specjalnie odkrywczego - ot kolejny portal, coś ala CRUD, ale bez D. Wykresy również wchodzą w rachubę i rozważamy HighCharts (może d3.js, jeśli osoba znająca się na temacie powie, że tak ma być). Znaczenie dla nas ma zawartość,  która już mamy. Potrzebujemy jedynie (?) platformy, aby je tam włożyć. I to jest właśnie ta robota!

Nie musisz wymiatać we wspomnianych technologiach i cenimy sobie przede wszystkim zaangażowanie i pomysłowość. Miejsce dyskutantów już obsadzone. Poszukujemy mróweczek = faktycznie zaangażowanych w przekucie pomysłu w czyn.

Zainteresowany? Skontaktuj się ze mną na jacek@japila.pl. Do usłyszenia!

P.s. To pierwszy wpis z klienta blogger na smartfona, więc wyrozumiałość braku formatowania oczekiwana.

28 czerwca 2014

Relacja ze spotkania scalowego o sbt i activator na deskach Toruń JUG

0 komentarzy
Dziękuję grupie Toruń Java User Group (TJUG) za przygotowanie spotkania i stworzenia atmosfery niczym nieskrępowanego przepływu wiedzy między uczestnikami.


Szczególne podziękowania należą się:

  • Szymonowi Stępniakowi @wololock - założycielowi TJUGa i osobie, która ziściła moje marzenie uruchomienia JUGa w Toruniu, za zaproszenie na prezentację na deskach Torun JUG oraz możliwości reklamy projektu scalania i wirtualno-stacjonarnych spotkań WarszawScaLa.
  • Piotrowi Prądzyńskiemu @prondzyn, który był łaskaw podzielić się swoimi uwagami odnośnie podobnego wystąpienia podczas 33rd Degree, co miało niebagatelny wpływ na zawartość merytoryczną tego spotkania.
  • "wodzireja” spotkania Piotrowi Modzelewskiemu @pmodzelewski za przedstawienie mnie przed moim wystąpieniem w takim sposób, że nawet pozbywając się ostatnich skrawków skromności, nie byłbym w stanie zrobić tego lepiej, co początkowo onieśmieliło mnie, ale ostatecznie zdopingowało do udowodnienia, że się faktycznie nie myli.
  • prelegentowi Sebastianowi Łaskawcowi z PayU za wsparcie merytoryczne w postaci prezentacji poprzedzającej, w której pojawiły się stara i wciąż dobra Java oraz narzędzia: Maven, serwery aplikacyjne Java EE z CDI / JPA / JSF (wzmiankowany był nawet IBM WebSphere!), IDEA, XML, Arquillian, które zostały wykorzystane jako pożywka dla moich dywagacji o łatwości “moich” narzędzi - sbt / activator.
  • Koledze Gaussowi za pomoc merytoryczną w wątku o Gaussie i sumie liczb od 1 do 99 oraz późniejszych spostrzeżeń o moim wystąpieniu.
  • Koledze od by -1, który wspomógł mnie merytorycznie, kiedy poszukiwałem rozwiązania do scalowej listy malejącej liczb naturalnych od 99 do 0.
  • Przemkowi i Renacie za przybycie z...ekhm...Bydgoszczy.
  • Michałowi Jaśtakowi @vardlokkur za przybycie i wzmocnienie grupy dawnych znajomych ze studiów na UMK.
  • Pani rekruterce-toruniance z Lufthansa z Gdańska, która cierpliwie odpowiadała na moje (lekko zaczepne) pytania o zatrudnienie w firmie (zachęcam do rozważenia oferty!)
  • Zbyszko Papierskiemu @ZPapierski za wprowadzenie do netfliksowego coś tam, i wyjaśnieniu zalet narzędzia w sposób tak ciekawy, że mimo moich zakus przejęcia mikrofonu, słuchałem z otwartymi ustami. Dobry z niego mówca!
  • ...i innym członkom Toruń JUG, których nie wspominam wyłącznie z powodu zauważalnie postępującej demencji starczej, która nie pozwoliła mi na spamiętanie wszystkich.
Spotkanie pozwoliło mi na podzielenie się własnymi doświadczeniami z sbt, Typesafe Activator, Akka (od strony sbt) oraz Play (również od strony sbt).


Podsumowując moje spotkanie jednym zdaniem, należy zapamiętać jedno zdanie, bodajże Zbyszka:

"Typesafe Activator jest tak samo narzędziem do szybkiego zestawienia projektu, jak i nauki programowania w języku Scala i Java."

W zamyśle tej prezentacji była demonstracja narzędzia sbt oraz activatora, co ma przełożyć się na liczbę osób “zarażonych” użyteczną prostotą obu narzędzi. Odnoszę wrażenie, że klimat spotkania zaszczepił chęć popróbowania się z nimi chociażby jako narzędzia nauki języka Scala. Wystarczy przecież zainstalować activator (bądź sbt, ale będę jednak upierał się przy activator) i odpalić polecenie activator console, aby wejść w powłokę Scala REPL.

Podczas spotkania omówiłem prostotę sbt, która przekłada się na łatwość użycia narzędzia do zarządzania projektami scalowymi, a w tym pojęcia projektu (już pusty katalog nim jest!), compile, test oraz reload.

Co później trafnie zauważono, w takim towarzystwie - prawie w pełni javowym - zabrakło informacji o współpracy sbt/activator z Apache Maven oraz użyciu sbt/activator do zarządzania projektami javowymi. W tym gronie obie cechy zdecydowanie zdeklasowałyby inne "feature killers”.

Liczność spotkania oceniam na poziomie 50 osób. Na moje pytanie, którym otwierałem spotkanie, o znajomość Scali, 5 osób podniosło rękę, co przy pytaniu o komercyjne użycie sprowadziło tę liczbę do…1 osoby (słownie: JEDNEJ osoby) - właściciela firmy codenger Przemysława Kisickiego @PrzemyslawK. Zachęcam do kontaktu z Przemkiem wszystkie osoby, które są zainteresowane wejściem w Scalę profesjonalnie, bo poszukiwani są do pracy w Toruniu przy ciekawym projekcie budowania platformy sprawdzającej umiejętności kandydata (ukłony dla firm konkurencyjnych devskiller i codility, które pojawiły się w dyskusji o cele biznesowe firmy Przemka).

Dla zwrócenia uwagi, wszyscy, bądź prawie wszyscy (za wyjątkiem skończonej ilości osób), to osoby pracujące lub co najmniej znające język Java. Miałem w ten sposób nieocenione pole do popisu, aby zachęcić ludzi do wejścia w Scalę na barkach narzędzi sbt i activator. Ufam, że misja zakończona sukcesem. Proszę o potwierdzenie/zaprzeczenie w komentarzach.

Po spotkaniu na wydziale przenieśliśmy się do knajpy Krajina Piva, gdzie kontynuowaliśmy dyskusję co dalej w Toruniu i okolicach, w których znalazło się miejsce dla rodzącego sie światka scalowego.

Dziękuję życzliwym duszyczkom za podzielenie się swoimi uwagami odnośnie zawartości merytorycznej mojego wystąpienia. Na tej bazie kolejne wystąpienia będą bardziej napakowane merytorycznie. Pro publico bono.

Spotkanie było nagrywane, więc zainteresowani przywołaniem historii, będą mieli okazję do poczynienia odpowiednich kroków już niebawem. Zachęcam do obejrzenia nagrania i podzielenia się uwagami o zawartości, szczególnie merytorycznej.

Dla spragnionych wiedzy scalowej, poniżej ściągawka do rozpoczęcia programowania w Scali przy akompaniamencie activator’a:

  1. Pobieramy narzędzie activator-minimal ze strony Typesafe i instalujemy w dowolnie wybranym katalogu. Nie zapomnij dodać ten katalog do PATH.
  2. Tworzenie aplikacji - activator new
    • możliwość wyboru nazwy projektu
    • możliwość wyboru szablonu projektu - domyślnie 4 szablony po dwa dla Scali i Javy
  3. Inne użyteczne polecenia
    • activator - powłoka poleceń narzędzia (podobnie jak cmd w Windows lub powłoka uniksowa)
    • activator --version - wersja programu uruchamiającego pełne środowisko activator
    • about - specyfikacja projektu - wersja sbt, Scala, rozszerzenia/wtyczki
    • console - wejście do środowiska Scala REPL, gdzie można uczyć się języka Scala oraz pisać aplikacje scalowe interaktywnie
    • run - uruchomienie aplikacji, np. aplikacji webowej w Play
    • test - uruchomienie testów w projekcie
    • ~ (tylda) - uruchomienie dowolnego polecenia poprzedzając go tyldą pozwala na ciągłe uruchamianie polecenia przy zmianie źródeł projektu, np. ~ test uruchamia testy przy każdorazowej zmianie źródeł projektu (bezcenne przy TDD) - mówi się, że "panny mdleją na widok tyldy".
    • reload - ponownie wczytuje konfigurację projektu po jej zmianie
  4. Konfiguracja projektu w pliku build.sbt
    • name - nazwa projektu
    • scalaVersion - wersja języka Scala, np. “2.10.4” lub “2.11.1”
    • libraryDependencies - lista zależności projektowych (z których projekt korzysta oferując swoje usługi)
p.s. Mówi się, że to nie ostatnie moje wystąpienie dla Toruń JUG o Scali. To jednak nie wcześniej jednak niż po wakacjach. Do zobaczenia!