Relacja z DevDay 2013

9

Małe wtrącenie na wstępie: post powstawał “na raty”. A to trochę w pociągu powrotnym, a to w nocy po powrocie do domu, a to wreszcie wczoraj wieczorem, już “na spokojnie”. Dlatego też odniesienia do “czasu” w tekście mogą być nie do końca spójne.

Init

Nadejszła, i zakończyła się, wiekopomna chwila. Oto bowiem właśnie parę godzin temu próg domostwa swego przekroczyłem, “zrzonko” z Krakowa powróciwszy z eventu organizowanego przez firmę ABB, a konkretnie (głównie) przez Michała i Rafała (przy pomocy pokaźnej “debugging crew”).

O DevDay oczywiście mowa.

Nawet już w celu regeneracji wyczerpanego ciała na spoczynek się udałem, zostawiając pisanie posta na dni kolejne, ale tak naładowany po powrocie jestem, że mimo dość znacznego zmęczenia ni chu-chu o śnie nie może być mowy.

Ani dwa lata temu ani rok temu z różnych względów uczestniczyć w DevDay nie mogłem. A teraz od dawna nie mogłem się już doczekać 20 września, nareszcie do tego dev-święta dołączając wraz z zacną 7-osobową białostocko-warszawską ekipą.

Znalazł się czas na małe “pre-pre-pre-party” w Hard Rocku między pociągami bia-waw i waw-krk. Zorganizowało się też kolejne co nieco, “pre-pre-party” w pociągu waw-krk. A potem oficjalne “pre-party” już w Krakowie, w towarzystwie innych uczestników, organizatorów oraz nawet paru prelegentów. Więc od samego wyjazdu było wesoło:).

Ale póki co – nie o tym, przejdźmy do wrażeń z sesji.

Opening speech

Jako pierwszy na scenie pojawił się, jak mniemam, “ważny gościu”;) z ABB. Miał za zadanie rozgrzać i zainspirować publiczność. Próbował to osiągnąć porównując programowanie do biegania – a to że programista jak biegacz zawsze jest gotów aby poświęcić się swojemu hobby, a to że i jedno i drugie wymaga trochę “szaleństwa”, i tak dalej. Zamysł był całkiem fajny, ale prezenter mnie osobiście zgubił pokazując zdjęcie stopy z bąblami, jakie wyskakują po trzygodzinnym biegu. Fu. Zdecydowanie nie mam wyrafinowanego gustu i moja granica “zniesmaczenia” z pewnością jest bardziej wytrzymała niż u ogółu ludzkiej rasy, jednak po tym konkretnym widoku postanowiłem po prostu przeczekać pozostałą część wystąpienia nadrabiając zaległości na Twitterze.

Jon Skeet & Tony The Pony – “Back to basics: the mess we’ve made of our fundamental data types”

Nie miałem jeszcze nigdy okazji oglądać Jona Skeeta na żywo. Kolesia, którego suma punktów na StackOverflow jest 100x wyższa niż suma wszystkich pozostałych punktów. Człowieka-legendy.

Na scenie pojawiły się tak naprawdę dwie legendy.

Pierwsza – Jon, prezentacyjny wymiatacz, mistrz zarówno swego programistycznego fachu jak i posiadacz jednego z lepszych prezentacyjnych warsztatów, jakie było mi dane z przyjemnością chłonąć.

Legendą drugą był Tony The Pony – “ridiculous” pacynka na prawej dłoni Jona.

Całe przedstawienie kręciło się wokół problemów z – jak można się domyślić po tytule – typami danych. Ale najbardziej liczyło się tutaj poczucie humoru i swoboda prelegenckiej pary. Ubaw po pachy.

Mimo to nie zabrakło technicznych wartości. Oprócz tak zdawałoby się banalnych porad jak “naucz się czym różnie się float od decimal” usłyszeliśmy chociażby o szalonej ewolucji czasu ludzkiego na przestrzeni wieków. Wiecie na przykład, że w roku 1712 w Szwecji luty miał 30 dni? Albo że pewnego razu w Brazylii nie było… północy? Heh, true story! Podobało mi się proponowane przez Jona rozwiązanie problemu czasu – CST czyli Coffee Standard Time:).

