Amsterdam JUG Meetup at Doctolib


Details
Join in with the latest Amsterdam JUG Meetup at Doctolib in central Amsterdam.
For more details and discussions on the below, go to bit.ly/join-foojay-slack to join the Friends of OpenJDK ([Foojay.io](https://foojay.io/)) Slack and use the #jug-amsterdam channel for conversations related to the below.
Unfortunately Christian Tzolov can't be with us with his talk "LLMs to Agents: Transforming Applications with MCP and Spring AI'", that talk will be held later in the year, and in the meantime we have Balkrishna Rawool in the program below instead.
Agenda
18:00 - Doors Open
18:30 - 19:15 - Talk 1: "Scaling to 300k Users: Load Testing with Gatling, Spring Shell, and AWS Fargate" by Joseph Rozencwajg from Doctolib
19:15 - 20:00 - Talk 2: "Algebraic Data Types + Pattern Matching = Elegant and Readable Java Code" by Balkrishna Rawool from ING
20:00 - 20:45 - Talk 3: "Tulips to Turmeric: Lessons Learned from a Global Team" by Rijo Sam from ABN AMRO
20:45 - Networking drinks
Abstracts
Talk 1: "Scaling to 300k Users: Load Testing with Gatling, Spring Shell, and AWS Fargate" by Joseph Rozencwajg from Doctolib
What if your backend had to support three times more customers in the upcoming months? This is the challenge we had to face at Doctolib after a company merger.
In this talk, you will learn how we dealt with it, and the lessons we've learned, more specifically how to:
- Make the most of the Gatling load testing framework to author a modular test suite that works with authentication, Server-Sent events, Protocol Buffers, and metrics collection.
- Avoid common pitfalls of setting up a sandbox environment and preparing your data for performance testing.
- Leverage Spring Shell and Docker to orchestrate seamless deployments and scale your tests on AWS Fargate.
Talk 2: "Algebraic Data Types + Pattern Matching = Elegant and Readable Java Code" by Balkrishna Rawool from ING
A talk that starts with a problem and ends up with an elegant implementation using Java's records, sealed types, and pattern matching. And it's all live coding!
Project Amber is bringing a lot of exciting features to Java. Records, sealed types, and many pattern matching features are a few of the important ones. Sealed types and records are the mechanisms to create sum- and product-types, respectively. These are two important forms of ADT (Algebraic Data Types). Using ADT along with pattern-matching, we can create APIs that are hard to misuse and create programs that are easier to read.
All in all, in the talk we start with a problem statement and a list of requirements and then we create an implementation step-by-step by introducing requirements one by one. While we do that, we make use of records, sealed types, and pattern matching in Java to create an elegant solution with highly readable code.
Talk 3: "Tulips to Turmeric: Lessons Learned from a Global Team" by Rijo Sam from ABN AMRO
Ever wondered why working in global teams feels like unravelling a mystery? You're not alone! The reality of working within such a team can differ from expectations. Often, the greatest challenge for developers isn't the actual work, but rather navigating the distance, understanding cultural disparities, and maintaining meaningful connections with team members.
Today, whether we work in Amsterdam or New Delhi, Brussels or Beijing, we are all part of a global network where success requires traversing vastly different cultural realities. But how do you deliver constructive feedback to colleagues from Asia, America, or Europe? And why does your Indian team really need an hour for lunch? Also, do you know the secret that a ‘NO’ can come in many disguises?
In this session, I will share personal stories and practical strategies from my years of working with multicultural teams. These strategies aim to enhance communication, bridge cultural gaps, and foster strong collaboration across continents. Join me as we embark on a journey filled with laughter, learning, and limitless possibilities.

Amsterdam JUG Meetup at Doctolib