Kto: Piotr Bucki
Skąd: ,
Zdjęcie: http://bytebay.pl/img/people/piotr_bucki.png
Bio: Od 17 lat pomaga ludziom szlifować komunikację w różnych obszarach. Zawsze bazuje przy tym na psychologii poznawczej, neuro-naukach i psycholingwistyce. Sprawdza teorię w praktyce współpracując z firmami w Chile, Słowenii, Mołdawii, Azerbejdżanie, Austrii, Australii i Polsce. Współautor i redaktor merytoryczny Startup Manual (Wolves Summit 2015), autor i opiekun serii BuckiAcademi wydanej z wydawnictwem 4 Głowy (2016). Publikuje regularnie na InnPoland oraz stronie www.bucki.pro. Pisze dla Malemana, Dolce Vita, Madame, Marketing w Praktyce i wielu innych. Autor książek „Porozmawiajmy o komunikacji”, „Life's a pitch and then you die” oraz „Złap równowagę”. Przetłumaczył 12 książek z zakresu psychologii i poradnictwa. Współpracuje z najlepszymi ośrodkami startupowymi w Polsce – m.in. LPNT, Inkubator Starter, GPNT i PPNT, a także z największym rządowym programem na świecie Startup Chile i Inkubatorami w Słowenii i Austrii. Występował m.in. na Wolves Summit, Davos Communication Forum, PODIM Słowenia, Internet Beta, Social Media Convent, Inspiration Day w Szczecinie, PMI Congress w Antwerpii i wielu wielu innych konferencjach w kraju i na świecie.
Tytuł: Masz 168 godzin, co z nimi zrobisz?
Typ: Keynote
Poziom: Wprowadzenie
Opis: Masz 168 godzin w tygodniu. Co z nimi robisz? Czy wiesz jak spędzasz czas? A może masz tylko iluzję i wrażenie, że czas ucieka. Pora coś z tym zrobić. NIE uczyć się zarządzania czasem, ale uczyć się świadomego, uważnego, rozważnego korzystania z czasu. Z każdej chwili. Tak, by doprowadzić do sytuacji, gdy każda minuta będzie twoim świadomym wyborem. Nie nauczę cię sztuczek, bo w nie nie wierzę. Wierzę w naukę i naukowe sposoby szlifowania rzeczywistości. Nie dowiesz się więc niczego o wielozadaniowości i wyskrobywaniu minut w ciągu dnia. Dowiesz się wiele o tym, co jest ważne dla ciebie. I jak na to znaleźć świadomie czas. Poznasz mechanizmy pro-krastynacji, dowiesz się dlaczego sama motywacja to zdecydowanie za mało i dlaczego wizualizowanie sukcesu, to najgłupsza technika, którą propagują bieda-coachowie.
 
Kto: Sławomir Sobótka
Skąd: Główny trener / architekt, Bottega IT Minds
Zdjęcie: http://bytebay.pl/img/people/slawek_sobotka.jpg
Bio: Jest trenerem i konsultantem w firmie Bottega IT Minds, specjalizuje się w technologiach Java EE. W codziennej pracy integruje Domain Driven Design, wzorce, style architektoniczne, zwinne procesy wytwórcze i zdrowy rozsądek. Stosuje nadrzędną zasadę: rozpoznać klasę problemu z jaką ma się do czynienia i dobrać do niej odpowiednią klasę narzędzia. Hobbystycznie interesuje się psychologią pozytywną i kognitywistyką. Lubi myśleć o sobie jako entuzjaście Software Craftsmanship.
Tytuł: Co gryzie świadomego programistę DDD?
Typ: Keynote
Poziom:
Opis: W swojej pracy spotykając dziesiątki zespołów zauważam wzorce pytań/dylematów/rozterek jakie pojawiają wraz ze wzrostem doświadczenia i świadomości zespołu. Na pewnym poziomie zaawansowania wszyscy zadają te same pytania:
- jak określić granicę agregatów?
- jak opracować stabilne API?
- czym kierować się przy modularyzacji?
- a co ze smutnym CRUDem, którego też mamy?
- dlaczego byznes nie chce z nami rozmawiać?
- jak być partnerem a nie podwykonawcą?
Tak na prawdę pytania te są ogólne a metodyki (jak np. DDD) jedynie szybciej do nich doprowadza. Podczas prezentacji przyjrzymy się tym typowym pytaniom na poziomie modelu, architektury i organizacji - spróbuję odpowiedzieć na nie w postaci konkretnych technik i rozwiązań.
 
Kto: Jarosław Pałka
Skąd: Główny trener, Architect, Symentis
Zdjęcie: http://bytebay.pl/img/people/jarek_palka.jpg
Bio: Od ponad 20 lat w branży IT, jako administrator baz danych, programista, architekt, manager i 'inżynier od spraw katastrof'. Brałem udział w małych, średnich i nonsensownie dużych projektach, prowadzonych zgodnie zasadami 'waterfall', Agile oraz przy braku jakichkolwiek metodyk, z tym samym zawsze skutkiem. To doprowadziło mnie do wniosku, że nieważne co robisz, tak długo, jak robisz to dobrze, w najprostszy z możliwych sposobów i używasz właściwych narzędzi, które wykonają pracę za Ciebie. W międzyczasie dałem się porwać ideą TDD oraz Software Craftmanship, do granic możliwości wyeksploatować tak piękne w swej prostocie pomysły jak REST i NoSQL, by potem porzucić je by zgłębić tajniki 'system thinking' i zachwycić się siłą jaką niesie z sobą 'metafora' oraz odkryć, że rządzą nami te same prawa 'natury'.
Niepokorny wyznawca kościoła JVM, badacz bytecode'u i JIT oraz wszelkiej maści parserów, interpeterów i kompilatorów.
Tytuł: JVM: przez dziurkę od klucza
Typ: Deep dive
Poziom: Expert - krew, pot i łzy
Opis: JVM to złożona maszyna, która napędza nasze systemy. Codziennie w pocie czoła przerzuca terabajty obiektów pomiędzy kolejnymi generacjami w GC, generuje strumienie optymalnego kodu skompilowanego przez jeden z kompilatorów JIT, w międzyczasie próbując dogadać się z systemem operacyjnym. Jednak nie zawsze w naszej maszynowni wszystko przebiega zgodnie z planem. Gdzie szukać informacji? Jak odczytywać i interpretować wartości metryk? Kiedy winny jest JVM, nasza aplikacja, a w jakim przypadku system operacyjny?
Podczas tej sesji postaram się pokazać dostępne narzędzia, magiczne przełączniki i dostępne rozwiązania potrzebne w pracy każdego "kryminologa" JVM. Sesja będzie przeznaczona dla osób, które zaczynają przygodę z optymalizacją JVM. Porozmawiamy o zapisywaniu zdarzeń z JVM, narzędziach ukrytych w JDK,w tym także Java Mission Control i Flight Recorder i zobaczymy jak Java płonie :). Nie zapomnimy też o narzędziach dostępnych w systemie operacyjnym Linux.
 
Kto: Wiktor Sztajerowski
Skąd: Programista, trener, Symentis
Zdjęcie: http://bytebay.pl/img/people/wiktor_sztajerowski.jpg
Bio: Programista z ponad 5-cio letnim stażem, trener i konsultant w Symentis.pl, aspirujący mówca konferencyjny, znany między innymi z konferencji 4Developers i Confitura. Obecnie Java Developer w Smart Coders, entuzjasta NoSQL’a i orędownik wykorzystywania więcej niż jednej bazy danych w systemach w słusznych celach, dla sławy i zysku. Prywatnie jeden z liderów łódzkiego JUG’a oraz Zwinnej Łodzi, grupy pasjonatów metody „agile”, a także współinicjator spotkań, Software Architecture & Design Debate, platformy nowego, ciekawego i szerszego spojrzenia na architekturę systemów IT.
Tytuł: O optymalizacji MongoDB przykładów kilka
Typ: Warsztat
Poziom: Rozpracowujemy niuanse
Opis: MongoDB to w ostatnich latach jedna z najpopularniejszych NoSQL'owych baz danych. Jak każda baza obiecuje być szybka, niezawodnia i skalowalna. Jednak jak pokazuje Problem Wyciekającej Abstrakcji (https://en.wikipedia.org/wiki/Leaky_abstraction) nie da się tego osiągnąć bez znajomości niuansów i wewnętrznej implementacji (a przynajmniej wiedzy o tym, jak działa dane narzędzie poniżej publicznego api).
Na warsztacie przyjrzymy się temu jak poszukiwać wąskie gardła, jak czytać explain() i na co zwracać uwagę. Dokładnie przyjrzymy się indeksom. Dowiemy się jak najlepiej wykorzystywać indeksy do sortowania, dlaczego tak ważna jest kolejność pól w indeksie oraz jakie są zasady, którymi powinniśmy się kierować tworząc indeksy.
Aby dodać łyżkę dziegciu do beczki miodu rzucimy okiem na ciemniejszą stronę indeksów - zasobożerność i to jak wpływają na wydajność zapisów.
Oprócz tego zobaczymy kilka trików z klastrami (replica set) oraz na co zwrócić uwagę przy używaniu shardingu.
 
Kto: Michał Michaluk
Skąd: Trainer, Craftsman, Bottega IT Minds
Zdjęcie: http://bytebay.pl/img/people/michal_michaluk.jpg
Bio: Doświadczony w wytwarzaniu nowego oprogramowania zarówno dla startup-ów o skrajnie zwinnym kontekście, jak i zbiurokratyzowanych korporacji z klasycznym modelem. Po tych doświadczeniach jest pewien, że skupienie na wartości dostarczanej przez oprogramowanie klientowi i prostota rozwiązania są kluczem do sukcesu projektów. Kilkuletnia kariera w globalnej korporacji, począwszy od programisty skończywszy na technicznym architekcie grupy projektów, była dla niego doskonałą lekcją wieloletniego utrzymanie oraz rozwoju oprogramowania w olbrzymiej skali. Wtedy poznał dwa kluczowe punkty do zrównoważonego rozwoju oprogramowania i zespołu. Testowanie i refaktoryzacja oprogramowania legacy w środowisku korporacyjnym kiedy "nie mamy czasu na jakość", przynosi zysk dla organizacji i daje wiele satysfakcji programistom do tej pory zmęczonym projektem. Doskonałość warsztatu programistycznego i biegłość w technologiach indywidualnych programistów promieniuje na cały zespól i przynosi wyraźne korzyści dla projektu i organizacji. Ma oryginalne spojrzenie na wytwarzanie oprogramowania: rozwój oprogramowania to inwestycja, a praktyki Agile i Domain-Driven Design pozwalają podążać optymalną ścieżką do osiągnięcia szybkiego zwrotu z tej inwestycji.
Tytuł: Wprowadzenie do Domain-Drived Design na przykładach
Typ: Deep dive
Poziom: Coś już tam trzeba wiedzieć
Opis: Przejdziemy przez przykład aplikacji DDD na podstawie, której wytłumaczę najważniejsze koncepty Domain-Drived Design oraz popularne techniki towarzyszące jak:
  • CQRS
  • CRUD segregation
  • Hexagonal Architecture
  • Knowledge Crunching
  • Event Storming
  • Domain Story
  • Ubiquitous language
  • Domain Model
  • Invariant
  • Aggregate
  • Domain Event
  • Value Object
  • Bounded Context
  • Context Map
 