Poza masą pułapek czyhających na programistów w świecie liczb i dat/czasu, widzieliśmy też demonstrację potworów czyhających w… a jakże, stringach! I nie o gacie chodzi bynajmniej. Przy “standardowych” wyrazach wszystko wydaje się OK, ale jak się zagłębić chociażby w litery akcentowane to już tak prosto nie jest.

W kilku słowach: genialne otwarcie konferencji.

Ocena: 5/6

Patrick Kua – “Implementing Continuous Delivery”

Na drugą sesję zwaliło się tyle ludu, że nie było siedzących miejsc. Chwilę postaliśmy podpierając ścianę z tyłu sali, ale wygrało zapotrzebowanie na kawkę i fajka. Z tego co się zorientowałem to podczas prezentacji można było posłuchać o raczej standardowych i niezbyt odkrywczych praktykach składających się na tytułowe “Continuous Delivery”, jednak chyba zabrakło trochę przykładów z życia wziętych – jak zaaplikować konkretne narzędzia w konkretnych sytuacjach aby osiągnąć to co jest do osiągnięcia?

A może i to było poruszone, tylko że nas nie było?

Nieważne. Tak czy siak dało się zaobserwować, że prezentacja została fachowo przygotowana i prowadzona z należytym “obyciem”. I prawdopodobnie dla wielu programistów zmuszonych do tkwienia w zastałych, niedziałających praktykach, mogła otworzyć oczy.

Ocena: ?/6

Andreas Håkansson – “Guerilla Framework Design”

Romans z Nancy rozpocząłem już z półtora roku temu przy okazji http://msmvp.pl. Od tamtej pory dwa razy prowadziłem na ten temat prezentację (i naszła mnie ochota zrobić to gdzieś znowu;) ), a aktualnie na co dzień buduję projekt w oparciu o ten świetny framework. Nie mogłem więc opuścić okazji obejrzenia @TheCodeJunkie na żywo!

Z Twittera wiedziałem, że Andreasa trochę zjada stres. Na scenie trochę było to widać, i szczerze mówiąc lekko mnie to zaskoczyło (zakładałem, że ojciec takiego projektu jest stałym bywalcem światowych scen na przeróżnych konferencjach). Ale nie miało to jak dla mnie większego znaczenia. Zresztą kto by nie miał stresa, jeśli na sali siedzi Jon Skeet i zadaje pytania?

Podczas wystąpienia mogliśmy posłuchać jak zespół pracujący nad Nancy wykorzystuje dostępne w C# składniowe sztuczki, aby osiągnąć zamierzany efekt w postaci bardzo przejrzystego i “samo-się-dokumentującego” API. Dla mnie akurat nie było to nowością, bo kod Nancy mam bardzo często otwarty obok swojego kodu, ale na pewno szerzenie takiego podejścia do projektowania jest pomysłem bardzo dobrym i godnym pochwały.

Nawet mimo tego, że prezentowane rozwiązania nie były mi obce, bardzo miło oglądało mi się dywagacje o takim na przykład dynamic. Albo implicit casting. Czy extension methods na marker interfaces. Tudzież o charakterystycznej dla Nancy cesze, chyba przeze mnie ulubionej, jaką jest automatyczne wykrywanie zależności przez framework bez żadnej konieczności ich ręcznej rejestracji. Nancy skanuje załadowane assemblies i sama, w dość inteligentny sposób, wybiera wykorzystywane implementacje poszczególnych mechanizmów.

Szczególnie, że każdemu punktowi towarzyszył prosty kawałek kodu demonstrujący jego zastosowanie w praktyce.

Generalnie wszystko to sprowadzało się do jednego jakże trafnego spostrzeżenia: programista aplikacji powinien pisać kod aplikacji, a nie kod wymuszany przez framework.

Ocena: 5/6

Hadi Hariri – “Moving the Web to the client”

Hadi to kolejny prelegent, na którego wystąpieniu nie mogło mnie zabraknąć, niezależnie od tematu. I o ile sam temat okazał się w dużej mierze podstawowym wprowadzeniem do Angulara, co nie do końca mnie porwało bo tajniki Angulara zgłębiam od paru tygodni dość zażarcie, to ogólne wrażenie mam pozytywne.

