200. Spotkanie jubileuszowe WJUG - Kevlin Henney, Tomasz Nurkiewicz i inni

This is a past event

200 people went

Details

Warszawa JUG zaprasza wszystkich na jubileuszowe spotkanie numer 200, które odbędzie się wyjątkowo w poniedziałek 6 marca o godzinie 17:45 w Auli Głównej Polsko-Japońskiej Akademii Technik Komputerowych, ul. Koszykowa 86.

Specjalnie dla Was zaprosiliśmy kilku znanych prelegentów, którzy uświetnią to rocznicowe spotkanie Warszawa JUG.

Plan wydarzenia

17:45 Networking i poczęstunek
18:00 Rozpoczęcie
18:05 Metrics! But what do they mean? - Jan Pustelnik
18:40 Asynchronous by default, synchronous when necessary - Tomasz Nurkiewicz
19:30 Przerwa
19:45 Getting More Done - Maciej Aniserowicz
20:20 Seven Ineffective Coding Habits of Many Programmers - Kevlin Henney

Uwaga: Godziny startu poszczególnych prezentacji są orientacyjne.

Dzień po spotkaniu (7 Marca) odbędzie się całodniowy warsztat Good Code poprowadzony przez Kevlina Henneya. Dzięki uprzejmości firmy GFT mamy do rozdania 15 wejściówek na ten warsztat. Więcej informacji na stronie wydarzenia (https://www.meetup.com/Warszawa-JUG/events/237884184/).

Opisy prezentacji:

1. Metrics! But what do they mean? - Jan Pustelnik

Everyone loves metrics – we have them for everything: code coverage, defect density or code complexity. But what do they really mean? Can we just set the target at 100% (coverage) or 0 (defects, complexity) and start happily converging on it? Or maybe understanding those numbers needs understanding of what are they really standing in for? Can we have 100% test coverage and still have bugs? Can we succeed with 30% coverage? What about cyclomatic complexity? Let’s dive in!

Jan Pustelnik
Technical Architect at GFT Poland by day, sporadic Akka project contributor by night. Interested in how software works on low level, he does not find big frameworks appealing. This is why he loves Scala, an expressive language that allows one to build right abstractions quickly without losing control over details. Jan is an active member of JUG Łódź and occasional conference speaker. Currently he is busy with a Big Data project for one of major investment banks. In his spare time he loves to dust-off some old issue of computer science journal only to find out that everything has already been invented before he even was born.

2. Asynchronous by default, synchronous when necessary - Tomasz Nurkiewicz

In distributed systems, synchronous communication (RPC-style) is tempting but can quickly get out of hand. Suddenly you need to think about retrying, fallbacks, circuit breakers, failover, and latency. Tomasz Nurkiewicz explains how all of this can be avoided by preferring asynchronous communication between services, pub-sub patterns, and event sourcing. Too often migrations from monolith to microservices architecture are unsuccessful. Simply replacing in-process method calls with RESTful interfaces doesn’t mean we have a distributed system consisting of loosely coupled independent services. Quite the opposite: our architecture is now a tangled web of interconnected, slow, chatty, and unreliable components. Dozens of patterns were introduced to ease the pain, such as circuit breakers, scaling services horizontally, and load balancing — all of this to prevent cascading failures and increased latencies. We can achieve fast, loosely coupled, independent services only if we apply the dependency inversion principle at the architecture level. Moving to asynchronous communication via message passing and pub-sub patterns can prevent temporal coupling. Such coupling requires two systems to exist and work reliably at the same time in order to communicate. This is the biggest challenge in distributed systems that increases complexity, latency, and the possibility of failure.
Tomasz demonstrates how pushing changes asynchronously between systems can improve fault tolerance and make systems more reliable, faster, and more independent, focusing on publishing (pushing) changes and rebuilding state on the client side as opposed to pulling data when needed. From this point jumping to event sourcing is quite natural. Along the way, Tomasz covers the drawbacks and challenges of this architectural style.

Tomasz Nurkiewicz
Senior software engineer at Allegro. Tomasz has spent half of his life programming (for the last decade professionally in Java land). He loves backend, tolerates JavaScript, is passionate about alternative JVM languages, is disappointed with the quality of software written these days (so often by himself!), and hates long methods and hidden side effects. Tomasz is interested in charting, data analysis and reporting and believes that computers were invented so that developers could automate boring and repetitive tasks. He is involved in open source and used to be very active on StackOverflow. Tomasz is an author, trainer, conference speaker, technical reviewer, and runner and has been recognized as DZone’s most valuable blogger. He claims that code not tested automatically is not a feature but just a rumour.

3. Getting More Done - Maciej Aniserowicz

"Co zrobić żeby zarobić a się nie narobić" - to dylemat cwaniaków od zarania dziejów. Zamiast tego powinniśmy się zastanawiać "jak zrobić jeszcze więcej?".
Wszyscy jesteśmy zarobieni po pachy - normalna sprawa w "cywilizowanym" świecie. Jednak za pomocą pewnych technik, praktyk, zwyczajów i narzędzi można z życia wyciągnąć więcej niż do tej pory.
Doba ma zbyt mało godzin? A może to po prostu my jesteśmy zbyt mało efektywni? Być może marnujemy więcej czasu, niż zdajemy sobie z tego sprawę?
Jak ogarnąć wszystkie obowiązki, jednocześnie zostawiając parę chwil dla siebie? Jak wykorzystać każdą dostępną minutę? I nie zgubić nic po drodze.
Podczas tego wystąpienia zaprezentuję swoje doświadczenia z ostatnich lat, kiedy to starałem się świadomie, metodycznie i starannie optymalizować codzienne zachowania i przyzwyczajenia tak, aby jak najmniej życia... "znikało".

Maciej Aniserowicz
Po pierwsze: programista-pasjonat. Człowiek od wszystkiego związanego z programowaniem. Po drugie: pragmatyczny trener z misją dostarczania wyjątkowych szkoleń, faktycznie zmieniających sposób pracy i myślenia. Współpracuje z firmą Bottega. Po trzecie: żyje i oddycha polską społecznością programistyczną. Autor jednego z najpopularniejszych dev-blogów: http://www.maciejaniserowicz.com. Twórca podcasta programistycznego: DevTalk. Prelegent na największych polskich konferencjach oraz grupach pasjonackich w całym kraju (lista wystąpień: tutaj, nagrania z prezentacji: tutaj). Jeden z liderów Białostockiej Grupy .NET oraz współorganizator konferencji Programistok. Od wielu lat jeden z trzech polskich Microsoft MVP (Most Valuable Professional) w kategorii .NET. Od 2005 posiadacz tytułu Microsoft Certified Professional.
Prywatnie: mąż, tata. Słucha dobrej muzyki każdego rodzaju. Uwielbia jazdę samochodem i motocyklem. Na Twitterze: @maniserowicz.

4. Seven Ineffective Coding Habits of Many Programmers - Kevlin Henney

Habits help you manage the complexity of code. You apply existing skill and knowledge automatically to the detail while focusing on the bigger picture. But because you acquire habits largely by imitation, and rarely question them, how do you know your habits are effective? Many of the habits and conventions programmers have for naming, formatting, commenting and unit testing do not stand up as rational and practical on closer inspection.
This session examines seven coding habits that are not as effective as many programmers — whether working with Java, .NET, native or scripting languages — might believe, and suggests alternatives.

Kevlin Henney

An independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and sites, including Better Software, The Register, Application Development Advisor, Java Report and the C/C++ Users Journal.
Kevlin is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of the 97 Things Every Programmer Should Know site and book.

Sponsorem spotkania jest GFT (http://gft.com/pl)

Na spotkaniu będzie catering.

-----------------------------------------

Przypominamy, że czekamy również na zgłoszenia Waszych prezentacji (do wyboru od 15 min do 120 min) FORMULARZ ZGŁOSZENIOWY (https://warszawajug.typeform.com/to/L5ydtp).

Jeśli się wahasz czy Twój pomysł się nada, to zapraszamy do kontaktu z organizatorami, bezpośrednio na spotkaniu, poprzez wiadomości meetupa, albo w dowolny wybrany sposób.