Kto: Michał Michaluk
Skąd: Trainer, Craftsman, Bottega IT Minds
Zdjęcie: http://bytebay.pl/img/people/michal_michaluk.jpg
Bio: Doświadczony w wytwarzaniu nowego oprogramowania zarówno dla startup-ów o skrajnie zwinnym kontekście, jak i zbiurokratyzowanych korporacji z klasycznym modelem. Po tych doświadczeniach jest pewien, że skupienie na wartości dostarczanej przez oprogramowanie klientowi i prostota rozwiązania są kluczem do sukcesu projektów. Kilkuletnia kariera w globalnej korporacji, począwszy od programisty skończywszy na technicznym architekcie grupy projektów, była dla niego doskonałą lekcją wieloletniego utrzymanie oraz rozwoju oprogramowania w olbrzymiej skali. Wtedy poznał dwa kluczowe punkty do zrównoważonego rozwoju oprogramowania i zespołu. Testowanie i refaktoryzacja oprogramowania legacy w środowisku korporacyjnym kiedy "nie mamy czasu na jakość", przynosi zysk dla organizacji i daje wiele satysfakcji programistom do tej pory zmęczonym projektem. Doskonałość warsztatu programistycznego i biegłość w technologiach indywidualnych programistów promieniuje na cały zespól i przynosi wyraźne korzyści dla projektu i organizacji. Ma oryginalne spojrzenie na wytwarzanie oprogramowania: rozwój oprogramowania to inwestycja, a praktyki Agile i Domain-Driven Design pozwalają podążać optymalną ścieżką do osiągnięcia szybkiego zwrotu z tej inwestycji.
Tytuł: Sesja Event Storming-u
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Na sesji zapoznam was z notacją Event Storming-u, rolą warsztatów ES w procesie zwinnego wytwarzania oprogramowania oraz możliwymi zastosowaniami w waszej codziennej pracy.
Zastosujemy Event Storming Big Picture, Design Level oraz przyjrzymy się relacji modelu ES z kodem źródłowym.
 
Kto: Maciej Krajewski
Skąd: Managing Director / Trener, Yameo
Zdjęcie: http://bytebay.pl/img/people/maciej_krajewski.jpg
Bio: Maciej jest trenerem w Infoshare Accademy i dyrektorem zarządzającym w Yameo, Devops z wieloletnim doświadczeniem. Elokwentny, lubi pracować z energią własną i grupową. Ma wieloletnie doświadczenie w zarządzaniu zespołami developerskimi. Zjadł zęby na realizacji projektów informatycznych w metodologiach klasycznych (certyfikacja PMP oraz PRINCE2) i realizowanych zwinnie (LeSS). Przez 7 lat zarządzał jednym z głównych produktów firmy od strony technologicznej, wspierając zespół jako devops, a następnie dyrektor techniczny. Wielki fanboy docker’a :slightly_smiling_face:. Obecnie dyrektor zarządzający w Yameo Sp. z o.o. Prywatnie, Ironman wannabe…
Tytuł: Docker - wstępniaczek
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Dzięki zastosowaniu dockera możemy w prosty sposób zapewnić izolację serwisów, zwiększając tym samym bezpieczeństwo i stabilność aplikacji. Podejście kontenerowe umożliwia nam sprawne i pełne odtworzenie środowisk produkcyjnych w każdym miejscu (nawet na swoim laptopie). Poznasz technologię, która rozwiąże większość problemów, jakie masz dzisiaj ze środowiskami dev/test i prod. W prosty i łatwy sposób będziesz w stanie dostarczać kolejne "paczki" z softem do klienta oraz co najważniejsze, będziesz miał pewność, że jak "działa lokalnie to zadziała też na produkcji" :)
Trener ma ponad 3 letnie doświadczenie z dockerem, był odpowiedzialny za zdockeryzowanie aplikacji czasu rzeczywistego opartej na javie składającej się z kilkudziesięciu różnych kontenerów. Nie ma pytania z docker’a na które nie zna odpowiedzi.
Podczas warsztatu poruszymy następujące kwestie:
  • Czym jest Docker
  • Tworzenie kontenerów
  • Zarządzanie kontenerami
  • Dokeryzowanie aplikacji
  • Zarządzanie obrazami Dockera
  • Budowanie skalowalnej aplikacji

Oczekiwany poziom: Podstawowa wiedza z zakresu linuxa - poruszanie się po konsoli, instalowanie paczek itd. Doświadczenie z dockerem mile widziane, gwarantuje że poznasz go lepiej.
 
Kto: Paweł Kapała
Skąd: Business Driven Developer, kapware.com
Zdjęcie: http://bytebay.pl/img/people/pawel_kapala.jpg
Bio: Inżynier, business driven developer, programista Clojure, przedsiębiorca w kapware.com. Współorganizator Toruń JUG. Pozostający w długoletnim związku małżeńskim z JVM od 2006 roku.
Tytuł: Clojure Koans & REST assured
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Clojure Koans
Nie znasz Clojure? Nie ma problemu! Przy użyciu prostych przykładów, rozwiązując praktyczne zadania polegające na naprawieniu testów jednostkowych nauczysz się języka krok po kroku. Zapraszam wszystkich, którzy chcą spróbować sił w programowaniu funkcyjnym i zobaczyć o co na prawdę chodzi z tymi "nawiasami".
REST assured
Zbudujmy coś praktycznego! Krok po kroku, małymi zmianami zbudujemy razem prostą aplikację, która będzie odpowiadać na http. Taki typowy przypadek użycia. Pozwoli to przećwiczyć wiedzę nabytą w pierwszej części warsztatu.
 
Kto: Sławomir Sobótka
Skąd: Główny trener / architekt, Bottega IT Minds
Zdjęcie: http://bytebay.pl/img/people/slawek_sobotka.jpg
Bio: Jest trenerem i konsultantem w firmie Bottega IT Minds, specjalizuje się w technologiach Java EE. W codziennej pracy integruje Domain Driven Design, wzorce, style architektoniczne, zwinne procesy wytwórcze i zdrowy rozsądek. Stosuje nadrzędną zasadę: rozpoznać klasę problemu z jaką ma się do czynienia i dobrać do niej odpowiednią klasę narzędzia. Hobbystycznie interesuje się psychologią pozytywną i kognitywistyką. Lubi myśleć o sobie jako entuzjaście Software Craftsmanship.
Tytuł: Jak przygotować swoją pierwszą prezentację (lub ulepszyć istniejące)?
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Jeżeli nosisz w sobie kawałek wartościowej wiedzy ale zastanawiasz się jak ją "sformatować" w formę ciekawej prezentacji to zapraszam na mój warsztat.
Zajmiemy się jednym z kilku aspektów wystąpienia: przygotowaniem treści.
Podczas warsztatu będziemy ćwiczyć sprawdzone techniki:
- nawiązanie połączenia z odbiorcami poprzez role i problemy
- prowadzenia osi narracji poprzez pytania jakie stawiają sobie odbiorcy
- używanie "włączającego" języka i trybu dialogu
- kilka wzorców tworzenia prezentacji: ADEPT, Context-problem-questions-solutions, triada, łuk narracyjny, metaprogramy
 
Kto: Wiktor Bachnik
Skąd: Chief Software Architect, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Wiktor_Bachnik.jpg
Bio: Programista lubiący wyzwania. Oprócz aspektów technicznych, zainteresowany również społeczną stroną rozwoju oprogramowania.
Tytuł: JMX w praktyce
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Podczas warsztatu zapoznamy się z Java Management Extensions (JMX). Zaczniemy od wprowadzenia do tematu i poznania możliwości technologii. Sprawdzimy narzędzia, które pozwalają korzystać z JMX, zobaczymy także co mają do zaoferowania popularne frameworki i biblioteki, których większość z Was już używa. Zakończymy implementacją własnych pomysłów oraz omówieniem najlepszych praktyk.
 
Kto: Zbyszko Papierski
Skąd: Programista, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/zbyszko_papierski.jpg
Bio: Inżynier, z silnym uzależnieniem od produktowej warstwy rozwiązania. Związany w przeszłości z Allegro, Jirą a ostatnio Dynatrace. Wszędzie gdzie się da szuka ciekawych danych, szczególnie takich bez struktury, Po godzinach zajmuje się inicjatywami trójmiejskiego JUGa, takimi jak Hackengarten, a także ostatnio próbuje nauczyć się swojego pierwszego (i najprawdodopodobniej ostatniego) języka orientalnego.
Kto: Jakub Słota
Skąd: Programista, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Jakub_Slota.jpg
Bio: Programista full-stack specjalizujący się w technologii Java, od początku kariery zawodowej związany z firmą Dynatrace. Jeden z pierwszych członków zespołu Log Analytics, rozwijającego projekt służący do szeroko pojętej analizy logów. Entuzjastycznie nastawiony do paradygmatów programowania, wzorców projektowych oraz dobrych praktyk, prowadzących do zwiększenia czytelności i testowalności kodu.
W czasie wolnym od komputera można go spotkać na koncertach muzyki filmowej, w kinie lub na szlaku górskim. Stara się równoważyć stacjonarny charakter wykonywanej pracy, przestrzegając zasad zdrowego stylu życia.
Tytuł: Zawładnij (hiper)tekstem, czyli jak zbudować wyszukiwarkę?
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Przeszukiwanie tekstu zagościło na dobre we współczesnych aplikacjach internetowych. Czy zastanawiałeś się, jak to właściwie działa? Może chciałbyś stworzyć własną wyszukiwarkę, obsługującą różnorodne formy danych wejściowych?
Poznaj Lucene - silnik wyszukiwania leżący u podstaw popularnych rozwiązań, takich jak Elasticsearch, Opengrok, czy Apache Solr. Dowiedz się, jak zbudowany jest indeks wyszukiwarki i jak sprawić, aby użytkownik szybko znalazł interesujące go dane. W ramach warsztatu zobaczysz, jak sprowadzić tekst do postaci, którą można efektywnie przeszukiwać. Nauczysz się także stosować Lucene w praktyce, krok po kroku budując własną, coraz bardziej wyrafinowaną wyszukiwarkę.
 
Kto: Kasper Kulikowski
Skąd: Software Engineer, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Kasper_Kulikowski.jpg
Bio: Absolwent ETI, Programista i trener Java, lokalny patriota. Od 3 lat w Dynatrace, gdzie pracowałem przy kilku projektach, aktualnie przy module do analizy logów.
Po pracy prowadzę warsztaty z programowania i podnoszę ciężkie rzeczy.
Kto: Przemysław Delewski
Skąd: Senior Software Engineer, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Przemyslaw_Delewski.jpg
Bio: Interesuje mnie redukowanie luki pomiędzy problemem a rozwiązaniem. Ponadto wszystko co jest związanie z projektowaniem oprogramowania, językami domain specific, kompilatorami i generowaniem kodu.
Tytuł: Speed-up code evaluation by JIT compilation
Typ: Deep dive
Poziom: Expert - krew, pot i łzy
Opis: Podczas prezentacji chcialbym odpowiedziec na pytanie, dlaczego generowanie kodu ma sens, gdzie mozna je zastosowac i w jaki sposob zwieksza wydajnosc. Postaram sie takze omowic obecne trendy w tej dziedzinie. Zmierzajac do celu przedstawie budowe kompilatorow oraz opisze kolejne fazy kompilacji skupiajac sie na generowaniu kodu, poczynajac od frontentu, konczac na generowaniu kodu maszynowego.
 