Świetne rozpoczęcie sesji rozruszające i rozbawiające zmęczoną lunchem publiczność zawierało parę ogólnych i interesujących dywagacji o ewolucji JavaScript, HTTP, frameworkach z Microsoftu czy CSS. Potem pojawiła się celna i ważna uwaga, że tak ostatnio promowane Microsoftowe Web API różni się od ASP.NET MVC tylko jednym: marketingiem…

A potem już, jak wspomniałem, Angular. Na szczęście Hadi nie ograniczył się do pokazania kilku podstawowych dyrektyw czy opowiedzenia “co to jest kontroler”. Dodatkowo rozprawił się z kilkoma mitami na temat tej biblioteki: jak np. że “nadaje się tylko do pisania Single Page Applications”, że jest “wolne”, że ogranicza programistę, czy wreszcie że łatwo jest się go nauczyć:).

Nie zabrakło też niezbędnego porównania do jQuery, które z pewnością jest (i jeszcze przez długi czas pewnie będzie) standardem jeśli chodzi o biblioteki wspomagające prace z JS.

Na koniec zobaczyliśmy język tworzony przez Jetbrains – czyli Kotlin – zastosowany w serwerowym side-projekcie Hadiego: Wasabi.

Ocena: 5/6

Itamar Syn-Hershko – “Full-text search with Lucene and neat things you can do with it”

O Lucene bardzo chciałem posłuchać, ponieważ nie mam z nim doświadczenia, a temat jest ciekawy. Wyszło niestety średnio.

Na początku co prawda prelegent fajnie przedstawił “co to jest full-text search”, ale to by było właściwie na tyle jeśli chodzi o mocne strony wystąpienia. Ja osobiście oczekiwałem, że zobaczymy jak można zastosować Lucene do osiągnięcia “neat things” obiecanych w tytule. Zamiast tego dostałem dość szczegółowe omówienie projektu Elastic Search.

Ocena: 3/6

Dino Esposito – “Mobile is over: Start Planning Multi-Device Web sites Today”

O tym, że Dino jest gwiazdą, pamiętałem jeszcze z C2C’08. Minęło 5 lat, ale on nie wyszedł z formy. Na scenie żywiołowo przedstawiał swoje racje, a charakterystyczne mocne RRRR towarzyszyło nam do końca wyjazdu.

Niestety, wszystkie “racje” jakie Dino miał do zaprezentowania da się streścić w trzech zdaniach.

Zdanie pierwsze: “responsive web design is not enough”.

Zdanie drugie: “use WURLF to see what client’s device can do”.

Zdanie trzecie: “use MVC4’s Display Modes to render device-specific pages”.

Bieda. Tym bardziej bieda, że Dino jest “developer evangelist” w firmie stojącej za WURFL, i nawet przedstawił nam sposób licencjonowania tego komponentu… Czyli: jedyna typowo marketingowa sesja na całej konferencji.

Na szczęście całość była podana w bardzo zjadliwy i momentami autentycznie zabawny, wciągający sposób (historia planety Mobile, Arki WURFL zbierającej przed potopem wszystkie urządzenia mobilne i tak dalej). Jednak mimo wszystko – brak treści i jawna reklama bardzo mnie zniechęciły.

Ocena: 2/6

Rob Ashton – “The software journeyman’s guide to being homeless and jobless.”

Za wisienkę na konferencyjnym torcie robił Rob Ashton – szalony gościu, zakręcony dev, imprezowicz i mega-spec. Cały dzień nie mogłem się doczekać tej sesji, bo sam tytuł jest intrygujący. A jak się jeszcze wiedziało, na jaki życiowy eksperyment Rob się zdecydował (o czym blogował m.in. tu i tu), to nie mogło być mowy o nudzie.

