Frontend Con. Bal debiutantki ;)

Wystąpienie Shmueli Jacobs, fot. Rafał Fronda, Dwie Kropki

Frontend Con już za nami. Pierwsza edycja imprezy okazała się nieco chaotyczna pod względem organizacyjnym, ale merytorycznie wszystko się udało – tak wynikało z komentarzy, które słyszałam na korytarzach. To nie jest zła opinia: za pierwszy razem niedoróbki się zdarzają, ale ludzie, którzy byli już na dziesiątkach meet-upów, są zadowoleni z tego, czego się nauczyli. To przede wszystkim zasługa mentorów. Udało się ściągnąć ludzi zafascynowanych tym, co robią, i na tyle wyluzowanych, że swoje 40-minutowe wygłaszali prostym językiem, z użyciem przykładów z życia czy memów (często przewijał się motyw jednorożca).

Nie była to impreza dla początkujących, czego byłam świadoma. Dlatego wybrałam sobie zajęcia w oparciu o dwa kryteria: te, na których mogę się czegoś nauczyć, biorąc pod uwagę mój aktualny stan wiedzy (a więc opowieści z cyklu: „Co fajnego możesz jeszcze zrobić z Angularem, kiedy już i tak masz z niego habilitację?” odpadły na dzień dobry) i te, które prowadzą kobiety. Girls Gone Tech było patronem imprezy, więc zawczasu przejrzałam życiorysy  mentorek z myślą o wpisach na bloga. Powstały dwa duże wywiady, które wrzucę w kolejnych tygodniach. Frontend Con miał prokobiecy wymiar – wiele warsztatów i wykładów prowadziły dziewczyny, a w tłumie raz po raz słyszałam: „Dużo lasek, jak na imprezę programistyczną”. To zależy, co rozumiemy przez „dużo”. Na 300 uczestników – kobiet było 30… Na zakończenie odbyły się warsztaty dla początkujących z Angulara prowadzone przez NgGirls (niestety, nie mogłam wziąć w nich udziału), a każdy, kto się na nie zapisał, mógł kupić ze zniżką bilet na cały meet-up.

W piątek najpierw wybrałam się na wystąpienie Martina Hochela z Pragi, współtwórcy małej, zgrabnej biblioteki SkateJS, nazwanej tak pewnie z związku z jego drugim hobby, czyli jazdą na deskach maści wszelkiej. Po tych zajęciach razem z koleżankami z niedawnego kursu Summer Frontend Starter Kit – Karoliną i Moniką – uznałyśmy, że „Reactive Type-safe Webcomponents” to jeszcze nie jest temat do udźwignięcia dla nas. Ale punktem wyjścia dla tych zajęć był problem, z którym możemy zmierzyć się w przyszłości: kiedy ciągle pojawiają się nowe frameworki i biblioteki, czego się uczyć, co odpuścić, i jak o tym zdecydować?

Trochę zahaczało o ten temat również wystąpienie Simony Cotin z irlandzkiego NgGirls i Artura Dascheiviciego, full-stack delvelopera związanego z ReactJS. Poznani przez mnie do tej pory miłośnicy Angulara i Reacta zachowywali się trochę jak kibice wrogich dobie drużyn piłkarskich. Tu jednak czekał nas nie pojedynek hoolsów, ale porównanie obu frameworków z uwzględnieniem ich zalet i wad oraz tego, kiedy warto stosować jeden, a kiedy – drugi. Może jestem humanistką i to starej daty, ale dyskusja dwojga kulturalnych ludzi w sympatycznej atmosferze motywuje mnie do nauki programowania znacznie bardziej, niż gównoburze wybuchające z byle powodu w programistycznych grupach na Fb.

W sam raz skrojony dla mnie był wykład UI designera Andreya Okonetchnikova „Modular CSS”, który najbardziej skupiał się na kontrowersjach wokół JavaScript in CSS (sam prowadzący jest jego entuzjastą, ale pokazywał nawet wpisy na portalach społecznościowych innych mentorów, którzy nie zostawiali na tym pomyśle suchej nitki). Mówił jednak również o historii CSS i różnych rozwiązań w nim używanych. To były pierwsze zajęcia, na których w kodzie mentora zobaczyłam rzeczy, które już zdarzyło mi się robić samej.