Kto: Dominika Makuch
Skąd: Software Developer, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Dominka_Makuch.jpg
Bio: Programistka i wielbicielka języka Java oraz technologii okołowyszukiwarkowych, ostatnio pilnie zgłębiająca zagadnienia wokół machine learningu i big data. W ciągu ostatnich 10 lat zdarzało jej się pracować jako software developer, software architect, cloud software engineer, team leader czy technical project manager i zajmować się backendami serwerów wyszukiwawczych, CMSów, platformy mailingowej czy big data'owej platformy będącej częścią projektu autonomicznego samochodu. Obecnie, w Dynatrace, pracuje nad rozwojem zaawansowanych systemów monitorujących.
Poza pracą dzieli się wiedzą w ramach trójmiejskiego JUGa i w InfoShare Academy a jej prezentacja nt. machine learningu była top3 speakerów konferencji JDD2016.
Kto: Patryk Makuch
Skąd: , EPAM
Zdjęcie: http://bytebay.pl/img/people/patryk_makuch.jpg
Bio: Współautor serwera wyszukiwawczego obsługującego miliony zarówno userów jak i requestów dziennie w WP.PL, gdzie zdobywał doświadczenie programistyczne przez wiele lat. Tworzył różnorodne aplikacje od wspomagania dla tłumaczy do aplikacji low latency dla banku i zajmował standardowe stanowiska takie jak programista, team leader czy architekt. Aktualnie w EPAM Systems członek Search Competency Center - zespołu pomagającego projektować, implementować i optymalizować wyszukiwanie w projektach tworzonych we wszystkich oddziałach firmy.
Zwolennik głębokiej wiedzy w czasach ślizgania się stackoverflowem po API-powierzchniach. Uczestnik dziesiątków konferencji. Prelegent i prowadzący warsztaty m.in. w ramach TJUG.
Wielbiciel porządnej, jasno-palonej arabiki z Kenii. Wyznawca prawdy, że "życie jest zbyt krótkie, żeby pić złą kawę", szczególnie jeśli pijesz jej tyle co programista.
Tytuł: ElasticSearch: wydajnościowe pułapki?
Typ: Deep dive
Poziom: Rozpracowujemy niuanse
Opis: Z ElasticSearchem łatwo zacząć - ściągasz JARa, uruchamiasz, budujesz swój pierwszy indeks i bawisz się RESTowym API. Kilka sprintów dalej wdrażasz rozwiązanie na produkcję, puszczasz na nie produkcyjny ruch... i jesteś nieco zmartwiony wydajnością.
Domyślna konfiguracja indeksów ElasticSearcha nie pasuje do wszystkich przypadków użycia i w produkcyjnych warunkach prawie zawsze musimy coś zmienić. A żeby nie uciekać się do, niekiedy kosztownych, metod typu “kręcę gałami i patrzę co się dzieje” potrzebna jest odrobina wiedzy o tym, co się kryje pod maską.
W trakcie sesji postaramy się tę wiedzę dostarczyć. Na początek powiemy kilka słów o samym sercu ElasticSearcha, którym jest indeks Lucene, a następnie zrobimy przegląd parametrów konfiguracyjnych, które wpływają na wydajność, za każdym razem demonstrując co się dzieje z indeksem kiedy je zmieniamy i jak to wpływa na czas indeksowania, czas odpowiedzi na zapytanie, wielkość indeksu, czy pamięć zużytą do obsługi zapytania. Zilustrujemy te przykłady opowieściami z życia wziętymi.
Sesja jest przeznaczona dla tych, którzy zaczynają przygodę z optymalizacją ElasticSearcha i zamiast polegać na metodzie na chybił-trafił, woleliby zanurkować głębiej, zrozumieć mechanikę działania i na tej podstawie wykonać kilka bardziej precyzyjnych ruchów.
 
Kto: Grzegorz Witczak
Skąd: Software developer, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Grzegorz_Witczak.jpg
Bio: Od niemal czterech lat w Dynatrace zajmuję się rozwijaniem narzędzia do monitorowania baz danych, ułatwiając życie programistom i devopsom na całym świecie.
Po godzinach gadżeciarz i pasjonat bezpieczeństwa IT, buduję różne cuda z wykorzystaniem Raspberry Pi.
Kto: Michał Weyer
Skąd: Software developer, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Michal_Weyer.jpg
Bio: Siedem lat kariery spędziłem w bankach, gdzie błędy łatwo przeliczało się na pieniądze. Od dwóch lat w Dynatrace pracuję nad tym, żeby praca developerów była mniej stresująca i bardziej widoczna.
Tytuł: Wydajność bazy danych z perspektywy programisty
Typ: Warsztat
Poziom: Rozpracowujemy niuanse
Opis: Na warsztacie pokażemy, co dzieje się "na zapleczu" relacyjnej bazy danych, kiedy wykonujemy codzienne czynności i odpowiemy na odwieczne pytanie "dlaczego tak wolno?".
Zaczynając od wnioskowania o samych danych, przejdziemy stopniowo do architektury bazy i typowych nieporozumień między bazą a programistą (n+1 query problem, normalizacja-denormalizacja, zarządzanie połączeniami). Po skończonym laboratorium każdy z uczestników powinien czuć się pewnie diagnozując własne problemy z bazą.
W czasie warsztatu będziemy korzystać z przygotowanego przez nas Microsoft SQL Servera, natomiast poruszane tematy są niezależne od silnika bazy danych.
wymagania przed warsztatem: laptop min 8 GB RAM (najlepiej 16GB), dowolny OS, zainstalowany VirtualBox, Java JDK8 albo Java JDK9
 
Kto: Marcin Okraszewski
Skąd: Chief Software Architect, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/marcin_okraszewski.jpg
Bio: Od ponad 10 lat pracuję w firmie Dynatrace, obecnie na stanowisku architekta. W trakcie mojej przygody z Dynatrace miałem okazję rozwijać diametralnie różne produkty - od analizatora ruchu sieciowego w C++ o ogromnych wymaganiach wydajnościowych, przez aplikację desktopową w .Net i pluginy dla platformy Eclipse, po rozwiązania SaaS z użyciem Big Data pracujące w chmurze Amazon. A po godzinach wychowuję kolejne pokolenie informatyków.
Kto: Michał Weyer
Skąd: Software developer, Dynatrace
Zdjęcie: http://bytebay.pl/img/people/Michal_Weyer.jpg
Bio: Siedem lat kariery spędziłem w bankach, gdzie błędy łatwo przeliczało się na pieniądze. Od dwóch lat w Dynatrace pracuję nad tym, żeby praca developerów była mniej stresująca i bardziej widoczna.
Tytuł: Java Mission Control + Flight Recorder — diagnozowanie problemów wydajnościowych na produkcji
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Narzędzia JDK pozwalają na szczegółową analizę wydajności. Możemy liczyć że będą dostępne na (pre-)produkcji. Co daje nam duże możliwości diagnozowania problemów. Nawet jeśli podchodzimy do problemu ad hoc — nie planowaliśmy takiej możliwości przy wdrożeniu i instalacji.
Na warsztacie zobaczymy jak za pomocą narzędzi JDK wykryć przykładowe problemy: wyciek pamięci, nadmierna alokacja obiektów, źle skonfigurowany GC. Porównamy informacje dostępne w maszynie wirtualnej, z tym co oferuje system operacyjny. Przyjrzymy się możliwościom wizualizacji i automatyzacji.
 
Kto: Grzegorz Dyrda
Skąd: Full Stack Mobile Developer, Geeky Devs
Zdjęcie: http://bytebay.pl/img/people/grzegorz_dyrda.jpg
Bio: Programista od ponad 15 lat. Przedsiębiorca od trzech. Minimalista i pragmatyk - stąd pewnie nieskrywana miłość do Kotlina :) Od 5 lat związany głównie z rynkiem apek mobilnych. Na co dzień tworzy i sprzedaje własne apki, czym zarabia na chleb i wczasy na Kanarach :) Prywatnie - snuje plany na milionowe imperium, czyta, bloguje, chodzi po górach, gra na gitarze i zaraża innych swoją pasją :)
Tytuł: Introduction to Kotlin
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Jeśli coraz częściej słyszysz o Kotlinie, ale dotąd nie miałeś(-aś) czasu bliżej się z nim zapoznać, to te warsztaty są właśnie dla Ciebie :)
Zapraszam na piękną przygodę poznawania języka, który czerpie pełnymi garściami z doświadczeń swoich wielkich poprzedników - Java, C#, Groovy, JavaScript, Scala, Swift - biorąc z nich to, co najlepsze, a odrzucając to, co słabe.
Najpierw omówimy założenia języka i motywy jakie przyświecały jego twórcom (JetBrains). A potem włączymy IntelliJ i zaczniemy się bawić :) Serio - niektóre rozwiązania są tak genialne, że wywołują niekontrolowany uśmiech na twarzy :) Przećwiczymy najważniejsze elementy składni języka i jego najciekawsze funkcjonalności, rozwiązując przy tym sporo praktycznych zadań.
 
Kto: Rafał Borowiec
Skąd: , Goyello
Zdjęcie: http://bytebay.pl/img/people/rafal_borowiec.jpg
Bio: Rafał o sobie: Profesjonalista IT, entuzjasta open source oraz zwinnych metodyk wytwarzania oprogramowania, developer, wykładowca i trener IT, sporadycznie bloger
Kto: Maciej Koziara
Skąd: , Goyello
Zdjęcie: http://bytebay.pl/img/people/maciej_koziara.jpg
Bio: Karierę rozpoczął 3 lata temu od przygody z GWT. Potem przyszedł Spring Boot razem z Javą 8 i od tamtej pory skupia się głównie na stronie backendowej, okazjonalnie wspomagając i poznając frontend. Jest fanem czystego kodu, prostych rozwiązań i dużej ilości testów.
Tytuł: JUnit5
Typ: Deep dive
Poziom: Wprowadzenie
Opis: To praktyczny warsztat adresowane jest do programistów Java, chcących poznać najnowszą wersję frameworka do tworzenia testów jednostkowych - Junit 5. JUnit 5 to całkowicie nowy projekt, oferujący wiele ciekawych funkcjonalności takich jak m.in. całkowite wsparcie dla Javy w wersji 8, wstrzykiwanie parametrów, testy parametryzowane czy w końcu nowe i API umożliwiające łatwiejsze niż kiedykolwiek rozszerzanie możliwości frameworka i dostosowanie go do potrzeb projektowych . JUnit 5 daje całkowicie nowe możliwości pisania testów. Na szkoleniu poznasz podstawy Junit 5 jak również sposoby integracji z popularnymi bibliotekami takimi jak Mockito, AssertJ czy RESTAssured. Poznasz również możliwości wykorzystania frameworku w tworzeniu testów integracyjnych dla aplikacji opartych o Spring Boot i Spring Framework.
Zakres:
  • Gradle i Maven oraz wsparcie IDE
  • Junit 5 - wprowadzenie
  • Asersje oraz integracja z AssertJ
  • Testowanie wyjątków
  • Testy parametryzowane
  • Mockito
  • Spring / Spring Boot
  • REST Assured
  • Extension API
 
