4Developers 2021
2021-05-24..2021-05-27
-- online --
[4Developers 2015, 4Developers 2017, 4Developers 2019, 4Developers 2019 Warszawa, 4Developers 2020, 4Developers 2021, 4Developers 2022 Online]
| title | author | length |
|---|---|---|
| How to Test SDN, or Software‑Defined Networks? | Dariusz Grabowski | 44m |
A Polish SDN controller is tested with a reproducible end-to-end pipeline: Packer + cloud-init + Ansible build VM switch images running Open vSwitch, Terraform… | ||
| Rules of Engagement QUESTIONS TO ASK BEFORE YOU START AUTOMATING | Maciej Wyrodek | 40m |
Checklist of concrete questions and hard lessons: projects fail because there is no test data strategy (three months of POC but no usable tests), because teams… | ||
| Architecture of automated UI tests on iOS | R Herba, E Ludwiczak, P Kowalczuk | 43m |
A case study of automating UI regression tests for Allegro’s iOS shopping app, describing why automation was needed, the test architecture design, how tests… | ||
| Mutation testing: Too good to be true? | Piotr Kubowicz | 44m |
Explains practical results from running mutation testing with Pitest on JVM code: default engine Gregor vs Discarders behavior, Gregor generates many… | ||
| Testing cloud solutions in the spirit of software craftsmanship | M Dwornicki | 38m |
Explains how to test cloud-based and serverless applications by applying software craftsmanship principles, using a real project case study to show which tests… | ||
| Testable Architecture: How to Build High-Quality Software and Ship Fast | K Grzybek | 47m |
The talk explains how to design a testable software architecture to enable fast, reliable automated tests across the testing pyramid. It covers concrete… | ||
| Performance testing – a vital link in the software development cycle | P Złotecka | 49m |
Przedstawiono praktyczne podejście do testów wydajnościowych stosowanych przy wdrażaniu systemów produkcyjnych, oparte na doświadczeniach z projektów w Alior… | ||
| Release the locusts - distributed performance tests | Dominik Przybysz | 43m |
Shows how a Locust-based distributed harness generates up to 700 Gbps of HTTP(S) traffic using Locust master/workers with ZeroMQ, Java workers, and… | ||
| Out-of-the-Box security | Łukasz Wroński | 37m |
Covers common security problems in web and mobile applications and recommends specific libraries and tools that provide protection "out of the box" so… | ||
| What will a whole nation do? Predicting events in human networks | Piotr Śliwa | 34m |
Research group builds a society-scale graph from Facebook and Twitter plus other sources, encodes each relationship as a long feature vector into an adjacency… | ||
| The Honest Review of Amazon SageMaker | Wojciech Gawroński | 45m |
A critical, practical evaluation of Amazon SageMaker that highlights both its capabilities and limitations through real-project examples. Covers SageMaker’s… | ||
| The Personal Brand of a Developer | Krzysztof Kempiński | 16m |
Building a clear personal brand as a programmer brings measurable benefits like better job offers, higher raise prospects, influence on architecture decisions… | ||
| Using Azure Sentinel in service of protecting your systems | Andrzej Kokociński | 46m |
Overview of using Microsoft Azure Sentinel as a SIEM to protect Azure environments by leveraging Log Analytics, placing and configuring Azure Sentinel, adding… | ||
| The Machine Understands Text — Learning and Search at Micro and Macro Scale | Ł. Kuczyński | 42m |
Compares concrete NLP tools and results: tokenization with NLTK and spaCy, TF–IDF and pretrained word embeddings for vectorization, and cosine similarity for… | ||
| Deep Learning from the inside | Tomasz Dołbniak | 43m |
An explanation of how deep-learning inference works in practice, focusing on computation graphs and their relationship to models, why efficient inference is… | ||
| MLOps tools to automate ML deployment | Konrad Łyda | 47m |
Covers MLOps tools and practices for moving ML models from a developer’s laptop into production at scale, including automating deployments, updates and… | ||
| Solving 3 business problems in 45 minutes using ML.NET | Michał Łusiak | 39m |
Shows concrete ML.NET recipes: linear regression for taxi/fare and bike demand, matrix factorization recommender that runs offline and yields 27% sales uplift… | ||
| Optimize your schedule with prescriptive analytics | Szymon Brandys | 35m |
Demo shows building prescriptive scheduling models visually on IBM Cloud Pak for Data, using a modeling assistant and the decision optimization engine to… | ||
| Data-Driven Governance | Paweł Łukaszuk | 43m |
Claims that China built a unified national reputation system are detailed with specifics: origins in financial scoring, a shift 2011 to societal goals, and… | ||
| Security in the Java World | Łukasz Mikuła | 36m |
Covers security risks in Java applications by examining Java features that attackers target—specifically JMX, Java serialization, and RMI—and explains what… | ||
| OAuth2 and What Comes Next | Artur Balsam | 42m |
Explains what OAuth2 is and which business and technical problems it does and does not solve, clarifying when to use it. Covers recommended OAuth2 flows… | ||
| The Hacker's Guide to JWT Security | Patrycja Wegrzynowicz | 37m |
Four live demos expose practical JWT failures: acceptance of the none algorithm due to misleading library APIs, an HS256 secret cracked in ~15–20s with hashcat… | ||
| API Security – Divide & Conquer | Tom Zahov Zaubermann | 46m |
Covers the OWASP API Security Top 10 with concrete examples, a live abuse demo and tooling: a vulnerable dvc-shop vulnerable C# app is attacked via… | ||
| How Not to Become a Hopeless Leader if You Are a Good Specialist | P Rekowski, K Rakowski | 12m |
The talk examines the common career-path problem in IT where companies push skilled engineers into people-leader roles by default, turning good specialists… | ||
| A New Strategy for Winning | Katarzyna Suska | 12m |
Presents evidence that greater workforce diversity (gender and ethnic) correlates with higher chances of outperforming peers and measurable profit gains… | ||
| Stop Clicking and Start Coding — Jenkins Entirely as Code | Jędrzej Andrykowski | 46m |
The talk explains how to provision and configure a complete Jenkins installation using code rather than the web UI, extending beyond Job DSL and Pipeline to… | ||
| Automating the Enterprise with Java-based Kubernetes Operators | Ádám Sándor | 42m |
A Java-based Operator system automates onboarding for nearly a hundred teams across multiple OpenShift clusters by turning requests into Kubernetes Custom… | ||
| Development, Review and Integration at Google scale | Ciprian Alexandru Pitis | 39m |
Google runs one giant single repository served by piper, so every build references one authoritative revision and avoids package versioning conflicts… | ||
| Testing in Infrastructure as Code | Maciej Raszplewicz | 35m |
Argues that Terraform-based tests (using terratest) are integration-only, slow and flaky — single runs take ~50–90 seconds, require real cloud access and Go… | ||
| I Want to See My Logs | Grzegorz Piotrowski | 48m |
Covers practical logging practices for development and production systems: what to log, how to log, where to store logs, and how to inspect them. Presents… | ||
| Incidents are new normal | Kasia Szulc | 34m |
Incidents become routine as canary releases, feature flags and observability expose more production feedback; teams run blameless postmortem reviews that build… | ||
| Build Your Kubernetes Operator with the Right Tool! | Rafal Leszko | 45m |
Demo builds a Hazelcast operator that watches a custom resource with one parameter size and adjusts Deployment replicas from 1 to 3 accordingly, implemented… | ||
| DevOps or Maybe GitOps? | Marek Martofel | 36m |
The talk explains GitOps: why using Git repositories (originally for application code) has become popular for operators and how GitOps can support operations… | ||
| Bring Me Problems, Not Solutions! | Oskar Dudycz | 13m |
The talk discusses the common tension between developers and business stakeholders and argues that business should present problems rather than prepackaged… | ||
| Missionaries, not Mercenaries | Rafał Barszczewski | 12m |
Claims that 50–90% waste of code and only 15% engaged worldwide motivate concrete fixes: validate product ideas before adding to backlog by testing… | ||
| Software Quality Is Not Just Code and Tests | Ola Kunysz | 12m |
The talk argues that software quality failures usually stem from people and communication, not technologies, frameworks, or tools. It identifies recurring… | ||
| We're All Constantly Learning — What Could Go Wrong? | Michał Borkowski | 15m |
Discusses lifelong learning in tech, questioning assumptions about what 'continuous learning' means and whether different learning paths are better. Covers… | ||
| How to focus? - Improve your efficiency | Agnieszka Małaszkiewicz | 09m |
Work routine centers on concrete habits: capture intrusive ideas with pen and paper, put phone on airplane mode, fetch email only at noon, and use Ubuntu with… | ||
| 12 Lessons That Made Me Ultra Productive | Michał Guzowski | 12m |
Michał Guzowski outlines 12 concrete lessons for becoming ultra-productive and better managing priorities in IT roles such as manager or team lead. He explains… | ||
| Enough, Time for a Change! | Michał Cisz | 12m |
A manager implemented a new standard for meaningful git commit messages to replace short, uninformative ones. The talk describes how they raised awareness and… | ||
| Be Cool and Hack GraphQL | Maciej Kofel | 43m |
Demonstrates practical GraphQL attacks and defenses using tools like GraphiQL, Voyager and Burp: mapping schemas with introspection queries, intercepting and… | ||
| (Don't) Do It Like They Do | Paweł Łukaszuk | 05m |
The talk explains why copying big-company patterns like the Spotify model, Netflix-style microservices, cloud migration, or Scrum can fail when context… | ||
| Supporting Developer Growth and Integration in the Time of Coronavirus | T. Dziurko | 13m |
The talk describes practices used at a fully-remote company to support developers’ professional growth and team integration during the COVID-19 pandemic. It… | ||
| A Well-Tuned Distributed Team. Warning! Tested on Humans | Alicja Polska | 14m |
Presents simple team-building games invented for a distributed software team (examples: QArnawał, Testerskie bingo, Dawno, dawno temu, za siedmioma bugami) and… | ||
| Video-Conferencing | Aliaksej Burnosenka | 12m |
Claims that about 60% of engineers present in a low-quality “smelly video” style and lists concrete fixes: eliminate dark silhouette by moving position or… | ||
| The Story of the Green Chair | Sebastian Rabiej | 13m |
The talk addresses knowledge loss when team members leave a project and resulting loss of context and rationale. It presents practical ways to prevent awkward… | ||
| The industry of imposters | Beata Lipska | 09m |
Term coined in 1978; a 2011 study finds 70% of people feel it at least once and a 2018 report finds 58% in tech experience it at work (data from big firms like… | ||
| Don't Shoot Yourself in the Foot | Karol Rogowski | 13m |
A humorous, subjective rundown of technical job interviews from the perspective of a technical recruiter, based on over 100 interviews conducted. It highlights… | ||
| Empathetic Communication for Developers | Dorota Główka | 44m |
Practical techniques for empathetic communication in business aimed at developers, focusing on resolving conflicts and using a 'language of needs' to improve… | ||
| Recovery Project Management — Managing Projects in Crisis | Karolina Jarocka | 42m |
Covers Recovery Project Management for projects that have run into serious trouble but are not yet lost, defining when to stop versus continue. Describes… | ||
| Introduction to distributed systems | Marcin Moskała | 41m |
Starts from a single-server web app, shows adding cache, moving to a dedicated DB server, then horizontal load‑balanced backend nodes; explains tradeoffs of… | ||
| How to Write Good Apps. Fast. | Michał Łukaszewski | 50m |
Treat time as the primary budget and deliver small, testable increments using the Deming cycle (plan–do–check–act) to validate assumptions quickly. Plan and… | ||
| Large Scale, Distributed and Reliable Messaging with Kafka | Rafał Hryniewski | 48m |
Covers using Apache Kafka for large-scale, distributed, reliable messaging in systems with CQRS, events, or high-volume sensor data. Explains Kafka’s… | ||
| Containerization — Is It Really for You? | Damian Naprawa | 42m |
The talk examines whether containerization (Docker, Kubernetes) is always the right choice for new projects, explains criteria for making key deployment… | ||
| Implement a Monolith. But Make It Modular with Well-Enforced Boundaries | J. Milewski | 45m |
A case study showing how to implement a modular monolith from an existing monolithic product by modularizing code: moving classes between packages, restricting… | ||
| A Change-Data-Capture use-case: designing an evergreen cache | Nicolas Fränkel | 32m |
Shows a concrete CDC pipeline that tails the MySQL binlog (via a Debezium-style connector), maps row changes to key/value entries and writes them into a… | ||
| Zero Trust Application Architecture | Krzysztof Brzeziński | 49m |
Explains the Zero Trust application architecture: what Zero Trust means, when to apply it and when not to, and how it can reduce risks from developer mistakes… | ||
| Concurrency Control in REST APIs with Spring Framework | Bartłomiej Słota | 42m |
Modeling a REST API that implements optimistic locking to handle concurrent access to shared resources, using Java Persistence API features and Spring… | ||
| Shit Happens – Achieve Extensibility | Rafał Hryniewski | 38m |
Describes building an event-driven layer where the order service only emits an OrdersPlaced event while email, SMS and loyalty consumers subscribe… | ||
| The Story of How We Moved from Geb to Cypress | Radosław Wojtysiak | 42m |
Allegro engineers describe migrating their service’s acceptance tests from Geb to Cypress.js to improve stability and reliability. The talk explains why they… | ||
| Monolith Decomposition in Node.js — A Case Study | Adrian Piętka | 46m |
A Node.js case study about decomposing a monolithic legacy application for rewrite. It describes why a five-year-old Node.js app warranted rewriting due to… | ||
| FaaS from the Inside — isolated V8 and Other Creatures | Michał Michalczuk | 41m |
The talk examines how to build a secure sandbox for running JavaScript by using an isolated V8 instance, using Atlassian Forge (their FaaS for Jira and… | ||
| Refactoring Graphite to Diamond | Tomasz Kowalczyk | 45m |
A case-study about rescuing and refactoring a poorly designed software project so it becomes maintainable and extensible. It describes tackling quality issues… | ||
| How to Effectively Isolate Layers? | Dominik Najberg | 38m |
Shows how to refactor a typical Symfony application into a hexagonal, DDD and CQRS architecture by reorganizing code into four folders (infrastructure… | ||
| Test automation in backend projects | Piotr Pasich | 47m |
TypeScript microservices project grows from ~36 services with 5% coverage to ~180 services with 100% unit and integration coverage across new code, using… | ||
| Can Microfrontends Make a Good Match with Angular or React? | M Milewicz | 43m |
The talk examines using the Microfrontends architectural pattern together with Angular or React applications, asking when it is convenient and whether it’s… | ||
| React Applications on the Server | Dominik Guzy | 43m |
Overview of React Server Components: what they are, their RFC/R&D status, and how using server-only components can keep heavy libraries (e.g. Markdown parsers… | ||
| Looming in the cores | Andrzej Grzesik | 54m |
Demo shows native threads fail around 17k and apps can spike to 10k–30k threads causing crashes; Project Loom introduces spawn 10,000+ threads OK by adding… | ||
| Tighten the belt and do not suffocate | Paweł Tomasik | 38m |
Claim: run a software business not just write code, and optimize competitiveness by trading perfect architecture for lower development cost in concrete ways… | ||
| Practical Contract Testing with Pact in PHP | Przemysław Saracen | 46m |
Consumer-side PHPUnit tests using Pact and Guzzle generate a JSON pact file; the mock server simulates the provider and the pact provider verifier downloads… | ||
| How We Tamed Legacy with CQRS | Michał Kurzeja | 50m |
A case study of taming a legacy codebase by applying CQRS (Command Query Responsibility Segregation). It describes the specific problems encountered in the… | ||
| API on Steroids | Grzegorz Kotfis | 45m |
How to harden a REST API for production when more clients start using it and can accidentally overload it. Covers techniques from the speaker’s experience to… | ||
| How to Write Readable and Maintainable Software in C# | K Grzybek | 45m |
Practical guidance for writing readable, maintainable C# code: the talk presents concrete best practices and design patterns for C# that make code… | ||
| Building a C# Application from Scratch with CleanArchitecture, CQRS and Event Sourcing | Cezary Walenciuk | 45m |
A walkthrough of building a minimal C# .NET application from scratch using Clean Architecture, CQRS and Event Sourcing. It names practical NuGet packages like… | ||
| Data validation models | Marcin Czarnecki | 43m |
Covers approaches to validating user input in PHP applications, comparing libraries such as Symfony Validation and Webmozart Assert. Explains which application… | ||
| Savoir vivre for applications - a few words on API versioning | Maciej Malarz | 48m |
The talk examines API versioning challenges encountered when backend and frontend (JS SPA) evolve at different paces, including mobile apps with different… | ||
| Containers for testing - testing seriously | Waldemar Panas | 37m |
How to test applications that interact with external services (databases, message queues, other apps) using containers. The talk presents the Testcontainers… | ||
| Tools worth knowing | Tomasz Borek | 29m |
A fast run‑through of practical tools with commands and outcomes: use mvn versions:display-property-updates to list outdated Maven properties; run OWASP… | ||
| Distributed Application Runtime | Łukasz Kałużny | 46m |
Dapr is an open-source, Go-based distributed application runtime that implements a sidecar model to provide building blocks like state management, pub/sub, and… | ||
| Everything you wanted to know about threads but were afraid to ask | Marcin Skalski | 37m |
Explains how the OS kernel schedules threads and how to measure kernel time spent on scheduling decisions, focusing on threads in Java. Covers multiple… | ||
| So what's this functional-ness? And how can it help me? | Konrad Wrzeszcz | 41m |
An introduction to functional programming for C# developers, explaining the paradigm and showing its advantages and disadvantages when applied in C#. Covers… | ||
| How to Write Tests in 2021 | Michał Rowicki | 45m |
Advocates moving to JUnit 5 and AssertJ, demonstrating AssertJ’s fluent API and assertAll soft assertions to reveal multiple failures together. Covers mutation… | ||
| CQRS is simpler than you think with C#9 and .NET 5! | Oskar Dudycz | 44m |
Claims CQRS is much simpler when using .NET 5 and C#9, implemented here without Event Sourcing or DDD by building a working WebAPI (about 167 lines of code)… | ||
| Zero-downtime deployment on Kubernetes | Nicolas Fränkel | 35m |
Claim: keep a Spring Boot e-commerce service live while changing a noncompatible DB schema by streaming live writes from the old to the new database… | ||
| Sailing Java 16 | Piotr Przybył | 40m |
Java 16 shows concrete changes: pattern matching with instanceof removes repetitive casts and creates scoped local bindings (JEP 394), records as named tuples… | ||
| How to Rebuild Lost Trust? Control, Promises and OpenJML | Michał Borkowski | 53m |
A case study of a 3.5-hour intern bank app shows a transfer bug where balances drift without crashes; using OpenJML (Java Modeling Language) the bug was… | ||
| From Microfrontends and back | Grzegorz Radzio | 38m |
Argues that microfrontends buy independent deploys and team autonomy but create testing, payload bloat, and coordination pain, so the team rebuilds a modular… | ||
| The Good, the Bad and the Surprising aspects of code compilation in .NET (C#) | B. Adamczewski | 45m |
Explains how the .NET JIT compiler and C# compilation work and how method structure affects runtime performance. Covers techniques to optimize methods, how to… | ||
| Application architecture in React.js — in search of the Holy Grail | M Taszycki | 45m |
The talk examines designing application architecture in React.js, covering file structure, routing, authorization/authentication, Redux, and handling REST… | ||
| Row, row, row your boat gently with Flow | Łukasz Wojtach | 37m |
Presentation explains how to implement custom operators for kotlinx.coroutines Flow (Kotlin), covering simple examples like map and a time-windowed chunked… | ||
| C++, iOS, Android — Writing Cross‑Platform Applications | Patryk Nadrowski, Maciej Sobczyński | 44m |
An open-source Hermes C++ library supplies shared networking, serialization, asynchronous tasks and archiving for iOS, Android, macOS and Linux. Builds are… | ||
| Network Designing Multilayer Applications Using App Service | Marek Grabarz | 42m |
Covers recent networking changes in Azure App Service that simplify designing multi-tier applications made of loosely coupled, secure services. Discusses when… | ||
| ARO – how to safely deliver RedHat OpenShift as a service on Azure! | Michał Furmankiewicz | 38m |
An overview of Azure Red Hat OpenShift (ARO) showing how ARO runs in Microsoft Azure and concrete practices for securely deploying it in environments with… | ||
| Challenge accepted, or serverless and sports activities! | Adam Polak | 45m |
A practical look at building a serverless system on AWS to process users’ sporting-activity data (like Endomondo/Strava) and produce leaderboards. The talk… | ||
| Industrial IoT in practice | Rafał Siwek | 43m |
Claims that industrial IoT works with lightweight, repeatable building blocks: a Raspberry Pi prototype evolves into an io‑link edge that normalizes many… | ||
| Pitfalls of serverless applications | Wojciech Dąbrowski | 49m |
Covers practical experience building and operating serverless cloud services in production, examining how serverless architectures evolved from initial designs… | ||
| Xamarin & Apps with Modern UI | Bohdan Benetskyi | 51m |
Claims that Xamarin.Forms covers 99% of native UI and that moving to MAUI is easy later, with the advice to start on Forms now. Demos use specific libraries… | ||
| Using Artificial Intelligence in Your Company by Example | M. Ferdyn | 42m |
The talk explains how to add AI to business apps using Cognitive Services APIs, showing practical examples of embedding ready-made AI features into… | ||
| IaaS doesn't say PaaS — Azure VM Scale Set #4Developers | Anna Bolimowska, Ryszard Dałkowski | 48m |
Azure Virtual Machine Scale Sets are presented as a way to combine IaaS freedom with PaaS management and scaling ease. The talk examines how VM Scale Sets work… | ||
| How to Maintain High Availability | Kuba Waliszewski | 39m |
An Azure multi-region hybrid architecture for IoT production systems that uses per-device certificates, region-aware routing, monitoring/alerting, and database… | ||
| nothing matches | ||