Programista, to przecież brzmi tak dumnie.
Tyle lat ciężkiej pracy, studia, kursy. W końcu zaczęło się zwracać. Społeczeństwo nie ma pojęcia co robisz. Twoja mama i tato, tym bardziej.
Wiedzą tylko, że to coś wspólnego z internetem, komputerem i tym przedmiotem, którego wszyscy nienawidzą w rodzinie, matematyką.
Codziennie budzisz się z rano poczuciem wyższości nad mugolami, którzy nie ogarniają zawiłości OOP i FP.
Jak długo chcesz się okłamywać? W swojej pracy kleisz RESTy z resztek JSONów, które ktoś porozrzucał po biurze, w języku, którego nie rozumiesz, na platformie o której nie masz pojęcia i modlisz się, żeby naprawdę tam w środku nie biegały skrzaty przesuwające bit'y.
Wkurzyłem Cię? To dobrze.
Przyjdź i posłuchaj czym są "managed runtime", dlaczego większość języków kompilowanych jest do IR i wykonywanych przez maszyny wirtualne.
Na przykładzie EgoVM, opowiem o podstawach konstrukcji maszyn wirtualnych, o zarządzaniu pamięcią, systemach typów, static vs dynamic linking, single vs multiple dispatch. O tym wszystkich co napędza JVM, CLR, Beam czy V8.
Co napędza nasze systemy. Bez czego nie potrafilibyśmy dziś dostarczyć żadnego z naszych systemów czy też produktów.
Będzie dużo opowieści o decyzjach, które musieli podjąć twórcy maszyn wirtualnych i rozważań nad źródłem sukcesu tych platform.
Wszystko w zawiesistym sosie vanilla C.
Jarosław Pałka
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. Co doprowadziło mnie do wniosku, że nie waż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” i 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, interpreterów i kompilatorów. Od czasu do czasu można usłyszeć moje niskiej jakości żarty na temat architektury na konferencjach w Polsce. W chwilach trener w http://symentis.pl i autor bloga na http://geekyprimitives.wordpress.com/ oraz samozwańczy dyktator w radach programowych konferencji JDD oraz 4Developers.
Modelowanie złożonych problemów jest skomplikowane i często prowadzi do równie skomplikowanego kodu. Kontrolery, repozytoria, usługi, warunki biznesowe, formularze, widoki - wymagania biznesowe klienta często infiltrują te warstwy, wszystko jest ze sobą połączone, a kod staje się trudny do czytania, zrozumienia i rozwoju. A gdy potrzeba rozszerzyć lub zmodyfikować logikę biznesową, i trzeba „przekopać” się przez dziesiątki (a czasami i setki) linii kontrolerów czy serwisów, próbując zrozumieć sens i rolę wszystkich obiektów lub zidentyfikować zakres zmian, może nadszedł czas na inne podejście… Podejście „Thinking in Events” oznacza, że można być w pełni skoncentrowanym na problemie domenowym i implementacji testowalnej logiki biznesowej. Wykorzystując zdarzenia domenowe jako źródło informacji, skomplikowane technicznie elementy jak bazy danych czy web-frameworki stają się jedynie szczegółami implementacyjnymi, od których nie zależy zbyt wiele.
Podczas prezentacji zapoznasz się więc z technikami odkrywania eventów domenowych i wykorzystania ich zarówno w implementacji jak i na poziomie biznesowym, do lepszego zrozumienia i usprawnienia procesów. Porozmawiamy więc o wykorzystaniu eventów do komunikacji wewnątrz systemu, konceptach event/command/query busów, stosowaniu Event Sourcing do przechowywania historii zmian, czy też rozdzielaniu zapis od odczytu z wykorzystaniem CQRS, aby zwiększyć wydajność, skalowalność i bezpieczeństwo całego systemu. Będąc jednocześnie skoncentrowanym na realnym problemie biznesowym, bez rozpraszania zbędnymi detalami kodu.
Mariusz Gil
Software architect interesujący się złożonymi systemami o wysokiej wartości biznesowej, związany głównie z platformami webowymi. ex-CTO, konsultant, speaker i trener w Bottega IT Minds. Z branżą IT związany od ponad 16 lat. Entuzjasta rozwiązań big-data i machine-learning, a także osiąganych przy ich pomocy efektów. Po godzinach oddaje się swoim innym pasjom, fotografii i gitarze elektrycznej.
We, developers and architects, talk about cloud PaaS and SaaS offerings mostly looking at features, millions of requests a second it can process and how much easier it would be if we just switched from X to Y. What we don’t talk about is how much would it cost. Is feature Y worth the additional cost? How to design a cloud system that will have an acceptable financial footprint for the project to take off?
This talk aim is to help developers look at designing a system in Azure from a financial point of view. We will see how to utilize multiple Azure services to lover the cost, make better-informed decisions and in the end, design a better less error-prone and more scalable application because:
Cloud is cheap when the design is good.
Szymon Warda
With .NET from version 1.1 and with web development from the time when IE6 was the “better” browser. Working with machine learning, cloud, and big data by day. By night a developer of cookit.pl - a pet project processing hundred of gigabytes of data with whatever suits the problem best (Graph databases/ML/C#/F#). Technology enthusiast, Neo4j ambassador, speaker, and a blogger at IndexOutOfRange.com
Chciałbym poruszyć temat wyzwań i doświadczeń uzyskanych podczas prowadzenia ~20 osobowego zespołu technicznego rozwijającego i utrzymującego dużą platformę do aukcji czasu rzeczywistego z branży Adtech.
Opowiem co było dla nas kluczowe, by tak relatywnie mały zespół był w stanie budować i skalować platformę składającą się z setek maszyn i zapewnić wysoką jakość dostarczanych rozwiązań.
Jak zapewnić właściwy balans pomiędzy implementacją nowych funkcjonalności, wprowadzaniem usprawnień technicznych i redukcją długu technicznego - osiągając to wszystko przy systemie pracującym 24/7 w blisko 10 centrach obliczeniowych.
Przedstawię jak podczas naszej pracy nauczyliśmy się właściwie komunikować z zespołami produktowymi i biznesowymi tak aby były w stanie zrozumieć problemy i ograniczenia działu technicznego.
Opowiem jakie mamy metody wyznaczania długofalowych priorytetów dla technicznego rozwoju platformy, tak by z wyprzedzeniem rozwiązywać mogące się pojawić problemy techniczne.
Podsumowując będzie to prezentacja o tym jak podczas trwania projektu przekonać wszystkich dookoła, że jakość ma znaczenie i warto w nią inwestować - coś niby oczywistego, ale jakże często trudnego do wdrożenia w naszej rzeczywistości projektów IT.
Konrad Kaplita
CTO w firmie Appliscale, programista języka Erlang oraz entuzjasta programowania funkcyjnego. Doświadczony konsultant IT z ponad 8 latami doświadczenia. Współpracował z klientami z branży InfoSec, Automotive, Wireless Networking oraz Adtech. Rozwijał i projektował rozproszone systemy wysokiej niezawodności. Obecnie mocno zaangażowany w problemy z dziedziny cloud computing, głównie na platformie Amazon AWS.
Szczęśliwy programista? Kluczowe wskazówki do udanej kariery w IT
Branża IT oferuje wielkie szanse rozwoju: zarówno zawodowego, jak i osobistego. Pracownicy z tych środowisk są często postrzegani jako szczęściarze. I... nie jest to perspektywa pozbawiona podstaw. Z reguły jest nam "dobrze".
Jednak z jakże upragnionym przez nas komfortem wiąże się niebezpieczeństwo: uzależnienie. Uzależnienie od wygody i beztroski. Wbrew pozorom nie trzeba jednak wiele, by w pełni cieszyć się wolnością, zachowując wszystkie benefity rzucone nam przez cywilizację.
Jak?
Na swojej kilkunastoletniej ścieżce popełniłem wiele błędów i wyciągnąłem nieco wniosków. Dostałem niejedną nauczkę, ale każde przykre doświadczenie okazywało się na dłuższą metę bezcenne. Po ponad dekadzie życia w pełni poświęconego programowaniu... uwolniłem się. Nadal czerpię korzyści z uprzywilejowanej pozycji, jaką daje "części IT", ale jednocześnie rozwijam różne pasje i umiejętności. Programuję, jeśli chcę, a nie "bo muszę". Świadomie decyduję, czy to jest najlepsze wykorzystanie mojego czasu i potencjału w danym momencie.
Jak?
Kiedyś nie miałem takich możliwości ani nawet refleksji. Podczas tej prezentacji zaproszę Cię do chwili zastanowienia się nad prowadzeniem swojej własnej kariery w dżungli IT. Co możemy zrobić, by w pełni wykorzystać te wyjątkowe - a przecież przejściowe - możliwości?
I... JAK?
Maciej Aniserowicz
Po pierwsze: programista-pasjonat. Człowiek od wszystkiego związanego z programowaniem. Autor książki "Zawód: Programista".
Po drugie: pragmatyczny trener z misją dostarczania wyjątkowych szkoleń, faktycznie zmieniających sposób pracy i myślenia.
Po trzecie: żyje i oddycha polską społecznością programistyczną. Autor dev-bloga: devstyle.pl i VLOGa na YouTube. Twórca podcasta programistycznego: DevTalk. Prelegent na największych polskich konferencjach oraz grupach pasjonackich w całym kraju. Współorganizator legendarnej konferencji Programistok. Organizator konkursu Daj Się Poznać. Jeden z ex-liderów Białostockiej Grupy .NET.
Od 2008 posiadacz tytułu Microsoft MVP (Most Valuable Professional) w kategorii .NET.
Od 2005 Microsoft Certified Professional.
Prywatnie: mąż, tata. Dużo myśli, nieustannie poznając siebie. Słucha dobrej muzyki każdego rodzaju. Rozbił się na torze wyścigowym i znalazł w tym prawie same pozytywy.
Jakub Mrugalski
Pasjonat bezpieczeństwa webowego. Programista, administrator serwerów linuksowych, youtuber, publicysta, a zawodowo specjalista od pentestów i szkoleniowiec w firmie Niebezpiecznik.pl.
Chmura wydaje się naturalnym wyborem dla nowego projektu. Bądźmy szczerzy jedynym wyborem jak posłucha się programistów. Więc zebraliśmy zespół kilku naprawdę dobrych ludzi, posadziliśmy ich w jednym miejscu i się zaczęło. Najpierw fascynacja, lawina postów i szybkie PoC. Można by rzec cud, miód i orzeszki. Ale prawda jest taka, ze wiedzieliśmy niewiele. Właśnie stuknęło nam 12 miesięcy pracy z chmurą przy budowaniu jasno zdefiniowanego produktu. Dużo się nauczyliśmy i właśnie tą nauką chcielibyśmy się z Wami podzielić. Praktycznie i szczerze, trochę o tym co się udało, ale też sporo o tym co nie do końca. Bo to chyba nawet ważniejsze.
Buzz words (Docker, k8s, serverless, PaaS, DevOps, magic&tricks, Oh my God!, F…K) pojawiają się równie szybko co znikają. A my usiądziemy razem i opowiemy naszą historię dlaczego uważamy, że chmura jest jak alkohol. Spróbujemy sprecyzować kiedy jest to dobre piwo, kiedy tanie wino, a kiedy łącka śliwowica. Bo my w FinAi już każdy „alkohol” próbowaliśmy i wiemy co powoduje kaca.
Piotr Stapp
Programista, inżynier, rzemieślnik, projektant i rowerzysta. Korzysta z każdej technologii, która prowadzi do celu. Wierzy w ludzi, a nie w papiery. Jest wyznawcą DevOps i wszelkiej automatyzacji.
Jak przystało na człowieka inteligentnego, prowadzi bloga – o tyle wyjątkowego, że regularnie pojawiają się tam nowe teksty: http://stapp.space/.
Do niedawna Ekspert IT w mBanku. Obecnie współtworzy nowy fintech – FinAi, w którym pracuje nad zamianą rzeczy skomplikowanych na proste. A to czasem bywa trudne.
Technologie front-endowe wydają się bez powodu co rusz zmieniać, czego mogliśmy doświadczyć szczególnie w ciągu ostatnich kilku lat. Czy jednak na pewno zmiana technologii nie ma sensu? Czy spośród nowości znajdzie się coś co mogłoby wygrać z doświadczeniem budowanym przez lata na sprawdzonych rozwiązaniach? Okazuje się, że… tak!
Podczas prelekcji przedstawimy naszą drogę przez front-end zaczynając od czystego MVC z jQuery, poprzez Knockout, Angular JS 1.x, na Angularze 5 i Reactcie kończąc. Przekażemy nasze doświadczenia, decyzje jakie podejmowaliśmy po drodze, wypracowane przez nas praktyki oraz porady dla firm, które dopiero planują migracje do nowych technologii. Podkreślimy również najważniejsze techniczne różnice między popularnymi frameworkami i jakie niosą ze sobą konsekwencje.
Michał Sondej
Pasjonat szeroko pojętego programowania w każdej technologii. Niegdyś przewodniczący Rzeszowskiej Grupy .NET, dziś jako certyfikowany Microsoftowiec i starszy programista w Fabrity tworzy rozwiązania webowe dla biznesu. Prywatnie również no-life :)