Kto: Paweł Włodarski
Skąd: Starszy Inżynier Oprogramowania, Idemia
Zdjęcie: http://bytebay.pl/img/people/pawel_wlodarski.jpg
Bio: Od kilku lat w ramach łódzkiego JUGa (czyli grupy miłośników technologii już nie tylko okołojavowywch) organizuję wykłady, warsztaty i ćwiczenia – tak zwana praca u podstaw społeczności IT. Co roku także trochę pomagam przy organizacji chyba największej w Łodzi konferencji skupiającej się na technologiach mobilnych – \"Mobilization\". Komercyjnie już od ponad 10 lat programuję w Javie a ostatnio doszła do tego i Scala.
Tytuł: Wprowadzenie do Scali
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Java 10 tuż tuż i już nikogo nie będzie dziwić zapis var s=”hello”. Alternatywne języki JVM wpływają na to jak rozwija się sama Java i chciałbym was zachęcić do poznania mechanizmów w tychże językach zanim wszystko trafi do mainstreamu.
Ponieważ Java przyzwyczaiła nas do podejścia obiektowego to i od tego zaczniemy nasza naukę. Zobaczymy, że Scala jest tak naprawde bardziej obiektowa niż Java a także i wprowadza wiele ciekawych mechanizmów, które sprawdziły się na tyle, że również pojawiają się w Kotlinie.
W dalszej części - w zależności od tego co będzie chciała robić publiczność - możemy pójść dalej w system typów lub skupić się na funkcjach.
Nie trzeba znać Scali, trzeba trochę znać Javę.
Kto chętny może zapoznać się z teorią : https://pawelwlodarski.gitbooks.io/workshops/content/
Przygotowanie środowisko
  • Wyciągnijcie kod : https://github.com/PawelWlodarski/workshops
  • Zainstalujcie https://www.jetbrains.com/idea/ community edition (bezpłatne) i później w opcjach zainstalujcie plugin do scali.
  • Zaimportujcie projekt (ten z wyciągniętego kodu) do IDE.
  • Otwórzcie klaskę "TestingJavaClassAnswer" (2 razy Shift otwiera okno wyszukiwania) i odpalcie (ctrl+Shift+F10). Powinien pojawić się zielony pasek.
 
Kto: Daniel Pokusa
Skąd: Technical Team Leader, Onwelo
Zdjęcie: http://bytebay.pl/img/people/daniel_pokusa.jpg
Bio: Zapalony zwolennik zwinnych metodyk prowadzenia projektów, automatyzacji i efektywności. Z jednej strony programista, ściśle związany z rodziną języków JVM oraz kierownik projektów, z drugiej trener zajmujący się wsparciem w zakresie jakości projektów, organizacji zespołu, rekrutacji i rozwoju personalnego. Każdego dnia stara się obalić mit programisty we flanelowej koszuli nie posiadającego zdolności interpersonalnych, a jedynie wiedzę techniczną. Wierzy, że istotą wytwarzania dobrego oprogramowania jest komunikacja, współpraca i umiejętność dzielenia się wiedzą. Współtwórca konferencji SpreadIT oraz aktywny uczestnik wydarzeń ze światka IT. Bloguje na http://software-empathy.pl
Kto: Paweł Młynarczyk
Skąd: , Onwelo
Zdjęcie: http://bytebay.pl/img/people/pawel_mlynarczyk.jpg
Bio: Programista od 10 lat nieustannie związany z Javą. Koduje, devopsuje i pomaga w rozwoju młodszym kolegom. Od czasu do czasu można go usłyszeć na konferencjach IT. Uczy się, kiedy tylko może. Prywatnie tata, miłośnik komiksu i czeskiego kina.
Tytuł: Kubernetes od podstaw
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: W świecie systemów rozproszonych, mikrousług, zdarzeń programiście nie wystarczy już tylko wiedzieć jak napisać i zbudować kod źródłowy. W świecie, w którym system podzielony jest na kilka, kilkanaście, kilkadziesiąt lub kilkaset modułów przychodzi taki moment w którym potrzebujemy skomunikować się z innymi komponentami.
W tym samym świecie systemy produkcyjnie uruchamiamy w chmurze. I wszystko ładnie, pięknie, ale jak tutaj prowadzić development? Czy każdy programista powinien mieć swoją chmurę na którą będzie w stanie wrzucić swoje "dziecko w trakcie aktu tworzenia"? Czy musimy uruchamiać wszystko? Co z kosztem? W takim razie może powinienem uruchamiać swoją lokalną instancję poza chmurą? Ale czy wtedy nie istnieje ryzyko, że inny sposób wdrożenia podczas developmentu spowoduje problemy na środowiskach produkcyjnych?
A może by tak dało się prościej? Może da się tworzyć w oparciu o takie same podejście do wdrożeń na lokalnej maszynie programisty z możliwością wybrania, które elementy faktycznie powinny zostać uruchomione? Może development mógłby działać podobnie do produkcji i gwarantować taki sam sposób wdrożenia?
Chciałbym Wam pokazać jedną z alternatyw- podejście które jest wygodne zarówno od strony OPSów jak i programistów, podejście, które potrafi bardzo przyspieszyć i ułatwić development. Podejście, które pozwoli nam (programistom) i administratorom wejść w świat kultury devops i naprawdę lepiej rozumieć siebie nawzajem.
W ramach warsztatów:
  • Skonfigurujesz poprawnie lokalne środowisko pracy z kubernetesem
  • Na podstawie przygotowanych i udostępnionych obrazów dockera przykładowych aplikacji wdrożysz własne moduły na kilka różnych sposobów wraz z wyróżnieniem wad i zalet każdego z podejść
  • Opracujesz automatyczny restart aplikacji na wypadek problemów i zobaczysz jak działa to w praktyce
  • Skonfigurujesz na potrzeby developmentu bazy danych i inne usługi serwisowe
  • Zdefiniujesz automatyczne skalowanie aplikacji
  • Przeprowadzisz rolling-release przykładowej aplikacji gwarantując tzw. "zero-downtime"
  • Dowiesz się jak rekonfigurować aplikację za pomocą config map
  • Zabezpieczysz hasła i klucze do baz danych

Wszystko to pozwoli Ci swobodnie pracować i przygotowywać konfiguracje aplikacji za które administratorzy Cię pokochają :)
 
Kto: Wojciech Oczkowski
Skąd: Trener, Architekt, IT Kontekst
Zdjęcie: http://bytebay.pl/img/people/wojtek_oczkowski.jpg
Bio: Prowadzący własną działalność specjalista do spraw trudnych, zawodowo rozwiązuje problemy związane z projektowaniem architektury systemów, integracją, wydajnością i jakością kodu. Znajduje obsesyjną wręcz przyjemność w wynajdowaniu sensu w cudzym kodzie. Prywatnie rozwiązuje problemy związane z wychowaniem 2-ki dzieciaków i znajdowaniem czasu na żeglowanie i czytanie literatury fantastycznej.
Tytuł: Testowanie wydajności kodu Javy za pomocą narzędzia JMH.
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Testowanie wydajności kodu. A co w tym trudnego? Wystarczy System.currentTimeMillis() przed i po wywołaniu metody i po kłopocie. Przecież sam Bruce Eckel tak robił. Okazuje że można przy okazji popełnić wiele typowych błędów, które mogą spowodować, że nasze szacowania będą bezużyteczne. W ramach sesji warsztatowej wykorzystamy narzędzie JMH do testowania naszych kawałków kodu i zobaczymy jak pomoże nam ono tych błędów uniknąć. Przy okazji poznamy też triki JIT-compilera, którymi sprawia, że java potrafi działać naprawdę szybko ale przy okazji czyni pisanie microbenchmarków zadaniem nie tak trywialnym jakby się mogło na pierwszy rzut oka wydawać.
Uczestnicy powinni umieć programować w Javie.
 
Kto: Krzysztof Mejka
Skąd: , Travactory
Zdjęcie: http://bytebay.pl/img/people/krzysztof_mejka.jpg
Bio: Aktualnie Senior Java Developer w Travactory.com. Fan mikroserwisów i wypróbowywania nowych technologii. Próbuje każdego przekonać do konsekwentnego podejścia do pracy i programowania. Stara trzymać się najlepszych praktyk i nie iść na skróty podczas rozwiązywania skomplikowanych problemów.
Tytuł: Implementacja OAuth 2.0 za pomocą Spring Boot
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: W ramach warsztatu opiszę na czym polega bardzo popularny framework OAuth 2.0 oraz pokażę jak wygląda jego implementacja w Spring Boot oraz jak zabezpieczyć za jego pomocą system zbudowany w oparciu o mikroserwisy
Uczestnicy powinni umieć programować w Javie.
 
Kto: Bartłomiej Witczak
Skąd: Unicorn, DayOne
Zdjęcie: http://bytebay.pl/img/people/bartek_witczak.jpg
Bio: Codziennie uczę się nowych rzeczy i testuje rożne narzędzia, żeby nie wkręcać śruby młotkiem. Pracowałem w małych, średnich i dużych firmach - teraz realizuję marzenia i zdobyte doświadczenia wykorzystuję rozwijając własną firmę - DayOne. Wkręciłem się w programowanie funkcyjne - Haskell, Elm, Elixir - staram się czerpać, co się da w codziennej pracy.
Tytuł: Functional concepts in JavaScript
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Niektóre elementy programowania funkcyjne przydadzą się każdemu. Nie będziemy omawiać monad, funktorow i innych ciekawych matematycznych terminów. Zobaczymy w jaki sposób programowanie funkcyjne pomoże nam udoskonalić nasz kod, uczyni go bardziej czytelnym. Będziemy eksperymentowali z kilkoma funkcyjnymi operacjami i typami danych. Prześledzimy konstrukcje, które wykorzystujemy na co dzień i przeniesiemy je do świata programowania funkcyjnego.
 
Kto: Andrzej Janczak
Skąd: , Scalac
Zdjęcie: http://bytebay.pl/img/people/andrzej_janczak.jpg
Bio: Programista Scali z 3 letnim doświadczeniem produkcyjnym. Miłośnik podejścia funkcyjnego. Lubię czysty kod, catsy, proste rozwiązania skomplikowanych problemów i dobrą kawę. Specjalista Scali, Akki oraz innych narzędzi ze stacku Scali. Na chwilę obecną rozwijam się w programowaniu funkcyjnym (tak, cały czas) oraz rozproszonym. Interesuje mnie także architektura systemów oraz tematy Big/Fast data.
Tytuł: Efektywne programowanie funkcyjne w Scali
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Odnośnie programowanie funkcyjnego oraz Scali narosło wiele mitów takich jak: "Programowanie funkcyjne jest trudne i to sama matma", "Scala jest nieproduktywna, niezrozumiała i ogólnie ciężka".
Podczas moich warsztatów, dowiesz się że to wszystko nieprawda. Pokażę Ci, że programowanie funkcyjne w Scali jest logiczne, zrozumiałe i proste.
Lecz uważaj, smakując raz potęgi ciemnej (tak na prawdę jasnej) strony mocy, być może już nigdy nie będziesz chciał wrócić do starych praktyk.
Uczymy się poprzez praktykę, więc jak najwięcej kodu będziecie pisać samodzielnie. Nie będziemy się rozwodzić nad słowami zaczynającymi się na M, F oraz A. Będą natomiast zadania w przygotowanej domenie, z problemami, z którymi spotykacie się na codzień.
Znajomość Scali nie jest konieczna, ale nie będę opisywał i zagłębiał się w podstawy samego języka. Skupimy się na zaletach i bezpieczeństwie jakie daje podejście funkcyjne.

