Thread-Safe Programming, Maven, and Bazel
Details
This meetup will be hosted by IMC Trading, in their office in the Infinity Building, Amstelveenseweg 500, 1081KL Amsterdam.
Note: If you plan to come by car, there are a limited number of free parking spots available in the garage underneath the building. To request a spot, please email sander.hattinga@imc.com and include your license plate number (required for automatic parking registration and entry). If there are no more spots available, then there is public (paid) parking in the vicinity on the Jachthavenweg and the parking area on the Jollenpad (5-10 minute walk).
Agenda
18:00 Doors open and food
18:40 Intro
18:45 Lightning Talk: Giovanni Panice presenting "CDC Pipelines with JBang and Debezium"
19:00 Talk 1: Heinz Kabutz presenting “The Hidden Art of Thread-Safe Programming: Exploring java.util.concurrent”
19:45 Break
20:00 Talk 2: Talha Pathan presenting: "Migrating from Maven to Bazel: A Postmortem"
20:45 Closing drinks
21:30 End
Information about the talks:
Lightning Talk: "CDC Pipelines with JBang and Debezium"—Giovanni Panice
Debezium is an open-source platform for change data capture, enabling the streaming of real-time changes from many data sources to downstream systems. In some cases, running Debezium in conjunction with Kafka and Kafka Connect can result in substantial infrastructure overhead, increased resource consumption, and operational complexity, challenges that are especially relevant for data engineers and developers that are introducing CDC in their systems.
In this lightning talk, you'll see how JBang, combined with the Debezium extensions for Quarkus, makes it easy to prototype and run CDC pipelines without heavy infrastructure or build systems.
About Giovanni: Giovanni is a Senior Software Engineer at IBM and core team member of Debezium. He has tackled complex engineering challenges in systems requiring high reliability and scalability, including smart flight pricing systems, infrastructure forecasting through large-scale metric analysis, and securing UAV navigation through anomaly detection. His current focus is Debezium’s Server and Engine, including native builds and Quarkus integration. Beyond his work at IBM, he co-organizes the Ticino Software Craft Meetup.
Talk 1: "The Hidden Art of Thread-Safe Programming: Exploring java.util.concurrent"—Heinz Kabutz
Writing correct, thread-safe code is notoriously challenging. Unlike single-threaded code, concurrency bugs often remain hidden, waiting for the perfect storm of conditions to emerge. Even the standard Vector class, long trusted for its thread safety, harbored a race condition for 5 years, only to introduce a potential deadlock that persisted for the next 9 years.
The classes in java.util.concurrent are used in all major Java projects, either directly or indirectly. In this session, we will take a close look at some of the techniques used to create them. We will explore topics like lock striping in LongAdder, lock splitting in LinkedBlockingQueue, weakly consistent iteration in ArrayBlockingQueue, and check-then-act in CopyOnWriteArrayList.
About Heinz: Dr. Heinz M. Kabutz is a Java Champion, educator, and internationally sought-after speaker known for turning complex topics — especially Java concurrency and performance — into clear, practical insights that audiences can apply immediately. With a sharp wit and a talent for storytelling, he delivers sessions that are as entertaining as they are technically deep. He is also the voice behind "The Java Specialists’ Newsletter", a widely read publication valued for its thoughtful commentary, real-world examples, and memorable takeaways for professional Java developers.
Talk 2: "Migrating from Maven to Bazel: A Postmortem"—Talha Pathan
To improve the development experience for execution software engineers at IMC, we set out to merge several million lines of Java code into our monorepo and switch the build tool from Maven to Bazel.
This talk covers why we made the switch, the challenges we encountered, and the lessons learned. Whether you're considering Bazel or just curious about large-scale build migrations, you'll leave with practical insights for your own codebase.
About Talha: Talha is a software engineer interested in developer tooling, programming languages, and scalable systems. He graduated in Computer Science from the University of Warwick and has worked on build infrastructure during his internship on Twitter’s Engineering Effectiveness Team. In August 2023, he joined IMC Trading as part of the Global Developer Productivity Team, where he works on tools and systems that help engineers move faster and more reliably. Talha is also an active open-source contributor and maintainer, particularly in the Lua ecosystem.