Dobrze było też posłuchać Fredrika Holma, full stack developera z wieloletnim doświadczeniem, który mówił o strategii pracy nad aplikacją, m.in. o błędach najczęściej popełnianych w Agile’u. Według Holma, w wielu zespołach przyjmuje się filozofię pracy, zgodnie z którą o sukcesie ma decydować sam wybór właściwej technologii. Tylko że nawet najzdolniejszy deweloper może polec przy kiepskim podziale obowiązków czy marnej koordynacji działań. Oczywiste? Niby tak, a jednak bywa to przyczyną porażki wielu projektów, i warto się nad tym zastanowić nie tylko w kontekście programowania.

Piątek zakończył się wystąpieniem Ruth John, Angielki, która za pomocą JS-a i kontrolera MIDI podpiętego do mikrofonu w laptopie tworzy w przeglądarce wizualizacje do muzyki. Razem z kolegami-programistami występuje w teamie didżejskim LiveJS (kto wie, czy nie jedynym, który ma swój profil na GitHubie). Jej prezentacje pięknych trójwymiarowych grafik, pulsujących w rytm muzyki, zrobiły ogromne wrażenie na zebranych. Zwłaszcza gdy okazało się, że narzędziem do tworzenia takich cudów jest znany i lubiany Canvas… ale pożenić je z muzyką można tylko przy dobrej znajomości Web Audio API. Wyszłam z sali śmiertelnie zakochana w Ruth i przekonana, że oto poznałam jedyną osobę na świecie, która zajmuje się takimi rzeczami, ale szybko ściągnął mnie na ziemię kolega Rafał: „Mam MIDI i robiłem takie wizualizacje, ale nie doszedłem do 3D, chyba muszę przy tym podłubać”. In my face! Nadal jednak to Ruth jest didżejką na imprezach programistycznych i zwolenniczką umieszczania audio na stronach internetowych (tu krzywią się wszyscy, którzy mieli przyjemność korzystać z internetu w latach 90.), a do tego fascynującym niespokojnym duchem, który wybrał pracę na zlecenia zamiast stałego zajęcia. Tak, to ona będzie bohaterką kolejnego artykułu na GGT.

Przegadałyśmy półtorej godziny następnego dnia, pierwsze pół – również ze Stefanem Baumgatrnerem, który nagrywał wywiad z Ruth na potrzeby podcastu na swoim blogu. Wcześniej ten „Internet Batman” (oficjalne stanowisko w Dynatrace) poprowadził brawurowy wykład o flexie, którym akurat zajmowałam się ostatnio, więc z tych zajęć skorzystałam najbardziej. Znowu rozpoznałam kawałki własnego kodu! I przy okazji dowiedziałam się, że przeszłam przez typowy dla użytkowników CSS „chrzest ognia”, kiedy po zastosowaniu opcji „float” miałam kryzys pod hasłem „Nigdy, przenigdy się tego nie nauczę”. Flex razem z towarzyszącymi mu słodkimi technikami nauki typu Flexbox Froggies i nieco mniej słodkimi, jak Flexbox Zombies, powstał jako odpowiedź na problemy z rozmieszczeniem na stronie tekstów i obrazków. Stefan pokazał różne sposoby jego wykorzystania. Sporo się nauczyłam i zdałam sobie sprawę, że przynajmniej część problemów, które spotykają mnie w czasie nauki CSS, jest typowa. Pokrzepiające! Tym bardziej nie jestem skłonna zgodzić się z alternatywnym rozwinięciem skrótu CSS zastosowanym przez Stefana: „Centering Shit Sometimes”. Wiem, kiedyś być może nauczę się robić bardziej skomplikowane rzeczy, ale na razie CSS jest dla mnie piękny, mądry i dobry i będę bronić jego honoru!