Założenia i metodologia: Stosujemy metodę fake it till you make it , czyli udajemy, że doskonale znamy teorię programowania funkcyjnego i pomijamy jej wewnętrzne skomplikowanie.
Nie rozkładamy samochodu na części pierwsze. Tak jak w życiu, najpierw tylko jeździmy samochodem i ewentualnie sami wymieniamy olej, abstrahując od wewnętrznego skomplikowania mechanizmów.
Warsztaty będą bardzo praktyczne. Najpierw przedstawię wam zasadę działania elementu poprzez przykłady lub live-coding, a następnie będziecie sami implementować konkretne zadanie na przygotowanej domenie i templacie.
 
Kto: Norbert Wójtowicz
Skąd: ,
Zdjęcie: http://bytebay.pl/img/people/norbert_wojtowicz.jpg
Bio: Norbert Wójtowicz is a recovering empty-stack developer, whose magic 8-ball predicts that Clojure and ClojureScript will be in your future toolbox. You can find his code and ramblings in various corners of the internet, under the felicitous handle @pithyless.
Tytuł: Datalog: Biting the Silver Bullet
Typ: Deep dive
Poziom: Coś już tam trzeba wiedzieć
Opis: "Databases, databases everywhere! Which one do I need?" -- You need all of them; you need none of them; you're asking all the wrong questions! This workshop is dedicated to solving the data vs code impedance mismatch with a 1970's technology (chevron mustache is optional). This workshop assumes no previous knowledge of Datalog and applies to both client and server applications. If you are interested in data pipelines, GraphQL, event-sourcing, or building maintainable data systems, you will leave a better person* (some restrictions apply, promises are not legally binding).
 
Kto: Michał Gryko
Skąd: , Nordea
Zdjęcie: http://bytebay.pl/img/people/michal_gryko.jpg
Bio: Od dziecka zainteresowany elektroniką. Często rozkładałem rzeczy na części aby sprawdzić jak działają. Absolwent Elektroniki na Politechnice Gdańskiej, od 12 lat pracuję jako ... (tu wstaw aktualny buzzword określający sysadmina). Obecnie zatrudniony jako senior Site Reliability Engineer w Nordea Trading Technology.
Kto: Bartek Nowakowski
Skąd: , Nordea
Zdjęcie: http://bytebay.pl/img/people/bartek_nowakowski.jpg
Bio: Absolwent informatyki i MBA, od 5 lat pełni role managerskie w sektorze IT. Pracował w firmach o różnej wielkości: od małych startupów po korporacje, które zajmowały się różnymi dziedzinami IT (firmware, sterowniki sprzętu, mobile, eCommerce, social media, big data, rynki finansowe). Aktualnie Java developer w Nordea Capital Markets dostarczającym narzędzia dla rynków finansowych. Zaangażowany w organizację Trójmiejskiego Java User Group. Interesuje się ekonomią behawioralną i psychologią.
Tytuł: Wykorzystanie dockera w celu poprawy efektywności CI/CD
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Dzięki zastosowaniu dockera możemy zwiększyć efektywność naszego CI/CD. I nie mamy tu na myśli konteneryzacji aplikacji, a wykorzystanie dockera jako składnik środowiska budującego (development toolchain). Na warsztacie wspólnie przygotujemy build plan w narzędziu CI z pojedynczym agentem, a następnie jak w prosty sposób skalować to rozwiązanie gdy przybywa nam obciążenia - zarówno w postaci wzrostu ilości: użytkowników, build planów oraz samych buildów. Każdy z uczestników będzie rozwijał swoje środowisko CI z wykorzystaniem platformy chmurowej. W wielu firmach dużym problemem jest utrzymywanie wydajnej infrastruktury CI/CD i chcemy zaprezentować jeden ze sposobów na rozwiązanie tego wyzwania.
Podczas warsztatu poruszymy następujące kwestie:
- Tworzenie kontenera budującego przykładową aplikację
- Uruchomienie kontenera budującego w lokalnym środowisku
- Symulacja wzrostu ilości równoległych buildów
- Skalowanie kontenerów budujących z wykorzystaniem chmury
 
Kto: Tomasz Mazur
Skąd: , Nordea
Zdjęcie: http://bytebay.pl/img/people/tomasz_mazur.jpg
Bio:


Kto: Tomasz Wnorowski
Skąd: , Nordea
Zdjęcie: http://bytebay.pl/img/people/tomasz_wnorowski.jpg
Bio:


Tytuł: Service Discovery & Failure Detection with Consul (101)
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Do you want to know how you can ensure that your microservices are resilient to network problems? Or perhaps you need to know how to keep system running even after crash of the half of the servers? Join our workshop to learn more. The workshop provides intensive introduction into service discovery tool from Hashicorp - Consul.
Our exercises ran for the two-and-half hour and at the end, you should have basic knowledge on how to do service discovery and failure detection in highly resilient environments. We will also cover some best practices for using Consul at scale.
 
Kto: Adam Marczyk
Skąd: , Nordea
Zdjęcie: http://bytebay.pl/img/people/adam_marczyk.jpg
Bio:
Tytuł: React – co i jak?
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Chcesz nauczyć się najpopularniejszej technologii do tworzenia aplikacji internetowych? Poprawić swoje umiejętności programowania w JavaScript? Skupiając się na prostocie przekazu ten kurs pokaże Ci:
- Jak zbudować dynamiczną aplikację internetową w krótkim czasie
- Jak wykorzystać create-react- app w swojej pracy
- Jak skorzystać z nowych funkcji ES6
W czasie warsztatu zbudujemy razem aplikację opartą o najnowocześniejsze technologie frontendowe, których używa m. in. Netflix, Facebook czy AirBnB.
 
Kto: Łukasz Szweda
Skąd: , Nordea
Zdjęcie: http://bytebay.pl/img/people/lukasz_szweda.jpg
Bio: Software developer z 15-letnim stażem. Piastował stanowiska developerskie oraz managerskie zarówno w polskich jak i zagranicznych firmach. Pracował z róznymi technologiami (embedded, mobile, full stack). Entuzjasta Pythona. Obecnie Expert Developer w Nordea odpowiedzialny za rozwój i utrzymanie narzędzi do testowania platformy Big Data.
Tytuł: Testy integracyjne przetwarzania danych z uzyciem RobotFramework
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Agenda
- wprowadzenie do RobotFramework
- przykłady bibliotek wbudowanych
- automatyzacja testów integracyjnych procesu ETL
 
Kto: Marcin Stożek
Skąd: Senior Devops Engineer, Collective Sense
Zdjęcie: http://bytebay.pl/img/people/marcin.stozek.jpg
Bio: Za dnia jestem programistą i devopsem, po nocach czytam co słychać na Hacker News. Wierny fan pracy zdalnej. Brałem udział w wielu projektach z różnych dziedzin, od bezpieczeństwa w kolejkach po Hadoopa, od monolitu do mikroserwisów.
Wyznaję automatyzację oraz wierzę, że Linux to najlepsza rzecz pod słońcem. No, może druga w kolejności zaraz po Vim ;)
Tytuł: NginX + Lua = OpenResty
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Czy wiesz co potrafi zrobić twój serwer reverse-proxy? Wydaje Ci się, że żeby zrobić sprytny routing / uwierzytelnianie / autoryzację (niepotrzebne skreślić) między serwisami musisz go napisać w Javie lub jako moduł w C? A co jeżeli odpalanie JVM tylko po to, żeby do każdego żądania http dokleić jeden nagłówek to armata na wróbla? Zwłaszcza, że prawie na pewno gdzieś tam po drodze mijasz nginx... Zapraszam Cię do świata idealnej symbiozy nginx i Lua.
Znajomość Lua ani nginx nie jest wymagana - będziemy robić warsztaty od "zera do bohatera".
 
Kto: Przemysław Bykowski
Skąd: CEO, senteli.pl
Zdjęcie: http://bytebay.pl/img/people/przemyslaw_bykowski.jpg
Bio: Programista z zawodu i pasji. CEO w senteli.pl oraz nauczyciel akademicki w Akademii Marynarki Wojennej. W wolnym czasie prowadzi bloga oraz pomaga początkującym programistom wejść na rynek IT.
Tytuł: Spring Boot - szybki start
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Spring Boot - szybki start to warsztat dla osób chcących szybko zbudować aplikacje internetową napisaną w języku Java. Minimum konfiguracji, sprawny development.
 
Kto: Jędrzej Andrykowski
Skąd: Senior Software Developer & Team Leader, cinkciarz.pl
Zdjęcie: http://bytebay.pl/img/people/jedrzej_andrykowski.jpg
Bio: Na co dzień Software Developer oraz Team Leader w firmie Cinkciarz.pl. Związany głównie ze środowiskiem Java. Pasjonat szeroko pojętej automatyzacji testów oraz narzędzi z nią związanych. Entuzjasta Domain-Driven Design. Poza IT - gitarzysta i wielbiciel muzyki ekstremalnej.
Tytuł: Consumer-Driven Contracts w praktyce
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Jeśli robisz mikroserwisy, udostępniasz publiczną usługę albo po prostu korzystasz z jakiegoś API to na pewno masz do czynienia z kontraktami. Kontrakt pomiędzy klientem a serwerem ma niestety to do siebie, że bardzo łatwo go złamać (co zapewne każdy z nas nie raz doświadczył). Mała poprawka na API, szybkie wdrożenie i ... BOOM! Dlaczego? Bo okazało się, że "jeszcze któryś klient korzysta z tego co zmieniliśmy?" Co wtedy robić? Oczywiście próbować nie dopuszczać do takiej sytuacji, jednak jak? Tą bolączkę rozwiązuje Consumer-Driven Contracts. W ramach warsztatu omówimy idee wzorca oraz co najważniejsze - narzędzie Spring Cloud Contract. Nauczymy się je konfigurować w środowisku Java + SpringBoot oraz pisać "żywe" kontrakty pomiędzy serwisami RESTowymi tak, aby nie dopuszczać do wprowadzania niekompatybilnych zmian pomiędzy klientem a producentem.
 
Kto: Łukasz Szydło
Skąd: Trener, Software Craftsman, Bottega
Zdjęcie: http://bytebay.pl/img/people/lukasz_szydlo.jpg
Bio: Programista pasjonat, fan “Software Craftsmanship” i zwinnego podejścia do wytwarzania oprogramowania.
Lubi proste rozwiązania skomplikowanych problemów. Na codzień zajmuje się tematami z zakresu architektury aplikacji biznesowych, Domain-Driven Design, Continuous Delivery, technologii Java oraz testowania automatycznego. Prywatnie mąż, ojciec piątki dzieci.
Tytuł: Jak podzielić system na moduły
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Nie ważne w jakim stylu architektonicznym tworzymy nasze aplikacje, (monolitycznym, mikroserwisy, serverless) warunkiem koniecznym niewystarczającym, do uzyskania takich właściwości jak: łatwość utrzymania, testowalność, reużywalność czy skalowalność, jest odpowiedni podział na moduły. Odpowiedni czyli jaki? I tu się zaczynają schody, bo przecież nigdzie nie ma do tego instrukcji. To co jest to ogólnikowe rady w stylu "musisz znaleść bounded context". Jak to zrobić?
Skąd będę wiedział, że zrobiłem to dobrze? Jak to odzwierciedlić w strukturze paczek? Nie mam jedynych słusznych odpowiedzi, ale podzielę się z wami tym jak ja to robię.
 
