Git narodził się 20 lat temu z praktycznej potrzeby. Pod wieloma względami był projektem nowatorskim w "tamtych czasach" (czy to było już na tyle dawno, że można tak powiedzieć? ;-) ), a potem zawojował świat. Czy dziś, dokładnie 20 lat od jego powstania, możemy się nauczyć z jego historii czegoś co pomoże nam projektować i dostarczać lepsze systemy?
Zapraszam do podróży w czasie do początków narzędzia, które towarzyszy codziennie każdemu programiście (i nie tylko). Prześledzimy wybrane momenty z historii powstawania Git'a a także niektóre decyzje oraz ich motywacje, i na tej podstawie opowiem o wnioskach jakie można z nich wyciągnąć, które pomimo upływu czasu, ciągle pozostają aktualne, choć często o nich zapominamy. A wszystko to wzbogacone odniesieniami do praktycznych doświadczeń ze współczesnych projektów nad którymi pracowałem.
"W ramach sesji pokażę trzy podejścia do wdrażania AI w organizacjach na bazie technologii Microsoft — NoCode (Copilot for Microsoft 365), LowCode (Copilot Studio) i CustomCode (Azure AI) — skupiając się na realnych scenariuszach, doświadczeniach projektowych i zebranych opiniach klientów. Odpowiem na pytania:
Sesja będzie miała charakter biznesowy z dużym nastawieniem na efekty wdrożeniowe i ich wpływ na biznes."
"Przydatność generatywnych modeli językowych (GMJ) zależy w dużej mierze od zdolności interpolacji międzyzadaniowej. Odpowiednie pokrycie ‘przestrzeni’ zadaniowej w fazie pretreningu i dostrajanie na instrukcjach skutkuje wykształceniem nowych, niereprezentowanych wprost w danych umiejętności. Ta kluczowa właściwość GMJ-ów jest w ogólności bardzo pożadąna, ale może też przejawiać się nadmiarowo; modele czasem nieskutecznie interpolują wiedzę i zdolności dla wysoce specjalistycznych zadań, których właściwe wykonanie wymaga precyzyjnych danych uczących, tzn. tekstów lub instrukcji. W kontekście wielojęzyczności modeli taki nadmierny transfer uczenia przejawia się negatywnym transferem językowym, czyli np. stosowaniem kalk stylistycznych i gramatycznych z dominującego języka modelu na język wyjściowy.
Tematem wystąpienia jest próba ograniczenia nadmiernej interpolacji GMJ-ów poprzez adaptację językową (kontynuację pretreningu na polskich tekstach), adaptację domenową (kontynuację pretreningu na tekstach domenowych i tzw. ‘wyżarzanie’ na tekstach i instrukcjach) oraz adaptację zadaniową poprzez dostrajanie na celowanych instrukcjach. Autor zaprezentuje przykłady adaptacji zadaniowej dla domeny konwersacyjnej i urzędowej na bazie doświadczeń w pracach nad modelami PLLuM."
Dostępne cyfrowo treści są tworzone, testowane i poprawiane w oparciu o różnorodne procesy. Część z nich jest oparta o stosunkowo proste i jednoznaczne reguły, dzięki czemu można łatwo je zautomatyzować. Większość wymaga jednak subiektywnej interpretacji kontekstu, funkcji czy wyglądu poszczególnych elementów. Wystąpienie stanowi przegląd wybranych wyzwań z zakresu dostępności cyfrowej, dla których metody sztucznej inteligencji mogą stanowić rozwiązanie lub ułatwienie. Potencjalne korzyści i problemy związane z użyciem AI do automatyzacji zapewniania dostępności zostaną omówione na przykładzie generowanych automatycznie opisów alternatywnych dla grafik.
Czy w Javie można tworzyć serwisy wykorzystujące narzędzia AI, czy też jesteśmy skazani na Pythona? W tej prezentacji opowiem, dlaczego postawiłem na Javę i pokażę, jak stworzyć inteligentny serwis z wykorzystaniem frameworka LangChain4j, nie będąc jednocześnie ekspertem w dziedzinie Data Science.
Framework LangChain4j udowadnia, że integracja z dużymi modelami językowymi (LLM) w Javie może być intuicyjna, elegancka i gotowa do użycia w projektach komercyjnych. Uczestnicy poznają nie tylko architekturę rozwiązania, ale też realne przykłady zastosowania, które mogą później wykorzystać w swoich aplikacjach.
Podczas live codingu krok po kroku zbuduję wyspecjalizowanego chatbota, dodając kolejne elementy aplikacji, takie jak mechanizmy RAG (Retrieval Augmented Generation) oraz Function Calling.
Imagine jumping into a new project. In a very short time you start asking meaningful questions, understand the business, and model it correctly. Somehow you just feel what’s right. You manage to solve some of the problems the team was facing for months. You suggest improvements that can benefit your clients tremendously. All within the first few weeks. Some team members may admire you, while others might make accusations that you are cheating or faking your abilities, or that you possess some special superpowers. Sounds like a fairy tale? During this presentation I’m going to show you how you can utilize archetypes to immediately recognize the business patterns, make right modeling decisions and astonish your fellow team members.
W trakcie prezentacji zobaczysz dwa systemy realizujące te same wymagania. Przyjrzymy im się z punktu widzenia: modularyzacji, kodu warstwy aplikacyjnej i kodu warstwy bogatego modelu dziedzinowego. Architektura pierwszego będzie oparta o naiwną analizę, pospieszną modularyzację i krótkowzroczną integrację. Architektura drugiego będzie oparta o kilka rozdziałów z wydanych pół wieku temu książek, będących biblioteką rozwiązań typowych problemów biznesowych - archetypów. A przy okazji zrewidujemy podstawy OO i połączymy je z FP.
„Nie robimy wszystkiego w ten sam sposób tylko dlatego, że raz się udało lub nie.” Ten często powtarzany błąd podkreśla kluczowe wyzwanie w niezawodnym przesyłaniu wiadomości: wybór odpowiedniego wzorca dostarczania dla Twoich konkretnych potrzeb. Chociaż wzorzec Outbox jest dobrze znanym rozwiązaniem do dostarczania wiadomości „at least once”, jest on daleki od jedynej opcji – a nawet on ma wiele wariantów.
Ta sesja wyposaży Cię w kompleksowe zrozumienie różnorodnych wzorców dostarczania wiadomości „at least once”, od uproszczonych podejść po bardziej złożone implementacje. Zbadamy, jak każdy wzorzec optymalizuje różne czynniki architektoniczne, pomagając Ci uniknąć typowych pułapek i podejmować prawdziwie świadome decyzje projektowe.
Zdobędziesz praktyczne spostrzeżenia i jasne kryteria, aby:
Prezentacja w przystępny sposób wprowadza uczestników w bezpieczeństwo aplikacji Java, pokazując najczęstsze podatności i praktyczne rozwiązania oparte na Spring Boot oraz narzędziach OWASP. Dzięki mojemu 20-letniemu doświadczeniu jako architekt i specjalista ds. bezpieczeństwa, uczestnicy otrzymają realne przykłady kodu oraz gotowe techniki, które mogą od razu zastosować w swoich projektach. Prezentacja jest idealna dla początkujących, którzy chcą podnieść poziom bezpieczeństwa aplikacji bez zbędnej teorii.
Golang jest często wyśmiewany za swoje uproszczone podejście do rozwiązywania każdego problemu za pomocą skończonej liczby instrukcji 'if' i pętli 'for'. Czy możemy się czegoś nauczyć od tak “prymitywnego" języka? Sprawdźmy!
Omówimy takie zagadnienia jak modularność, interfejsy, współbieżność i narzędzia, a następnie zobaczymy, jak można przenieść niektóre pomysły do Javy.
Sztuczna inteligencja pisze, komponuje i projektuje – ale czy to naprawdę twórczość? W prezentacji przyjrzymy się granicom i możliwościom AI, jej wpływowi na biznes i zawody kreatywne oraz temu, dlaczego autentyczność i autorstwo stają się dziś kluczowe.
Przerażające statystyki cyberataków na całym świecie nie pozostawiają złudzeń: zagrożenie jest realne, a skala strat liczona jest już w dziesiątkach miliardach dolarów rocznie. Jakie techniki stosują hakerzy, by przekraczać kolejne granice cyberbezpieczeństwa? Jaki aspekt generuje największe ryzyko dla firm? Kto jest najbardziej zagrożony?
Poznaj techniki i sztuczki używane przez północnokoreańską “państwową” grupę Lazarus* przy atakach, wobec których nie można pozostać obojętnym. W skrócie opowiem oczywiście o ich największych i najbardziej bolesnych akcjach, którymi ofiarami padały instytucje finansowe, firmy medialne, koncerny farmaceutyczne, czy giełdy kryptowalut. Najwięcej uwagi poświęcimy jednak atakom grupy, które mogą stanowić niebezpieczeństwo w 2025 roku zarówno dla JDG, MŚP, jak i wielkich korporacji.
Celem prezentacji jest zwiększenie świadomości uczestników (bez wchodzenia w niskopoziomowe szczegóły techniczne) na temat skali i natury tych zagrożeń. Jest to pierwszy krok do skutecznego zabezpieczenia Twojej firmy. Przygotuj się, bo jutro celem możesz być Ty.
OSTRZEŻENIE. Autor prezentacji NIE BIERZE ODPOWIEDZIALNOŚCI za ewentualne koszmary senne albo chorobliwy lęk towarzyszący każdemu kliknięciu linku w mailu oraz otworzeniu załącznika (nie mówiąc już o patrzeniu wilkiem na "zbyt ciekawe" oferty otrzymane przez LinkedIn). Jeżeli wybierasz (pozorny) spokój i wolisz żyć w (błogiej) niewiedzy, rozważ alternatywne prezentacje.
Mimo tego, że Inżynieria Produktu zyskuje popularność, nie jest wcale łatwo wywierać realny wpływ na projekt. Same umiejętności czy nastawienie potencjalnego Inżyniera/Inżynierki Produktu to za mało.
To procesy wytwarzania oprogramowania w firmach zamykają zespoły w produktowym friendzonie. Jeśli chcesz z niego wyjść, potrzebujesz czegoś więcej niż chęci.
Omówimy jak [nie]świadomie zespoły programistyczne są pozbawiane sprawczości i kończą w spirali długu technicznego przez swoje otoczenie. Przyjrzymy się jak PO/PM, sprzedaż czy mityczny biznes skutecznie rozbrajają zespoły techniczne, nawet jeśli te zgromadzą dane dla poparcia swoich propozycji.
Co się wydarzy, kiedy wrzucisz do kotła trendy ostatnich lat, takie jak oszczędzanie pieniędzy ("cloud spending optimization", jak nazywają to profesjonaliści), sustainability (jak nazywają to firmy budujące reaktory atomowe do napędzania trenowania modeli) oraz wewnętrzne incentivy dostawców chmurowych? Efektem są ciekawe wdrożenia aplikacji Javowych na procesory ARM. Mieliśmy okazje takie przeprowadzić w dwóch różnych chmurach, i w tej prezentacji chciałem się podzielić tym, czego się nauczyliśmy.
Failed clinical trials costs $5–25M per study, with current AI prediction accuracy capped at 67%. In Sii we have ellaborated an AI-powered early warning system that combines four specialized BERT models with novel text analysis methods to flag high-risk trials before launch. The system analyzes design-phase documents, detecting subtle indicators such as enrollment feasibility, regulatory complexity, and sponsor confidence. Tested across diverse disease areas, it outperforms previous systems, offering potential savings of $125M in evaluated portfolios. Predictions are interpretable, enabling proactive adjustments and shifting failure management from reactive to preventive. During the talk you will learn more about the challange, the solution and potential benefits.
W tym roku Java świętuje swoje 30. urodziny! To język, który od trzech dekad rządzi w świecie programowania, a dziś przeżywa prawdziwy comeback — zarówno dzięki ewolucyjnym, jak i rewolucyjnym zmianom w kodzie, nowym funkcjom w SDK i ciągłym usprawnieniom JVM, które sprawiają, że nasze aplikacje działają szybciej i sprawniej niż kiedykolwiek.
Podczas tej sesji sprawdzimy, czy warto wciąż stawiać na Kotlina, czy może Java dogania konkurencję. Dowiesz się też, co szykuje dla nas przyszłość i jak zmiany w Javie mogą zacierać granice między nią a innymi językami.
Java applications can be incredibly performant in the long run, but their weakest spot is at the startup as they may take seconds to start and minutes to warm up. During that period, they consume more memory and process fewer requests. It gets even worse when you restart the application hundreds of times a day or when you use services that charge you for the compute time. Luckily, there are not one but four approaches to dealing with this problem:
Managing media workflows at the Netflix scale is both thrilling and daunting. With millions of workflow executions across hundreds of types and over 500 million CPU hours consumed quarterly, costs can skyrocket, and encoding issues can disrupt the streaming experience. The challenge is immense: ensuring the timely delivery of high-resolution encodes, avoiding costly codec bugs, supporting last-moment redeliveries, and identifying bottlenecks before they drain compute resources. How do we navigate this complex system without spiraling into budget and delay disasters? This isn't just about fixing bugs faster anymore. This is connected to observability driving real business value. Imagine instantly knowing the true cost of encoding each movie, or precisely tracking redelivery metrics that directly impact revenue.
We confronted these challenges directly and discovered that traditional observability tools, designed primarily for RPC-style services, were inadequate for media workflows. We required observability at scale to support asynchronous media workflows with long-running tasks. By embracing domain-specific events, distributed tracing, and consistent tagging, we achieved a comprehensive view of our users' workloads. We developed a stream-processing pipeline that processes events from various parts of media workflows and collates them into actionable insights. This powers our observability platform, capable of handling billions of events in real-time, enabling rapid insights and on-the-fly aggregations.
In this talk, we’ll cover the following aspects of how we built observability for long-running, distributed, and high-throughput systems, and how you can apply these learnings: Near real-time insights: Learn how to process events promptly to meet the monitoring needs of low-latency encoding. Discover techniques to enable users to catch bugs sooner, limiting wasted compute on encodes known to fail. Optimal rollup strategies: Explore how to consolidate millions of low-level events into hundreds of business insight events. We'll share techniques like pre-aggregation and event collapsing to minimize storage and efficiently support top queries. Opinionated tagging taxonomy: Understand the importance of a defined tagging taxonomy and how it ensures all business metrics are expressed consistently within your observability platform. Enabling ROI analysis for feature development: See how to facilitate long-pole analysis, gain insights into compute usage, and understand latency implications for better ROI analysis of your feature development.
By the end of this session, attendees will have concrete strategies to implement effective observability, transforming operations from reactive firefighting to proactive decision-making. Get ready to move from panic to clear, actionable insights, bringing clarity and control to your own large-scale systems!
Wystąpienie poświęcone będzie najnowszym wynikom prac nad rozwojem polskich dużych modeli językowych PLLuM realizowanych przez konsorcjum HIVE AI. Omówimy proces tworzenia modeli – od przygotowania danych, przez metody uczenia, po ewaluację – oraz podjęte decyzje metodologiczne. Szczególny nacisk położymy na prezentację nowych modeli z rodziny PLLuM, a także na kwestie ich zabezpieczania oraz dostosowywania do oczekiwań odbiorców. Przedstawimy również udoskonalone narzędzie ShpaRAG do projektowania i testowania systemów typu RAG w wariancie jedno- i wieloturowym oraz podzielimy się doświadczeniami z wdrażania polskich LLM-ów w administracji publicznej i sektorze prywatnym.
Google Zanzibar is the singular authorization service that powers permissions and sharing across all Google properties, including Docs, YouTube, and Cloud IAM. Creating a consistent, global-scale authorization system that can process "more than 10 million client queries per second” is not a trivial task. The talk will cover how the paper lays out an engineer-friendly blueprint for building a highly scalable distributed system with flexible consistency guarantees.
This talk will start with foundational knowledge of Relationship Based Access Control (ReBAC) and then cover the technical implementations behind Zanzibar - How Google solved for correctness, scale and speed. The presentation will cover the different APIs for interacting with the system and also a deep-dive into how the “New Enemy” problem was solved. The talk will conclude with how you can use open source tools to build authZ into your application.
"Firmowe bazy wiedzy bywają ogromne, rozproszone i trudne w wykorzystaniu. W ostatnich miesiącach mieliśmy okazję wdrażać asystentów AI opartych na LLM w różnych organizacjach — od ubezpieczeń, przez budownictwo i energetykę, aż po edukację. Dzięki temu zebraliśmy zestaw praktycznych lekcji, które są równie ważne dla inżynierów, jak i dla liderów biznesowych.
Podczas wystąpienia opowiem o tym, jak:
Będzie to spojrzenie zarówno techniczne, jak i biznesowe — pokazujące, jak przełożyć nowe możliwości AI na realną wartość w organizacji."
Zaawansowane praktyki i wzorce, które pozwolą Ci utrzymać fason i opanować problemy z wydajnością oraz wygodą użycia Twojego CI. Czego się dowiesz:
Czy można stworzyć podobne CI dla różnych języków? Jak najwygodniej wersjonować? Jakie typy weryfikacji powinny pojawić się w Twoim CI? Jak uzyskać czasy wykonania podobne do tych na lokalnym komputerze? Jakie zasady powinny być przestrzegane, aby zadanie w potoku działało poprawnie?
Usłyszysz tu moc zaawansowanych porad, dzięki którym Twój potok stanie się lepszy, szybszy i mniej awaryjny. Przedstawię również moje autorskie podejście do pracy na gałęziach z narzędziem GIT w połączeniu z CI.
"Pisz ładny kod a JIT zajmie się wydajnością" - takie piękne frazesy można spotkać na niejednej prezentacji. Czy jest to na pewno prawda? Czy znajomość tego jak działa procesor jest w ogóle jeszcze w dzisiejszych czasach potrzebna? Czy może wystarczy, żeby umieli to "goście" od kompilatorów?
Identyczny opis mogliście zobaczyć w mojej prezentacji w 2023 roku. Tym razem chcę opowiedzieć trochę bardziej teoretycznie jak działa procesor, dokumentując wszystko przykładami w Javie.
Staying up to date with Modern Java can feel overwhelming. If you don’t have any experience with recent Java versions (or at all), features like Structured Concurrency or Stream Gatherers might sound exciting, but also scary: “How do I even get started with that?” Fear not! In this session Marit and Piotr will explain to you the new exciting things and also show you how to use them in your IDE, so that the next day you can start having fun and profit with modern Java in your favorite tools on your own.
This presentation explores the unique challenges of migrating a monolithic application to microservices under extreme scale and strict latency requirements. As a leading ad re-targeting company operating in over 70 countries, RTB House processes Exabytes of data and handles over 20 million requests per second. We will detail our journey in deconstructing a core application, extracting its memory-intensive functionalities into independent, gRPC-accessible microservices while maintaining millisecond-level response times.
We will share our key technical solutions for the critical hurdles we faced:
This session offers a comprehensive look at the architectural decisions and technical solutions essential for migrating high-throughput monoliths, focusing on principles applicable to any demanding, high-performance system.
Na co dzień nie przejmujemy się pamięcią ani działaniem Garbage Collectora. Wszystko działa w tle i nie wymaga naszej ingerencji.
Co jednak zrobić, gdy aplikacja nagle przestaje się uruchamiać? Na przykładzie jednego z problemów pamięciowych w Allegro pokażę narzędzia, które pomogą nam rozwikłać tę zagadkę.
Na początku wszystko wygląda dobrze, automatyczna instrumentacja działa, trace’y są widoczne. Ale z czasem coś zaczyna się psuć: część danych znika, trace’y się urywają, a koszty monitoringu rosną.
W tej prezentacji pokażę z czym naprawdę mierzymy się przy wdrażaniu OpenTelemetry w złożonych architekturach. Dowiesz się:
Pokażę konkretne przykłady z projektów produkcyjnych: kod, konfiguracje, pułapki i skuteczne strategie. Po tej prezentacji będziesz wiedzieć, jak tworzyć naprawdę użyteczny system monitorowania nawet w najbardziej złożonych środowiskach.
Panel dyskusyjny z udziałem ekspertów z branży IT, którzy podzielą się swoimi spostrzeżeniami na temat aktualnych trendów, wyzwań i przyszłości technologii.
Chcesz dowiedzieć się, jak wyglądają wdrożenia technologii dla najbardziej wymagającego klienta – Departamentu Obrony? Poznaj realia pracy przy wdrożeniach do środowisk wojskowych, gdzie odcięcie od internetu jest standardem, a bezpieczeństwo danych ma kluczowe znaczenie. Podczas prelekcji przeniosę Cię z cyfrowego zaplecza bazy wojskowej do zamkniętego, odciętego od świata środowiska gdzieś na dnie oceanu, gdzie bezpieczeństwo i niezawodność są absolutnym priorytetem.
Naszą podróż rozpoczniemy od dobrze znanych środowisk chmurowych opartych na Kubernetesie. Krok po kroku przejdziemy przez procesy oraz niezbędne modyfikacje platformy, umożliwiające wdrożenie zasad Zero Trust. Poznamy techniki pozwalające w prosty sposób wdrażać oprogramowanie w środowiskach odciętych od internetu, a na koniec — zagramy w DOOM-a!
We wrześniu 2025 rozpocznie się kolejna edycja konkursu dla narzędzi informatycznych do przetwarzania języka polskiego - PolEval. Jego celem jest poprawa jakości istniejących rozwiązań, przetestowanie nowych algorytmów oraz promocja inżynierii lingwistycznej.
W zadaniach tych rywalizowało dotąd łącznie ponad 140 systemów przygotowanych zarówno przez przedstawicieli środowisk naukowych, jak i firm prywatnych.
W tym roku ogłoszone zostały następujące zadania, które omówione zostaną podczas prezentacji:
W trakcie prezentacji pokażemy praktyczne przykłady wykorzystania RAG-ów, omówimy architekturę, wyzwania wdrożeniowe oraz zastosowania w realnych projektach.
"Where should you run LLM-generated code to ensure it's both safe and scalable? And why did we move from a cool in-browser WebAssembly approach to boring, yet reliable, cloud computing?
Our AI chart generator taught us that running R in the browser with WebR, while promising, created practical issues with user experience and our development workflow. Moving the code execution to AWS Lambda proved to be a more robust solution."
Java, the runtime, likes memory.
It is a fact well known to those who know it well, that subtle differences in code, can lead to drastic changes to applications memory and runtime profiles. I’ll take you through the memory lane part of my work, and show how do I approach analysis, problems and troubleshooting. Tools, what information can they surface, and how to navigate back to the code. Techniques and libraries, how do they affect what the application does. Feel invited if you believe troubleshooting memory in Java is “magic”, or “only tuning the GC can save us”.
Ostatnio w rozwijanym systemie wewnętrznym pojawiły się "nietypowe" wymagania - uwierzytelnianie i autoryzacja. Implementację przypisano mojemu zespołowi, co było dobrą okazją do odświeżenia sobie kilku pojęć, OAutha oraz do skorzystania z podprojektów Springa Security.
Pokażę/przypomnę czym się różni AuthenticationProvider
od AuthenticationManager
a, gdzie w tym wszystkim jest słynny UserDetailsService
, jak ograć sprawdzanie uprawnień w jednym miejscu, wybierając dobrą konwencję i jak podpięcie zależności od Okty pomogło nam znaleźć różnice pomiędzy serwerem organizacji a domyślnym serwerem.
We tend to overcomplicate things especially when we learn them. Your friend comes back from a conference with shiny new ideas and the next day you wake up with event driven architecture for communication, event sourcing for persistence, domain driven concepts scattered randomly on your sources and a distributed monolith in a monorepo. And none of this helps, quite the contrary. Since this is usually where I help companies, I’d like to show you a few recurring patterns of overcomplication and how to avoid them. I’m going to talk about:
Opowiem, jak zespół rozrósł się z 8 do 70 deweloperów mobilnych oraz jak udało się stworzyć szeroki portfel produktów dostępnych w jednej aplikacji. Prezentacja będzie prowadzona w konwencji gry RPG, z licznymi odniesieniami do świata gier. Poruszę następujące zagadnienia: budowa i podział struktury zespołów, kluczowe procesy i narzędzia (współpraca, komunikacja), architektura projektu oraz rozwiązania techniczne ułatwiające skalowanie, platforma usprawniające pracę dużej organizacji. W ramach cyklu LeSS & Learn podzielę się również przykładami błędnych założeń, nietrafionych decyzji oraz wyciągniętymi z nich wnioskami.
Software design to temat, który często redukuje się do zestawu buzzwordów: SOLID, KISS, YAGNI. W rzeczywistości to jednak codzienne decyzje związane z zarządzaniem złożonością – i to właśnie one decydują o jakości kodu.
W tej prezentacji:
Przykłady będą proste, ale realistyczne – oparte na prawdziwym kodzie (Java, GraphQL i nie tylko).
In this talk, in layman's terms, I will explain how SSL/TLS works and how it helps to address 3 critical questions of secure communication:
We were building a new product with a rare luxury: full freedom in choosing the tech stack. So naturally, we did what many dream of - went microservices from day one, adopted event-driven architecture everywhere, use all modern cloud tooling. In short: the “right” way.
This talk is about what happened over the next couple years - the trade-offs, the slowdowns, and the hard lessons from building a startup where the architecture was technically sound… but not always aligned with what the business needed most.
Delivered by engineers who lived it end to end, we’ll cover:
If you're starting something new, or advising teams who are, this talk will give you honest, battle-tested perspective. No buzzwords. No hero stories. Just two devs sharing what worked, what hurt, and what really matters when you’re building from zero.
Concurrency in Java is a huge and scary part of the language. Many programmers try to avoid this dragon's land. However, I invite you to take a tour of the lesser known corners of this land. We'll have a look at the innovations associated with Structured Concurrency (The Green Dragon) and visit the unknown territories associated with Software Transactional Memory (The Blue Dragon). I will show you how to build a simple pseudo-transactional system on your own (The Pink Dragon, and yes, we have pink dragons). We will end our journey through the magical land of concurrency by building a demo that uses the above solutions. The presentation is aimed at people who are familiar with the basic concurrency mechanisms in Java, but want to expand their knowledge with novelties and techniques from other languages available on the JVM platform.
How to survive an operational cataclysm? What to do when it happens, at a time when we mostly neither expect it, and often even less ready for it? You can't bury your head in the sand and pretend that nothing happened. You have to act, very actively, very decisively, and use all possible competencies to get the situation under control. I will go thru the process of surviving a critical situation including real project disasters.
Imagine asking your database a question in plain English - and getting the right answer back, instantly. Thanks to advances in large language models (LLMs), this is now a practical reality. Natural Language to SQL (NL2SQL) systems are making data more accessible than ever, helping teams move faster without writing a single query by hand. In this talk, we’ll walk through the key building blocks that make it possible for LLMs to "talk" to databases.
We’ll start with natural language: how NL2SQL systems understand what the user is asking, map questions to the right parts of a database, and generate executable SQL. Of course, this is easier said than done. Natural language is full of ambiguity, and many databases have complex schemas, tricky joins, and domain-specific terms. But despite these challenges, benchmarks like Spider and BIRD show just how far we've come in the past decade.
Next, we’ll introduce the Model Context Protocol (MCP) - a way to give LLMs access to metadata, table relationships, and tools for query execution. Instead of guessing, the model can reason step-by-step using chain-of-thought, consult the schema, and run sub-queries to reach the right result.
Whether you're an engineer building LLM-powered interfaces or a data leader exploring self-serve analytics, this session will give you a clear view of how natural language is reshaping the way we interact with data and how to start using it in your stack today.
In 2014, JDK 8 introduced the Stream API, bringing a taste of functional programming to Java. 11 years later, in 2025, with the release of JDK 24, the biggest change awaits us in the form of JEP 485 - Stream Gatherers. Do streams make sense (spoiler: yes!), what benefits do gatherers bring, when is it worth using parallel streams, and when can they get in our way - these and other questions will be answered!
Współczesne środowisko informacyjne i rozwojowe coraz częściej promuje tzw. "vibe coding" i "vibe thinking" – praktyki polegające na działaniu w oparciu o intuicyjne „odczucie”, kontekst społeczny lub trendy, a nie rzetelną analizę problemu i krytyczne myślenie. Zjawiska te są szczególnie widoczne w środowiskach IT, data science i AI, gdzie szybkie iteracje i gotowe rozwiązania (np. z GitHub Copilot, StackOverflow, ChatGPT) mogą skutkować spadkiem umiejętności analitycznego rozumowania, weryfikacji źródeł i rozumienia fundamentów technologii. Prezentacja analizuje mechanizmy psychologiczne i technologiczne stojące za tym trendem, wskazuje zagrożenia dla jakości kodu, bezpieczeństwa systemów i podejmowania decyzji w oparciu o dane, a także proponuje strategie utrzymania standardów myślenia krytycznego w erze „programowania na vibe”.
In this talk, we’ll dive into what it really takes to build resilient, efficient systems both on-prem and in the cloud. Too often, teams prioritize “just make it work” over thoughtful design, leading to brittle architectures and rising costs.
We’ll explore concepts like load shedding what it is, when to apply it and whether failing fast is always the right strategy. Is horizontal scaling the answer to every problem? Not necessarily. Sometimes it simply masks deeper issues.
Using a simple, relatable architecture as an example, we’ll break down how different types of requests behave, how to avoid wasting CPU cycles, and why certain architectural decisions are key to building systems that are both reliable and cost-effective.
Czy da się automatycznie stworzyć sensowny diagram albo dokumentację prosto z kodu? Czy w kodzie jest wystarczająco dużo wiedzy, a może wręcz przeciwnie – jest jej tak dużo, że trudno wybrać, co jest najważniejsze?
Coraz wyraźniej widać, że to możliwe. Wraz z rozwojem LLM i agentów AI pojawia się coraz więcej narzędzi tego typu – ale, co ciekawe, nie wszystkie opierają się na AI. Statyczna analiza kodu wciąż ma się bardzo dobrze.
W prezentacji pokażę efekty poszukiwań odpowiedzi na pytanie: “Która wiedza w kodzie jest naprawdę kluczowa i jak ją wyłowić – w zależności od tego, kto chce się czegoś dowiedzieć.”
Przyjrzymy się, jak różne narzędzia rozwiązują ten problem: do kogo są skierowane, co pokazują, co ukrywają i jak powtarzalne są ich wyniki. Będzie o rozwiązaniach opartych wyłącznie na LLM (wpychających całe repo do prompta), o eksperymentach Simona Browna (C4/Structurizr) i o tym, jak podobny problem rozwiązywaliśmy w Noesis.vision.
Będzie kod i będzie live demo. Zapraszam!
Running real-time quizzes for millions of players worldwide puts serious pressure on the backend. In this talk, I’ll walk through how we’ve scaled Kahoot as it grew — from a well-designed monolith that served us reliably, to a gradual transition toward microservices driven purely by scale and evolving needs.
We’ll look at our current architecture, the metrics that pushed us to rethink parts of the system, and how we’re migrating using safe, proven patterns — with practical lessons, diagrams, and real-world stories along the way.
To prezentacja o tym, jak stawiać projekty za darmo albo prawie za darmo. Będą darmowe tiery, tanie VPS-y, open source, rozwiązania enterprise i chmurowę i trochę zdrowego kombinowania. Bo po co przepłacać, skoro można mieć działający side-project i nie wydać ani złotówki?
Pokażę podejście, które pozwala szybko uruchamiać fronty, backendy, bazy danych czy mini-aplikacje — nie mając nic poza pomysłem i odrobiną cierpliwości do konfiguracji.
To sesja dla osób, które robią projekty po godzinach, z pasji. Bez narzędziowego fetyszyzmu — za to z dużą dawką praktycznych wskazówek, inspiracji i lekkiego cebularstwa.
Nie musisz mieć pieniędzy, żeby mieć projekt. Wystarczy mieć głowę — i wiedzieć, czego nie klikać.