About us
This is the Java User Group for everyone interested in Java, JVM, Web Development, Free and Open Source Software who are located in Amsterdam or Netherlands.
The "official language" is English, so that non-Dutch speakers can also participate easily.
Looking forward to meeting you all and exchange of knowledge and ideas.
- Code of Conduct: http://amsterdamjug.com/codeconduct.html
- WebSite: http://www.amsterdamjug.com/
- Youtube channel: https://www.youtube.com/channel/UCv-CG_Mwqr...
- Linkedin: https://www.linkedin.com/company/amsterdam-java-user-group
Upcoming events
1

Amsterdam JUG Meetup at Trifork
Trifork, Vlaardingenlaan 15, 1062 HM Amsterdam, Amsterdam, NLJoin in with the latest Amsterdam JUG Meetup at Trifork, Vlaardingenlaan 15, 1062 HM Amsterdam. Upon arrival, take the elevator to the 5th floor where the Amsterdam JUG and the Trifork team will be ready to welcome you.
Notes:
- Complimentary parking is available, request a spot by sending a mail to amsterdamjug@googlegroups.com. Parking spots are limited and not guaranteed, first come, first served. Make sure to submit your request at least one week before the event.
- Vegetarian options: we'll make sure that we cater both to vegetarians and non-vegetarians.
Agenda
18:00 - Doors Open (And Food!)
18:30 - 19:00 Talk 1: Joris Kuipers — Fallout: Dead Letter Management At Scale
19:00 - 19:30 Talk 2: Peter Velychko — Quarkus Extensions: Practical Introduction
19:30 Short Break
19:45 - 20:15 Talk 3: Buhake Sindi — AI in the Enterprise: the Jakarta EE Way
20:15 - 20:45 Talk 4: Adele Carpenter — 10 Things I Hate About Java
20:45 - 21:15 Talk 5: Bruno Souza — Grow Beyond Senior: Use your Java Expertise to Gain Autonomy and Impact the World
21:30 - The EndAbstracts
Talk 1: "Fallout: Dead Letter Management At Scale"
Many Java apps use point-to-point messaging via one of the supported protocols or APIs: JMS, AMQP, AWS SQS, etc.
Message-Oriented Middleware typically provides dead lettering (DL) support to deal with messages that cannot be processed, moving them to a dedicated queue to prevent them from becoming poison pills. But what do you do when messages end up on a DLQ? And what if this happens as part of a platform that processes millions of messages each week for dozens of use cases?
In this talk, Joris will explain how his team developed a DLQ management solution for their AWS-based integration platform with Spring. It allows for monitoring all DLQs, automating retries by periodically moving DL-ed messages back to their source queue while tracking how often this has happened, and for inspecting not only the payload of messages but all related logging as well.
Messages can also be pruned, individually or per DLQ, which may happen automatically after too many retries. You’ll learn about the importance of idempotency to design self-healing systems and tracing for correlating logs to understand why processing of a message failed.
Next to explaining these concepts, Joris will cover the implementation (incl. gotchas like inspecting messages without consuming them) and provide a live demo of the system.
This talk will leave you with a good understanding of what to consider when dealing with DL-ed messages and how you can automate that for your own systems!
Talk 2: "Quarkus Extensions: Practical Introduction"
Quarkus is changing the way we build Java applications for the cloud. One of its most powerful features is its extension framework - the system that lets developers easily add new capabilities and integrate other tools and libraries.
In this session, we’ll look at how Quarkus extensions work, why they’re so important, and how you can create your own. We’ll walk through the process of building a simple extension step by step, explain what happens during build and runtime, and share some best practices.
By the end of the talk, you’ll understand how extensions make Quarkus flexible, fast, and easy to customize - and how you can use them to improve your own projects.
Talk 3: "AI in the Enterprise: the Jakarta EE Way"
Discover the developer's journey of building enterprise Java applications the easier way, the Jakarta EE way.
In this talk, we'll showcase LangChain4J-CDI, how it easily turns your LangChain4J AI service into a CDI-ready AI service, ready for injection (just like how injecting EntityManager works wonders for JPA).
Next, we will showcase Agent 2 Agent (AI) protocol, with its implementation, that exposes AI agent agent card - the AI agent's business card, that tells other AI agents how to seamlessly communication between them. Finally, how about exposing some resources for AI services to plug into, for better content retrieval?
I'll introduce an enterprise implementation of the MCP server. Developers will be introduced to MCP features (such as tools, prompts, resources and resource templates, logging, etc.), and how simple it is to integrate the MCP into their existing enterprise service application, with minimal configuration. These features can be deployed to any Jakarta EE server of choice, using their existing deployment method of choice.
This talk will be beneficial for existing enterprise Java developers, as it will showcase the barrier to entry to learn such features to be minimal, with little learning curve and have little impact on integration to existing business services, ensuring that developers can build AI applications with ease.
Talk 4: "10 Things I Hate About Java"
Using Java as an everyday language can be absolutely infuriating. It's verbose and clunky, with all roads seemingly pointing to null. These are faults that users of other languages (especially of C#) love to point out.
At the same time, Java is mature, stable, backwards compatible, and runs just about anywhere. The community is pretty cool too!
This talk takes a light-hearted, warts-and-all look at some of the more frustrating aspects of Java, how the language has evolved over time and where it's headed next. Expect to laugh, and yes maybe even cry, as we try to make sense of the beast that puts food on the table for millions of developers worldwide.
We will cover:
- Pivotal early design decisions such as checked exceptions and generics and how we still pay for those decisions today (that is, why do lambdas suck so bad?)
- How Java has influenced the development of other programming languages, and vice versa
- Most controversial language design decisions of late and the associated fallouts
Java developers will leave this session feeling validated and with a renewed love for the language that keeps a large chunk of the world running. C# developers will leave this session with a renewed level of smugness.
Talk 5: "Grow Beyond Senior: Use your Java Expertise to Gain Autonomy and Impact the World"
You worked hard, mastered your stack, and earned your place as an accomplished Senior Java Developer — so what comes next? Many companies push developers into management, but that's far from the only path.
This session maps out the real alternatives for devs who want to keep growing without leaving the technology behind. We'll explore the main routes beyond senior — from the individual contributor to developer advocacy, independent consulting, and entrepreneurship — and look at what they all have in common: influence built on visibility, reputation, and trust.
Finally, we'll discuss why Java, open source, and community are such a powerful combination for accelerating this growth. By the end of the talk, you'll have a clearer picture of the paths available to you and concrete steps you can take to build the influence and reputation that open them up.
69 attendees
Past events
108
