Dawno, a nawet bardzo dawno mnie tutaj nie było po wyzwaniu od Mirka, praktycznie jeden post powstał. Czemu tak się stało? To był jak piorun z jasnego nie ba, po moim zgłoszeniu jako prelegent na konferencje 4Developers 2018 organizowaną w Warszawie. Okazało się, że się dostałem!!!!
Prezentacja
Ruszyłem z przygotowaniami mojej prezentacji: Reactive Extensions - wzorzec obserwatora, czyli programowanie sterowane zdarzeniami.
Niespodziewanie, bardzo mi się przydało doświadczenie jakie zdobyłem podczas 30-dniowego wyzwania.
Rozrzuciłem na ścianie wszystkie pojęcia, słowa jakie mi przyszły do głowy dotyczące tematu. I przez pewien czas tak to zostało, czasem dokładałem coś jeszcze. Jak już odniosłem wrażenie, że więcej nic z siebie nie wyduszę to zrobiłem z tych pojęć grupy (Bounding Context). Miałem dzięki temu pogląd jakie slajdy chcę zbudować. Kolejnym krokiem było rozdysponowanie czasu na: wstęp, zakończenie, prezentację typowo związaną z tematyką oraz livecoding:
- Wstęp 2x3 minuty,
- Teoria 4x3 minuty,
- Livecoding 8x3 minuty,
- Zakończenie 1x3 minuty.
Łącznie daje to 45 minut.
Kolejnym etapem było zbudowanie “mięcha” - przykładów. Powstało ich 5, wszystkie poszły na github-a.
Na końcu zabrałem się za stworzenie samej prezentacji.
Po wszystkich przygotowaniach pora na przetestowanie tej implementacji. Okazało się, że zdołam pokazać nie 5, nie 3 a tylko 1 przykład i to z lekkim nagięciem czasu.
Skutkiem tego było zmniejszenie czasu poświęconego na slajdy.
Po pierwszych testach mogłem już trenować. I tutaj rozplanowałem sobie co i kiedy.
Ten plan dowiozłem do końca. Jednak lekko ucierpiało na tym moje gardło:)
Nigdy wcześniej nie byłem tak dobrze przygotowany do prezentacji, ale także skala wydarzenia dla mnie nie była jeszcze tak duża:)
Konferencja i before
Dzień wyjazdu na konferencję był lekko zwariowany, najpierw trenowanie prezentacji, potem bieg na 10 km, super szybkie ogarnięcie się po biegu i wyjazd do Warszawy 330 km:)
Udało się dotrzeć ok. godziny 21. Rejestracja, meldunek i wypad na before. Jako, że wszędzie jeżdżę z moją maskotką IT (Żona;)).
Tym razem było nie inaczej, udało nam się spotkać kilku znajomych z czego jestem bardzo zadowolony.
9 kwietnia, w hotelu tłumy, wyjście na pierwszą prezentację dostarczoną przez Arka Benedykta -> 100% pokrycia testami, czy to jest w ogóle możliwe?.
Szczególnie w pamięci utkwi mi slajd przedstawiający 100% pokrycie testami przedstawiony w postaci bloków na poszczególnych pozycjach piramidy testów. Prawdą jest nawet stwierdzenie, że to pokrycie jest znacznie większe:) Każda z kolejnych pozycji piramidy testów pokrywa luki warstwy niższej. Tworząc tym samym całościowe pokrycie testami w kontekście całej piramidy. Po prostu super!! Nie myślałem nigdy w ten sposób o testach. Metafora lodów, sadełka w kontekście Legacy Code też świetna:)
W planach mieliśmy jeszcze obejrzeć kilka prezentacji, jednak miałem zaplanowany trening własnej i należało go przeprowadzić, tak strzeliła godzina:)
Kolejne wystąpienia jakie odwiedziliśmy, to występ Maestro Korsan-a -> Disco.js. Super interaktywna prezentacja związana z przetwarzaniem dźwięku w przeglądarkach z wykorzystaniem JS. Oczywiście nie miałem pojęcia, że ta technologia tak mocno się rozwinęła. To co zobaczyłem dostarczyło mi masę wiedzy w na temat manipulacją dźwiękiem w przeglądarce:).
Prezentację można spokojnie brać w kontekście inspiracji, by łamać wzorce, reguły i dostarczać naprawdę świetne prezentacje:). Jak to mówi Maciej: “Tworzenie front-end-u to sztuka, a nie programowanie.”
Nie mogłem oczywiście pominąć prezentacji o wielorybach jaką przygotowali wspólnie Piotr Gankiewicz i Dariusz Pawlukiewicz -> Distributed .NET Core. Oczywiście się nie zawiodłem: CQRS, Architektura przedstawionej aplikacji, Rancher, TravisCI, etc :D. Prezentacja z dużą ilością wiedzy z naciskiem na budowanie oprogramowania na bazie mikro-serwisów i .NET Core. Nie zabrakło oczywiście automatyzacji (CI/DI). Jedyny minus, to temperatura w sali, ale się nie dziwię było tyle podniesionych kontenerów w tej serwerowni, że klima nie dawała rady;) i to logiczne, że mikro-serwisy podnoszą poziom utylizacji serwera:) Nawet na podłodze i w kątach się instancje znalazły;)
Tutaj pora na mój show ale o tym niżej;)
Kolejny na celowniku był [Rafał Hryniewski] -> ORM - the tip of an iceberg. Okazało się, że to niezły wyjadacz SQL-owy. Wnioski oczywiście nieco zbliżone do moich. Tak jak czysty SQL nie jest lekiem na całe zło, tak samo jest ze stosowaniem ORM-ów. Jak zwykle sprawdza się stwierdzenie, że wszystko zależy od zastosowania.
Zainteresował mnie aspekt nowych możliwości jakie daje SQLServe-a, np. maskowanie danych w bazie. Świetnie się nadaje do ukrywania danych. Być może bardzo przydatne w trakcie nadejścia RODO:) Oczywiście Rafał dowiózł świetną prezentację, a co ważniejsze dużo [SQL-wej] wiedzy.
Na koniec prezentacja Radka Maziarki -> CQRS w 4 krokach. Widziałem tą prezentację już wcześniej, jednak zawsze rozwinie moje pojęcie o CQRS-sie. Znajdzie się taki skład słów, który wzbogaci moją wiedzę na ten temat. Radek pomimo początkowych problemów ze sprzętem, odstawił świetne wystąpienie. No cóż posiada wiedzę i doświadczenie w tym kontekście. Więc się nie dziwię:)
Moje wystąpienie
O dziwo nie denerwowałem się cały dzień. Tak naprawdę to przed samym wystąpieniem lekko poczułem nerwy. Zapewne to były skutki przygotowania:). Niefortunnie sobie uszkodziłem odbiornik prezentera przy podpinaniu kabelka HDMI. Peszek, ale działa. Kolejny problem jaki miałem to pierwszy kontakt ze zdalnym mikrofonem, ale sobie poradziłem (I’m engineer :).
Wybiła 15:15 jak w westernie i jazda pofrunąłem. W trakcie wyczuwałem zdenerwowanie, ale to naprawdę kosmos do tego co było dawniej! Nie nauczyłem się na pamięć, wiedziałem jedynie co chcę powiedzieć i mówiłem. Po czym przeszedłem do kodowania. I w formie jaką przygotowałem było to moje ostatnie wystąpienie. Kolejne jakie przygotuję:) będą inne. Już mam plany na refaktoryzację prezentacji! Po mimo trudności dowiozłem prezentację, pokazałem kulki:) Kończąc poprosiłem o krytyczny feedback jako podkreślając na końcu, że mi się przyda bo to moja pierwsza prelekcja na taką skalę i w takich warunkach. Oczywiście mam dużą nadzieję, że nie ostatnia:) Brawa były - nie było źle. Nikt nie buczał. Nawet były osoby, którym się podobało :) Feedback też dostałem indywidualnie, niestety nie wiem tak na prawdę od kogo. Ale z góry dziękuję.
Wnioski
Z czasem, jaki upływa od mojej prelekcji, coraz bardziej uświadamiam sobie co się stało. I moje zadowolenie bardzo rośnie!!! Prawda jest taka, że już się nie mogę doczekać kolejnej edycji i zgłoszenia tematów:) Zdecydowanie myślę, też o wystąpieniu w innych miejscach. Nawet mam już zabukowane terminy na kilku grupach .NET:)
Mówiąc po cichu, planowałem w tym roku wystąpić na jakiejś konferencji. Taki cel jeden z celów na 2018. Kto by pomyślał, że zostanie zrealizowany już w drugim kwartale. I to jeszcze w takiej skali:)
Pozostaje nanieść poprawki i koko-jumbo i do przodu:)
Podziękowania
Kończąc chciałbym podziękować za to, że mogłem wystąpić, w zasadzie należy się to głównie opiekunowi ścieżek .NET na 4Developers Maciejowi. Za to, że nie wiem, Bóg Perun uderzył w niego piorunem i wybrał między innymi mój temat:). A tak naprawdę to za to, że wyciągnął mnie i wiele innych osób z piwnicy:). Inspiruje! Motywuje! Stylizuje!
Zdecydowanie podziękowania też należą się mojej żonie. Za cierpliwość oraz za to, że w chwilach zwątpienia, potrafi mnie opie…… i zmotywować do działania:)
Podziękowania też należą się organizatorom 4Developers, za organizację tak dużej konferencji.