Kto: Karol Lotkowski
Skąd: , Travactory
Zdjęcie: http://bytebay.pl/img/people/karol_lotkowski.jpg
Bio: Karol to programista z 10-letnim doświadczeniem. Dostarczał rozwiązania dla branż takich jak: e-commerce, turystyka online, ubezpieczeniowa, telekomunikacyjna, bankowa, informacyjna oraz media społecznościowe. Związany z techniczną oraz biznesową stroną realizowanych projektów. Pełnił wiele ról od software developera, team leadera, scrum mastera, trenera po architekta i ewangelistę nowych technologii. Entuzjasta metodyk Agile (certyfikowany Scrum Master) oraz zwolennik firm o płaskiej strukturze.
Pasjonat edukacji online, rekrutacji w IT oraz technik zarządzania czasem. Uzależniony od słuchania podcastów oraz audiobooków.
Obecnie rozwija oprogramowanie realizujące rezerwację oraz sprzedaż biletów lotniczych w Travactory N.V.. Jako trener infoShare Academy przekazuje zdobyte doświadczenie osobom rozpoczynającym swoją przygodę z programowaniem.
Kto: Jarek Bela
Skąd: , Travactory
Zdjęcie: http://bytebay.pl/img/people/jarek_bela.jpg
Bio: Jestem programistą od ponad 10 lat od początku związanym z JVM. Dotychczas w swojej karierze zawodowej miałem okazję i (nie zawsze) przyjemność pracować między innymi z EJB3, Spring Framework >= 3, AngularJS, nodeJS, RoR oraz programować w Java, Kotlin, Scala, Ruby, TypeScript, Groovy i Python.
Obecnie w firmie Travactory jestem odpowiedzialny za rozwój systemu w architekturze mikro serwisowej. Dbam o to aby tworzony przez nas produkt spełniał najwyższe standardy systemu rozproszonego. W tym celu wykorzystuję m. in. narzędzia dostarczane przez Spring Cloud, Netflix oraz Docker Cloud.
Poza pracą dla Travactory współtworzę firmę MIJA Software specjalizującą się w technologiach związanych z JVM oraz Python. W czasie wolnym poświęcam się grze w koszykówkę.
Tytuł: Micro Services using Spring Boot 2.0 with Kotlin - krok po kroku
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Podczas warsztatu zaprezentujemy nasze podejście do architektury mikro serwisowej wytwarzanej w oparciu o Spring Cloud oraz rozwiązania firmy Netflix.
Dowiesz się krok po kroku w jaki sposób:
  1. Umożliwić komunikację pomiędzy mikro serwisami za pomocą service discovery (Eureka).
  2. Zapobiegać propagacji błędów pomiędzy mikro serwisami z wykorzystaniem wzorca circuit breaker (Hystrix + Ribbon).
  3. Zarządzać konfiguracją aplikacji dla wielu środowisk w architekturze rozproszonej stosując Spring Cloud Config Server.
  4. Śledzić komunikację pomiędzy mikro serwisami wykorzystując biblioteki Sleuth i Zipkin.
  5. Dowiedzieć się czy aplikacja działa prawidłowo bazując na metrykach zebranych przez Prometheus i zaprezentowanych w Grafana.
  6. Prawidłowo udostępnić usługę zewnętrznym klientom poprzez Spring Cloud Gateway.
  7. Uruchomić produkcyjnie system rozproszony opierając się na konteneryzacji (Docker).

Dodatkowo będziesz miał okazję zapoznać się z reaktywnym oraz funkcyjnym podejściem do wytwarzania oprogramowania z wykorzystaniem języka Kotlin.
Warto wiedzieć przed: podstawowa znajomość koncepcji architektury mikro serwisowej oraz umiejętność programowania w dowolnym języku.
 
Kto: Bartosz Markowski
Skąd: , Travactory
Zdjęcie: http://bytebay.pl/img/people/bartosz_markowski.png
Bio: Programista od 5 lat, od 3,5 związany z travactory. Na co dzień programista Javascriptu/RoR, okazjonalnie Javy. Po godzinach fan Elixira, komiksów i planszówek.
Tytuł: Rozwój Reactowej aplikacji w firmie
Typ: Warsztat
Poziom: Rozpracowujemy niuanse
Opis:
Poruszenie tematów
  • Testowanie aplikacji (komponentów(shallow, mount, snapshoty, mockowanie), jest, reducery, akcje, testowanie kodu asynchronicznego)
  • Storybook jako ułatwienie przy tworzeniu aplikacji, filozofia zamkniętych komponentów
  • HOC(High order component) i kontekst jako sposób na DRY
  • Różne sposoby dzielenia aplikacji(budowanie wielu plików przy pomocy webpacka, wspólne elemty jako odzielnie repozytorium)
  • React Native jako początek aplikacji mobilnej
 