W skrócie: mieszkał Rob w Belgii, której nienawidzi. Pracował w korporacji, czego również nienawidził. Zarabiał kasę, której nie miał na co wydać. Aż w końcu pękł. W trakcie kolejnego bezsensownego spotkania wstał, powiedział “I’m leaving” (co pięknie zademonstrował na scenie Cartmanowym “Screw you guys, I’m going home”) i wyszedł. I nie wrócił. Zostawił firmę, zostawił Belgię, skompresował cały swój dobytek do 20-kilogramowej walizy i… zaczął być szczęśliwy. Przez parę miesięcy jeździł po świecie i pracował za darmo, oczekując w zamian tylko programistycznych wyzwań i dachu nad głową. Pracował dla Ayende przy RavenDB, pracował przy startupie i przy wielu innych rzeczach. Odwiedził Izrael, Grecję, Hawaje i parę innych miejsc. Rozwalił samochód, kodował w Closure siedząc na widowni na Eurowizji.

I o tym wszystkim nam poopowiadał. Tego faceta nie można nie pokochać. Śmiechu było co niemiara, a doświadczeń i ogólnie rozumianych “jaj” można mu tylko pozazdrościć.

Jak tylko pojawią się nagrania z sesji online to obejrzę to sobie jeszcze raz. I wszystkim innym polecam uczynić to samo.

Ocena: 6/6

Log off

Po sesjach na scenę wkroczyli organizatorzy. Energia jaka od nich bije jest po prostu niesamowita. Im wystarczy kwadrans snu na dobę, i żadna impreza nie jest w stanie ich zniszczyć. Po całym dniu zdołali jeszcze z ludzi wykrzesać entuzjazmu na tyle, że przez salę dwukrotnie przetoczyła się meksykańska fala! A następnie na scenie stłoczyli się jeszcze i prelegenci, i cała “debugging crew” z ABB, i wreszcie dodatkowo wszyscy uczestnicy! Jedna wielka programistyczna rodzina. Sweet.

Nie pozostało nic innego jak się… pobawić. Najpierw kilka godzin w budynku mieszczącym konferencję, a potem w jednym z krakowskich pubów. Działo się, męczyło, upadlało. Było git.

Udało mi się na żywo poznać kolejnych czytelników bloga, innych blogerów i całą masę programistycznych szczęśliwców, którzy załapali się na DevDay. Pozdro @all!

Jak można zauważyć, ciężko jest mi to wszystko w spójną całość zebrać. Tak czy siak wniosek jest jeden: wbrew temu co kiedyś pisałem, konferencje są spoko. Tylko trzeba wiedzieć na które jeździć. Dewdejowy Michał kilkukrotnie mi już wypominał ten podlinkowany post… i wiesz co Michał? Odszczekuję:). Happy?

Konferencje to nie tylko wiedza. Aktualnie mam to szczęście, że w codziennej pracy nieustannie poznaję nowe rzeczy i jestem w miarę na bieżąco jeśli chodzi o wszelkie nowinki. Więc… tutaj nie “nauczyłem się” nic. A mimo to był to zdecydowanie najlepszy taki event w moim życiu.

Zwykle jakiekolwiek podekscytowanie nie przychodzi mi jakoś specjalnie łatwo, ale tutaj po prostu nie da się inaczej. Minęła doba, z czego spora część w pociągu, wątroba kłuje, spać się chce, a emocje dalej są.

Dzięki chłopaki, i dzięki dziewczęta! Mega-szacun.

Do zobaczenia, mam nadzieję że najpóźniej za rok!

Do Microsoftu słów kilka

Ostatni akapit polskiemu oddziałowi małego-mientkiego dedykuję. Powstrzymać się nie mogę. Bo wiecie co…

Po pierwsze: jak to jest w ogóle możliwe, że ludzie tacy jak ja mają MVP, a ludzie tacy jak Rafał i Michał nie?? Serio, niech ktoś im wreszcie da ten znaczek. Nie żeby im był potrzebny do czegokolwiek, nie żeby miało to jakieś ogromne znaczenie, ale: nie wypada. Po prostu nie wypada. O zakład idę, że wszyscy uczestnicy DevDay się po tym apelem podpiszą.