Potem wybrałam się na wykład Shmueli Jacobs o zastosowaniu Angulara do tworzenia progresywnych aplikacji webowych. To już poza moim zasięgiem, ale musiałam docenić prostotę jej tłumaczenia i odwagę pokazania niedoskonałości we własnej aplikacji. Shmuela stworzyła izraelski oddział NgGirls i postulat zwiększenia liczby kobiet-programistek leży jej na sercu. Tak zagadałyśmy się przy jej wegańskim lunchu, że ostatecznie go nie zjadła 😉 Efekty tego zagadania – już niedługo na GGT.

Ostatnie zajęcia, na których byłam, dotyczyły możliwości tworzenia na stronach aplikacji VR, dzięki którym moglibyśmy obserwować to, co dzieje się wokół nas (np. uczestników Frontend Con zamienionych w pudełka z komiksowymi oczami), w czasie rzeczywistym. Urzekło mnie to, że takie możliwości daje… HTML. Prowadząca, zaledwie 21-letnia techspeakerka z Indii Srushtika Neelakantam, pokazała, jak szybko osiągnąć taki efekt za pomocą frameworka A-frame od Mozilli. Kiedy rozmawiałam z nią później, powiedziała mi, że jeszcze nie wie, czy chce zostać deweloperką, bo na razie bardziej fascynuje ją uczenie innych. W VR wciągnęła się dlatego, że potrzebowała atrakcyjnego tematu swoich wystąpień. Samo programowanie nie wydawało jej się aż tak interesujące – jest córką zawodowej programistki, kodować nauczyła się jako dziecko, a młodość upływała jej od jednego hackatonu do drugiego. Za to z błyskiem w oczach mówi o zastosowaniach VR w medycynie („ćwiczenie” przez lekarzy operacji, zanim zajmą się prawdziwymi pacjentami) czy na stronach biznesowych („Możesz pospacerować wokół słupków przedstawiających wyniki firmy i naprawdę docenić ich rozmiar”). Z przyjemnością będę śledzić jej dalsze poczynania. Być może również o niej napiszę oddzielny artykuł.

Wystąpienie Srushtiki Neelakantam, fot. Rafał Fronda, Dwie Kropki

Wyszłam stamtąd obładowana wiedzą i z rozgrzanym do czerwoności dyktafonem, więc nie mam powodów do narzekania. Co do niedociągnięć organizacyjnych, na które zdarzyło się narzekać innym, ja doświadczyłam na własnej skórze jednego: w sali, gdzie serwowane były jedzenie i napoje, dostęp do stołów utrudniał opasły filar, więc non stop ustawiały się kolejki (gnając z jednego wywiadu na drugi, przez całe dwa dni konferencji zjadłam jedno ciastko). Można też było ogarnąć jakiś parking dla uczestników – za kilka godzin, które moje auto spędziło na tym oficjalnym przy Centrum Expo, zapłaciłam regularną warszawską stawkę i razem wyszło ponad 20 zł.

Nie było mnie na piątkowej imprezie integracyjnej, którą wszyscy wspominali dość miło, choć nie doszedł do skutku konkurs na superbohaterskie przebranie (wątek superbohaterów i cosplayów miał zdominować rozrywkową część imprezy, co się stało?). Skorzystał na tym wspomniany już Rafał, który jako jedyny przyszedł w kostiumie (papierowej masce wilka i koszulce z hasłem „Wolf from Frontend Street”), dzięki czemu został towarzyską sensacją wieczoru 😉

Jednak wszyscy, z którymi rozmawiałam, byli zgodni, że sporo się dowiedzieli, a sposób podawania tej wiedzy był przystępny i atrakcyjny. Nad tak zwanymi didaskaliami można więc popracować, ale co do głównych założeń organizatorzy się spisali. Małe poprawki – i oby tak dalej!

Komentarze

Karolina Wasielewska

Pracuję w radiu i od czasu do czasu w prasie. Lubię: jesień, książki Lema, sporty przeróżne, koty, niespieszne pichcenie w wolne dni, czerwone wino, wesołe miasteczka, historie o superbohaterach, czasami Beastie Boys, a czasami Dianę Krall. Nie lubię: upałów, agresji, gotowania w pośpiechu i wielu innych rzeczy, których nie lubię, więc nie chcę nawet o nich pisać.