Kto: Marek Piechut
Skąd: Unicorn, DayOne
Zdjęcie: http://bytebay.pl/img/people/marek_piechut.jpg
Bio: Programista od zawsze. Zawodowo od ponad 10 lat związany z Javą, Groovym, Javascriptem i wszystkim wokół. W małych i dużych firmach tworzyłem systemy, od których zależało bardzo wiele i takie od których prawie nic. Ciągle w poszukiwaniu nowej wiedzy i technologii a także wygrzebywania diamentów z tego wszystkiego, co już było. Uwielbiam kasowanie setek linii kodu i zastępowanie go 1 regexpem. Od kilku lat zakochany w programowaniu funkcyjnym i nowoczesnym Javascripcie.
Tytuł: Asynchroniczny Javascript - od callbacków przez promisy do async/await
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: To, że Javascript jest jednowątkowy, nie oznacza, że wszystko musi dziać się po kolei.
Na tych warsztatach zgłębimy dostępne techniki pisania asynchronicznego kodu w Javascript dla przeglądarek i Node.js. Zaczniemy od znanych od lat callback-ów. Zobaczymy też "streetfighter code" (https://pbs.twimg.com/media/Bp1IyS7CYAATIEB.jpg) do którego prowadzi ich nadużywanie. Później przejdziemy do Promise-ów i sprawimy, że nasz kod będzie znów piękny i czytelny. Zobaczymy też dostępne w nich “super moce” i jak obchodzić ich ograniczenia. Na koniec jeszcze raz przeorganizujemy nasz kod tak, żeby wykorzystywał generatory i async/await, które pojawiły się w standardzie ES2017.
o tych warsztatach powinieneś wiedzieć już który styl programowania asynchronicznego wybrać. Tak, żeby najlepiej pasował do rozwiązywanego problemu.
 
Kto: Piotr Pasich
Skąd: ,
Zdjęcie: http://bytebay.pl/img/people/piotr_pasich.jpg
Bio: Senior software developer, specjalizuje się w tworzeniu aplikacji klasy enterprise opartych o frameworki Symfony 2, Zend i Laravel. Ekspert w optymalizacji kodu oraz baz danych. Aktywny członek społeczności PHP, szkoleniowiec, prelegent i bloger. Zend Certified Engineer i SensioLabs Certified Symfony Developer.
Tytuł: Messaging Queues
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Spadek wydajności aplikacji nie zawsze wymaga otworzenia nowych serwerów i skalowania. W większości przypadków wystarczy oddelegować czasochłonne lub zasobochłonne zadania na później lub do innych aplikacji. Systemy kolejkowania wspomagają ten proces dostarczając zaawansowane, skuteczne i stabilne rozwiązania, które pozbywają się najczęstrzych problemów. Podczas workshopu dowiesz się jakie systemy kolejkowania są dostępne i jak je skonfugurować. Jaka jest różnica między AMQP, a MQTT i kiedy z nich korzystać.
 
Kto: Marcin Dymek
Skąd: , Radmor
Zdjęcie: http://bytebay.pl/img/people/marcin_dymek.jpg
Bio: Marcin jest projektantem i programistą aplikacji natywnych oraz wbudowanych, używanych zarówno na rynku cywilnym jak i zbrojeniowym. Od 8 lat pracuje w Biurze Rozwoju RADMOR S.A. należącym do grupy firm WB Group - największej prywatnej grupy przemysłowej pracującej na rzecz obronności państwa.
Kto: Mateusz Ostaszewski
Skąd: , Radmor
Zdjęcie: http://bytebay.pl/img/people/mateusz_ostaszewski.jpg
Bio: Mateusz jest programistą w Biurze Rozwoju w firmie RADMOR S.A. Lubi uczyć się nowych rzeczy a także dzielić się swoją wiedzą z innymi. Prywatnie lubi podróżować oraz odwiedzać zapomniane miejsca historyczne.
Tytuł: Jedna aplikacja - wiele odsłon, czyli modułowość w NetBeans Platform
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: W proponowanym przez nas warsztacie nie chcemy się skupiać na zagadnienia tworzenia oprogramowania na różne platformy, ponieważ sama Java została stworzona już tym celu. To, co chcemy zaprezentować to możliwości środowiska NetBeans Platfrom w szybkim tworzeniu aplikacji spersonalizowanych pod różnych klientów, przy możliwie najkrótszym time to market. Środowisko NetBeans to nie tylko IDE do tworzenia innych programów, ale framework na bazie którego możemy przygotować nową aplikację. Dzięki temu developer nie musi implementować od podstaw całej aplikacji, przejmować się implementacją mechanizmów obsługi okien, obsługi plików, zarządzania modułami aplikacji oraz integracją z systemem okien OS. Wszystko to za niego robi silnik NetBeansPlatform dzięki temu zespół developerski może skupić się implementacji funkcjonalności stricte dot. wartości biznesowej aplikacji.
Firmy wytwarzające oprogramowanie często spotykają się z sytuacją, w której każdy klient ma inne wymagania w stosunku do oferowanej mu aplikacji. Warsztat pokazuje, w jaki sposób NetBeans Platform pomaga w stworzeniu jednej aplikacji dla wielu klientów z różnymi wymaganiami.
Dzięki wykorzystaniu modułowości, aplikacja posiada jeden rdzeń, który może być swobodnie personalizowany. W trakcie warsztatu poruszymy następujące tematy:
  • Zalety modułowości w NetBeans (czyli jak niewiele potrzeba, aby nasza aplikacja była na prawdę modułowa)
  • Podejście NetBeans Platform do modułowości (czyli ile robi za nas NetBeans)
  • Tworzenie i wykorzystanie modułów (czyli jak żonglować implementacjami interfejsu na żywym organizmie aplikacji)
  • Dynamiczne dostosowywanie menu programu (czyli jak mieszać w dostępnych w menu opcjach oraz skrótach klawiszowych)
  • Zarządzanie oknami (czyli jak bezboleśnie obsługiwać wiele okien aplikacji)
  • Rozwijanie IDE (czyli jak rozwijać NetBeansowe IDE wg własnych pomysłów)
 
Kto: Wojciech Kozłowski
Skąd: , Radmor
Zdjęcie: http://bytebay.pl/img/people/wojciech_kozlowski.jpg
Bio: Wojciech Kozłowski jest kierownikiem pracowni Testowania oprogramowania w Biurze Rozwoju RADMOR. Mówi o sobie krótko: "Elastyczność, optymalizacja i niezawodność to cele, do których dążę w pracy nad rozwojem oprogramowania". Głównym obszarem moich doświadczeń i zainteresowań jest szeroko pojęte "Quality Assurance" i "Continuous integration". Prywatnie jestem pasjonatem sportu i górskich wędrówek.
Tytuł: SDR for Dummies (SOA inside a modern military radio)
Typ: Warsztat
Poziom: Rozpracowujemy niuanse
Opis: Problem (odwieczna kwestia niekompatybilności w łączności):
  • Na misjach sojuszniczych NATO (np. w Afganistanie lub Iraku) wykorzystywane są różne sposoby radiokomunikacji (typowe dla różnych armii), co często jest rozwiązywane najprostszym, ale nieoptymalnym sposobem tj. żołnierze wymieniają pomiędzy sobą sprzęt, aby zapewnić sobie łączność podczas współpracy.
  • Z reguły istnieją trudności (lub jest to całkowicie niemożliwe bez zmian sprzętowych) w zmianie wykorzystywanych protokołów łączności, gdyż dotychczas radiostacje były produkowane jako monolit sprzętowo-programowy (każdy producent stosował własną architekturą wewnętrzną). Szybka zmiana sposobu komunikacji wykorzystującej ten sam sprzęt (zmiana tylko za pomocą oprogramowania) jest szczególnie istotna, gdy wrogie jednostki przechwycą taki sprzęt. Wpływa to bezpośrednio na bezpieczeństwo żołnierzy i możliwość kontynuowania misji z rotacyjnym udziałem różnych armii.

Rozwiązanie (jak można do tego podejść):
  • Najnowszym trendem w sprzęcie radiokomunikacyjnym dla armii wchodzących w skład NATO jest koncepcja radia definiowanego programowo (ang. Software Defined Radio [SDR]). Technologia ta dzięki koncepcji zorientowanej na usługach (SOA) pozwala na szybsze uzyskanie interoperacyjności i uelastycznienie zakresu funkcjonalności.
  • Zestandaryzowana architektura programowa definiuje wewnętrzny zestaw API, co pozwala na uruchamianie obsługi różnych protokołów komunikacyjnych na tej samej platformie sprzętowej. Oprogramowanie jest ładowane i zorganizowane wewnątrz radiostacji w standardowy sposób co umożliwia szybkie wdrażanie nowych sposobów komunikacji wymaganych podczas różnych misji wojskowych.
  • Ponadto oprogramowanie komunikacyjne jest projektowane cross-platformowo, aby umożliwić portowanie modułów funkcjonalnych na platformy pochodzące od różnych producentów.

Warsztat (czego się nauczysz w praktyce):
  • Warsztat zawiera praktyczny przykład prostej implementacji architektury SDR. Poszczególne komponenty architektury, realizujące wzajemnie usługi wewnątrz platformy SDR, komunikują się za pomocą warstwy middleware'u (standard OMG CORBA).
  • Warsztat prezentuje podejście do uruchamiania i testowania modułów (usług) przy wykorzystaniu popularnego framework'u GoogleTest / GoogleMock.
  • W ramach warsztatu przewidziane jest wprowadzenie merytoryczne w architekturę, uruchomienie domeny SDR na maszynie wirtualnej, implementacja modyfikacji w komponencie komunikacyjnym i w komponentach usługowych (timing-, crypto-, log- service) (rozszerzenie przez uczestników warsztatu kodu źródłowego w języku C++).
 
Kto: Kamil Szymański
Skąd: , Pragmatic Coders
Zdjęcie: http://bytebay.pl/img/people/kamil_szymanski.png
Bio: Software developer, entuzjasta JVM i open-source, rozwija platformę inwestycyjną D2C @ Pragmatic Coders
Tytuł: Reactive APIs behind the scenes
Typ: Deep dive
Poziom: Coś już tam trzeba wiedzieć
Opis: W ramach sesji hands-on zobaczymy jakie problemy (i w jaki sposób) adresują reaktywne implementacje.
Przykłady oprzemy na stosie Springa (m.in.: Spring 5.0 i WebFlux, Project Reactor, Spring Boot 2.0) choć tematy będą raczej uniwersalne.
Nie będziemy się zbytnio skupiać na API (omówimy jedynie podstawowe operatory), zamiast tego skupimy się na tym jak działają reaktywne implementacje.
Poruszymy m.in. tematykę:
  • wykorzystania dostępnych zasobów
  • strumieni
  • backpressure (po stronie klienta, producenta oraz sam protokół)
 
Kto: Łukasz Łuczak
Skąd: Projektant programista poliglota, Symentis
Zdjęcie: http://bytebay.pl/img/people/lukasz_luczak.jpg
Bio: Projektant programista poliglota żyjący w cyfrowym świecie, który ponad połowę życia spędził tworząc oprogramowanie, a przez ostatnią dekadę dostarczając rozwiązania komercyjne (nierzadko klasy enterprise*). Pasjonat dla którego nie ma rzeczy niemożliwych, a każdy projekt stanowi wyzwanie oraz szansę rozwoju. Wyznawca metodyk Agile i TQM. Umie napisać poprawnie działającą aplikację w środowisku serwerowym, przeglądarkowym, mobilnym czy też pulpitowym wykorzystując przy tym różne języki i narzędzia. Tworzył rozwiązania na systemy zintegrowane oraz poczynił kilka implementacji na procesory sygnałowe. Piastował role analityczne, programistyczne, architektoniczne a także liderskie, mentorskie i audytorskie. Od kilku lat udowadnia, że javascript to nie tylko gwiazdki latające za kursorem ale przede wszystkim ekosystem który wyprzedził swój czas pozwalając na tworzenie cudów. Zapytany o proste rzeczy potrafi poczynić wielogodzinny wykład zahaczając przy tym o różne dziedziny nauki. Na codzień programista w Vistex, trener i konsultant w Symentis.pl a także autor i mentor w eduweb.pl
* - enterprise w znaczeniu "nie ma na świecie osoby, który zrozumie dlaczego to działa"
Tytuł: Z Typescriptem Ci do twarzy
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Zapraszam Cię na niesamowitą podróż podczas której:
  • dowiesz się czym jest Typescript, skąd pochodzi i dokąd zmierza,
  • poznasz jego najważniejsze cechy, w czym jest podobny, w czym lepszy a w czym gorszy od innych rozwiązań
  • rozpoczniesz z nim pracę, w sposób praktyczny poprzez wykonywanie ćwiczeń zobaczysz dlaczego warto go używać
  • zaspokoisz swój głód wiedzy co dalej poprzez wskazanie drogi jak dalej się rozwijać.

A po tym wszystkim będziesz mógł odpowiedzieć na pytanie - dlaczego to właśnie Typescript jest Twoją ulubioną technologią do tworzenia rozwiązań webowych i nie tylko.
Dla kogo jest ten warsztat? Dla tych którzy znają już programowanie a chcieliby poznać TypeScript, praktycznie wykorzystać oraz dowiedzieć się co dalej.
Co dostaniesz - dużą dawkę wiedzy, masę pytań i wątpliwości a także materiały by móc dalej samodzielnie rozwijać się w tym kierunku.
 
Kto: Aleksander Gozdek
Skąd: , Software Development Academy
Zdjęcie: http://bytebay.pl/img/people/aleksander_gozdek.jpg
Bio: Starszy programista od ponad 5 lat pracujący z technologiami .NET, Scrum Master i trener w Software Development Academy w jednej osobie. Uwielbia dzielić się wiedzą i usprawniać komunikację w zespołach. Dba o wysoką jakość szkoleń nie tylko pod względem merytorycznym, ale także warsztatu trenerskiego. W ramach warsztatów opowie o tym jak profesjonalnie przygotować szkolenie i sprawić by nudne tematy stały się dla uczestników interesującym doświadczeniem.
Tytuł: Storytelling
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Czy zastanawiałeś się jak prezentować, żeby ludzie słuchali Cię z uwagą? Nawet kiedy chcesz przedstawić dane liczbowe, statystyki, czy wytłumaczyć skomplikowane zagadnienia, możesz zaangażować widownię i sprawić, że będzie to dla nich ciekawe doświadczenie. Podczas warsztatów dowiesz się jak stworzyć opowieść, która wzbudzi emocje i sprawi, że Twoja prezentacja będzie interesująca. Nauczysz się jak poprzez wykorzystanie elementów Storytellingu przekazać drugiej osobie informacje w najbardziej przystępnej formie, a także będziesz miał możliwość wykorzystać zdobytą wiedzę w praktyce przygotowując krótką prezentację.
 
Kto: Piotr Mariański
Skąd: , Software Development Academy
Zdjęcie: http://bytebay.pl/img/people/piotr_marianski.jpg
Bio: Programista z 8 letnim doświadczeniem, samouk – życiowo programista od zawsze. Na co dzień zajmuję się kodowaniem w PHPie oraz technologiach frontendowych, a także przekazywaniem wiedzy przyszłym programistom prowadząc zajęcia w ramach kursów programowania Software Development Academy – to nie praca to pasja. Zawodowo pracuje z kontrahentami pochodzącymi z zupełnie różnych od siebie branż, łącząc kropki w każdym ze światów, dla których trzeba stworzyć właściwe oprogramowanie, które ułatwia życie i prace ludziom. Prywatnie interesuję się wszystkim – od mechaniki kwantowej, przez sprawy codzienne związane z polityką i sportem (szczególnie piłką nożną), po szeroko pojętą kulturę masową.
Tytuł: "Przeszczepianie wiedzy" - czyli jak fachowo uczyć programowania?
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Chcesz dowiedzieć się jak rozwinąć się programistycznie i spełnić dodatkowo jako człowiek? Naucz się przekazywać wiedzę innym i pomóż wejść im do magicznej krainy IT. Uczenie przyszłych programistów, ludzi, którzy naprawdę chcą zmienić swoje życia, daje ogromną radość oraz poczucie, że czynimy świat lepszym miejscem. Bądź jak Elon Musk – realizując się zawodowo (każde zajęcia to gruntowanie wiedzy, ale też spojrzenie na kodowanie z perspektywy „świeżych” w branży osób), pomożesz ambitnym osobom zrealizować ich marzenia o przygodzie w magicznym świecie programingu. Opowiem o tym, jak wyglądają spotkania z kursantami, jak z nimi rozmawiać, jak uczyć, jak słuchać i być słuchanym i wiele, wiele więcej. Jeśli lubisz pracę z ludźmi (w dosłownym rozumieniu) i chcesz nauczać zapraszam – warto.
 
Kto: Piotr Bucki
Skąd: ,
Zdjęcie: http://bytebay.pl/img/people/piotr_bucki.png
Bio: Od 17 lat pomaga ludziom szlifować komunikację w różnych obszarach. Zawsze bazuje przy tym na psychologii poznawczej, neuro-naukach i psycholingwistyce. Sprawdza teorię w praktyce współpracując z firmami w Chile, Słowenii, Mołdawii, Azerbejdżanie, Austrii, Australii i Polsce. Współautor i redaktor merytoryczny Startup Manual (Wolves Summit 2015), autor i opiekun serii BuckiAcademi wydanej z wydawnictwem 4 Głowy (2016). Publikuje regularnie na InnPoland oraz stronie www.bucki.pro. Pisze dla Malemana, Dolce Vita, Madame, Marketing w Praktyce i wielu innych. Autor książek „Porozmawiajmy o komunikacji”, „Life's a pitch and then you die” oraz „Złap równowagę”. Przetłumaczył 12 książek z zakresu psychologii i poradnictwa. Współpracuje z najlepszymi ośrodkami startupowymi w Polsce – m.in. LPNT, Inkubator Starter, GPNT i PPNT, a także z największym rządowym programem na świecie Startup Chile i Inkubatorami w Słowenii i Austrii. Występował m.in. na Wolves Summit, Davos Communication Forum, PODIM Słowenia, Internet Beta, Social Media Convent, Inspiration Day w Szczecinie, PMI Congress w Antwerpii i wielu wielu innych konferencjach w kraju i na świecie.
Tytuł: Projektowanie i szlifowanie komunikacji. Jak słowa działają na mózg i jak to dobrze wykorzystać.
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Komunikację można projektować – jak architekturę, kod, czy interfejs strony internetowej. Trzeba tylko wiedzieć, z grubsza jak działa mózg i jakie słowa smakują mu jak najlepsza włoska pizza, a które są tak mdłe jak szpitalny posiłek. Na warsztacie nauczymy się, jak dobrze i zwięźle sprzedawać idee. Dowiemy się, czy introwertycy robią lepsze prezentacje i sprawdzimy, czy zamek w Malborku jest lepszy niż "stara budowla".
 
Kto: Mariusz Gil
Skąd: Architect, Bottega IT Minds
Zdjęcie: http://bytebay.pl/img/people/mariusz_gil.jpg
Bio: Software architect i trener, z branżą IT związany od ponad 16 lat. Pasjonuje się projektowaniem i implementacją systemów o złożonych wymaganiach biznesowych, machine-learningiem i dostarczaniem wartości biznesowej klientom. Speaker i organizator eventów dla developerów, chcących rozwijać swoje umiejętności zawodowe.
Tytuł: Implementacja modeli Machine Learningowych
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Machine Learning na dobre zagościł w developerskim świecie. Dziś do naszej dyspozycji są nie tylko dziesiątki ciekawych bibliotek, ale także dedykowane usługi online, także w formie komponentów oferowanych w ramach popularnych platform cloud. Dodając do tego różne mechaniki tworzenia rozwiązań ML czy setki gotowych algorytmów, poruszanie się w świecie uczenia maszynowego potrafi przysporzyć bólu głowy...
Podczas naszego warsztatu na przykładzie otwartych data-setów zbudujemy kilka modeli, w tym klasyfikacyjnych i regresyjnych, poznając przy tym podstawowe koncepty Machine Learningu. Zastanowimy się również nad wykorzystaniem technik ML jako warstwy Decision Support w modelach wielkoskalowych.
 
Kto: Paweł Szczerbicki
Skąd: Software Architect, Arc Software
Zdjęcie: http://bytebay.pl/img/people/pawel_szczerbicki.jpg
Bio: Programista skupiający się głównie na technologiach WEB opartych na chmurze, zarówno od strony front-endowej jak i back-endowej. Prywatnie zajmuje się prowadzeniem szkoleń oraz tworzeniem aplikacji webowych zarówno dla klientów zewnętrznych jak i realizację własnych pomysłów, w takich obszarach jak: Java, Spring, Angular, NodeJs, Microservices, Serverless oraz Cloud, a także Software architecture czy NoSQL Databases, W wolnych chwilach uczy się latać
Tytuł: Kick your ass to the cloud
Typ: Warsztat
Poziom: Wprowadzenie
Opis: Czy commit jest ostatnią rzeczą o której myślisz w trakcie tworzenia oprogramowania ? Czy kiedykolwiek zastanawiałeś się jaką drogę musi przejść Twój kod zanim trafi do urządzenia klienta? Jak przyspieszyć działanie aplikacji backendowej czy front-endowej lub ograniczyć dostęp z poszczególnych regionów świata zaledwie kilkoma kliknięciami ? Jak zbudować produkcyjną aplikację web nie pisząc ani jednej linijki kodu backendowego ? Wszystkie te tematy poruszymy na moim bootcampie. Dodatkowo dowiemy się jak skonfigurować Continuous Delivery dla aplikacji front-endowych używając CDN oraz przeprowadzając testy A/B. Znacznie przyspieszymy także działanie backendu w oparciu o infrastrukturę AWS.
 
Kto: Michał Miszczyszyn
Skąd: Full Stack JavaScript Developer, Type of Web
Zdjęcie: http://bytebay.pl/img/people/michal_miszczyszyn.jpg
Bio: Michał jest programistą JavaScript z wieloma latami profesjonalnego doświadczenia. Obecnie za pośrednictwem X-Team współpracuje z zespołami w USA gdzie tworzy aplikacje internetowe. Organizator meet.js Summit i meet.js Gdańsk. Bloger na typeofweb.com, a okazyjnie także prelegent.
Tytuł: Przeszłość i przyszłość tworzenia aplikacji Internetowych
Typ: Deep dive
Poziom: Wprowadzenie
Opis: Będzie to swoista podróż w czasie. Zaczniemy od przeglądu dawnych problemów i technik przy tworzeniu aplikacji internetowych. Zobaczymy co się sprawdziło, a co wymagało poprawki. Określimy nowe ambicje i cele webdevów godne 2018 roku, a następnie zaprojektujemy rozwiązania i je wdrożymy.
Sesja rozpocznie się od prezentacji i niejako rozmowy z publicznością. Później będzie bardziej technicznie. Jeśli hasła microservices, Server Side Rendering, Progressive Web Applications albo TypeScript coś Ci mówią — to właśnie sesja dla Ciebie :-)
Przykłady będą głównie oparte o Node.js, React.js i Next.js, ale przedstawianie idee będą możliwie najbardziej uniwersalne i łatwe do przeniesienie na dowolne technologie.
 