Po drugie: wyślijcie za rok do Krakowa delegację. Najlepiej taką, która będzie się zajmować organizowaniem MTSa. Niech delegacja weźmie notatniki i wszystko skrzętnie zapisuje, w międzyczasie szczęki z podłogi podnosząc. Albo jeszcze lepiej: ściągnijcie sobie na jeden dzień do biura wspomnianych już ziomali i posłuchajcie co mają do powiedzenia. Że konferencja to nie tylko zebranie jak największej liczby ludzi i wrzucenie ich do sal tak, aby na koniec roku fiskalnego zgadzały się słupki w Powerpoincie. Zaraźcie się od nich pasją. Poczerpcie trochę energii. Poobserwujcie co znaczy zaangażowanie. Nie takie korporacyjne, tylko takie jakie przynosi naprawdę miażdżące rezultaty. Po wszystkich moich raczej pozytywnych relacjach z kilku MTSów nie ośmielę się twierdzić, że MTS jest be, ale… to jest po prostu kompletnie inna liga. Liga, do której Microsoft mógłby awansować, gdyby w końcu zrozumiał co to jest i na czym polega “społeczność”. ONI rozumieją.

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit
Share.

About Author

Programista, trener, prelegent, pasjonat, blogger. Autor podcasta programistycznego: DevTalk.pl. Jeden z liderów Białostockiej Grupy .NET i współorganizator konferencji Programistok. Od 2008 Microsoft MVP w kategorii .NET. Więcej informacji znajdziesz na stronie O autorze. Napisz do mnie ze strony Kontakt. Dodatkowo: Twitter, Facebook, YouTube.

9 Comments

  1. tchrikch on

    Eh , gusta i gusciki :) ja bym dokladnie odwrocil punktacje za sesje Itamara i Hadiego bo Hadi poza spytaniem sie publicznosci czy programuja we wszystkim co jest znane albo kto uzywa tego a kto tamtego to wiele nie pokazal (Angular 101). Ale fakt – tytul obydwoch prezentacji troche sie rozminal z faktyczna trescia.

  2. Wie ktoś gdzie (channel9?) i kiedy będą dostępne filmy z sesji?

  3. Akodo_Shado on

    też byłem, widziałem i na długo zapadnie mi ta konferencja w pamięci. Chcę się wrócić za rok.
    Tony The Pony i Rob Ashton rządzili ;)

  4. Zgadzam się, ze wszystkim co napisał Maciek :)
    Dodam od siebie, że prezntacja Pata Kua była bardzo różnie odbierana. Dla typowych devów – nuda. Dla ludzi zainteresowanych ALM – skondensowanie praktycznej wiedzy, fundamentów i dobrych wzorców w Continuous Delivery. Można nawet trochę odnieść wrażenie, że Pat za dużo chciał przekazać (mnóstwo slajdów).
    Tutaj można ściągnąć kod i prezentacje Andreasa (thecodejunkie): https://github.com/thecodejunkie/Presentations/tree/master/2013/DevDay
    Najlepsza konferencja na jakiej byłem w życiu :)

  5. Cytując klasyka “Ja też tam byłem, jadłem, piłem, …” się uczyłem.
    Opening Speech – ta noga wcale nie wyglądała źle widywało się gorsze rzeczy ;)
    1) Jon Skeet & Tony The Pony – w Brazylii północy nie ma rok w rok. Najbliższa zniknie w październiku. Te ciekawostki są fajne ale i tak zapomni się o nich w najbardziej potrzebnym momencie (Na brak dużego “i” w Turcji sam się natknąłem a w czasie prezentacji o nim nie pamiętałem).
    2) Patrick Kua – “Implementing Continuous Delivery” – akurat byłem na równoległej sesji, dobrze że nie usnąłem. Prelegentowi brakowało pasji w tym co mówił.
    3) Byłem na prezentacji na temat Breeze nie mogłem się oprzeć poczuciu że oglądam powtórkę dawnych prezentacji o RIA services. Po za tym lifecoding troszkę się nie udał.
    4) Hadi Hariri – “Moving the Web to the client” – dopiero zaczynam bawić się z Angularem i powiem że z mojego punktu widzenia było to dobre wprowadzenie do tej biblioteki.
    5) Full Text Search – zgadzam się w 100% z Maćkiem
    6) Architecture of StackOverflow – krótka opowieść jak chłopaki łamiąc prawie wszystkie zasady programowania obiektowego zrobili wspaniały produkt. I jak Jon Skeet sprawia że SQL Server głupieje.
    7) Rob Ashton – patrz punkt 5

  6. Pingback: Video z DevDay 2013 online! | Maciej Aniserowicz o programowaniu