Kto: Tomek Sułkowski
Skąd: , FrontEnd.Coach
Zdjęcie: http://bytebay.pl/img/people/tomek_sulkowski.jpg
Bio: I am an experienced IT trainer specializing in browsers-related technologies. My main area of focus is Angular 2 framework and its ecosystem.
In the last 3 years I have worked with mulDple medium and large-sized companies to help their developers increase their level of experDse in front-end technologies.
Tytuł: NgRx - czyli Redux w Angularze
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis:
 
Kto: Krzysztof Mejka
Skąd: , Travactory
Zdjęcie: http://bytebay.pl/img/people/krzysztof_mejka.jpg
Bio: Aktualnie Senior Java Developer w Travactory.com. Fan mikroserwisów i wypróbowywania nowych technologii. Próbuje każdego przekonać do konsekwentnego podejścia do pracy i programowania. Stara trzymać się najlepszych praktyk i nie iść na skróty podczas rozwiązywania skomplikowanych problemów.
Tytuł: Implementacja OAuth 2.0 za pomocą Spring Boot (dodatkowa sesja)
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: W ramach warsztatu opiszę na czym polega bardzo popularny framework OAuth 2.0 oraz pokażę jak wygląda jego implementacja w Spring Boot oraz jak zabezpieczyć za jego pomocą system zbudowany w oparciu o mikroserwisy
Uczestnicy powinni umieć programować w Javie.
 
Kto: Karol Lotkowski
Skąd: , Travactory
Zdjęcie: http://bytebay.pl/img/people/karol_lotkowski.jpg
Bio: Karol to programista z 10-letnim doświadczeniem. Dostarczał rozwiązania dla branż takich jak: e-commerce, turystyka online, ubezpieczeniowa, telekomunikacyjna, bankowa, informacyjna oraz media społecznościowe. Związany z techniczną oraz biznesową stroną realizowanych projektów. Pełnił wiele ról od software developera, team leadera, scrum mastera, trenera po architekta i ewangelistę nowych technologii. Entuzjasta metodyk Agile (certyfikowany Scrum Master) oraz zwolennik firm o płaskiej strukturze.
Pasjonat edukacji online, rekrutacji w IT oraz technik zarządzania czasem. Uzależniony od słuchania podcastów oraz audiobooków.
Obecnie rozwija oprogramowanie realizujące rezerwację oraz sprzedaż biletów lotniczych w Travactory N.V.. Jako trener infoShare Academy przekazuje zdobyte doświadczenie osobom rozpoczynającym swoją przygodę z programowaniem.
Kto: Jarek Bela
Skąd: , Travactory
Zdjęcie: http://bytebay.pl/img/people/jarek_bela.jpg
Bio: Jestem programistą od ponad 10 lat od początku związanym z JVM. Dotychczas w swojej karierze zawodowej miałem okazję i (nie zawsze) przyjemność pracować między innymi z EJB3, Spring Framework >= 3, AngularJS, nodeJS, RoR oraz programować w Java, Kotlin, Scala, Ruby, TypeScript, Groovy i Python.
Obecnie w firmie Travactory jestem odpowiedzialny za rozwój systemu w architekturze mikro serwisowej. Dbam o to aby tworzony przez nas produkt spełniał najwyższe standardy systemu rozproszonego. W tym celu wykorzystuję m. in. narzędzia dostarczane przez Spring Cloud, Netflix oraz Docker Cloud.
Poza pracą dla Travactory współtworzę firmę MIJA Software specjalizującą się w technologiach związanych z JVM oraz Python. W czasie wolnym poświęcam się grze w koszykówkę.
Tytuł: Micro Services using Spring Boot 2.0 with Kotlin - krok po kroku (dodatkowa sesja)
Typ: Warsztat
Poziom: Coś już tam trzeba wiedzieć
Opis: Podczas warsztatu zaprezentujemy nasze podejście do architektury mikro serwisowej wytwarzanej w oparciu o Spring Cloud oraz rozwiązania firmy Netflix.
Dowiesz się krok po kroku w jaki sposób:
  1. Umożliwić komunikację pomiędzy mikro serwisami za pomocą service discovery (Eureka).
  2. Zapobiegać propagacji błędów pomiędzy mikro serwisami z wykorzystaniem wzorca circuit breaker (Hystrix + Ribbon).
  3. Zarządzać konfiguracją aplikacji dla wielu środowisk w architekturze rozproszonej stosując Spring Cloud Config Server.
  4. Śledzić komunikację pomiędzy mikro serwisami wykorzystując biblioteki Sleuth i Zipkin.
  5. Dowiedzieć się czy aplikacja działa prawidłowo bazując na metrykach zebranych przez Prometheus i zaprezentowanych w Grafana.
  6. Prawidłowo udostępnić usługę zewnętrznym klientom poprzez Spring Cloud Gateway.
  7. Uruchomić produkcyjnie system rozproszony opierając się na konteneryzacji (Docker).

Dodatkowo będziesz miał okazję zapoznać się z reaktywnym oraz funkcyjnym podejściem do wytwarzania oprogramowania z wykorzystaniem języka Kotlin.
Warto wiedzieć przed: podstawowa znajomość koncepcji architektury mikro serwisowej oraz umiejętność programowania w dowolnym języku.