
Rick Ossendrijver
Software Engineer in Picnic's Java Platform team
Utrecht, The Netherlands
Actions
Rick Ossendrijver is a Software Engineer at Picnic, a fast-growing online supermarket. Rick is a committer and enthusiast of the Error Prone project. Moreover, he is passionate about improving software quality through static analysis and automation, and works on Picnic's open-source Error Prone Support project.
Links
GraalVM in action: Building a Polyglot Rule Engine for Dynamic Business Logic
In today's fast-paced tech world, backend systems need to be flexible and self-service to support evolving business needs. For Picnic, this means building a backend that lets operators and analysts directly define and manage the logic driving customer interactions, product personalization and internal workflows.
Our solution is a Rule Engine platform where operators can easily attach logic and effects to events by creating, testing and managing their own rules. Powered by GraalVM's polyglot capabilities, it allows analysts and other stakeholders to write rules in JavaScript or Python. This event-driven system enables self-service without developer involvement. It handles actions across the Picnic system landscape, from updating customer data to triggering communications.
In this talk, we will discuss the architecture behind our Rule Engine and share some of the challenges we faced with GraalVM’s polyglot capabilities. We will explain how we made Java-based event data accessible in guest languages. In addition, we will show how we provided extra context from our systems to the rules, and designed a simple Domain Specific Language for data retrieval and action triggering. Finally, we’ll cover how we ensure fairness and maintain performance.
Come and learn how you can leverage the potential of GraalVM!
Moving Fast and Staying Aligned: How Automation Powers Progress
As companies scale, maintaining code quality while delivering new features becomes a significant challenge. At Picnic, we highly value best practices, standardization, and minimizing technical debt, as having an up-to-date and lean codebase increases our adaptability. However, coordination across many teams and codebases becomes challenging at scale.
In this talk, we’ll explain how we leverage a strong engineering culture and heavy automation to move quickly without sacrificing quality. Discover how we introduce new automations, static analysis tools or formatters across many large codebases, step by step. This approach saves countless developer hours and reduces repeated discussions about trivial coding issues.
We'll take you through the tools and practices we've applied and share how they worked in practice. Additionally, we'll discuss practical strategies to align everyone in your company when introducing such tools. Walk away knowing how you can confidently do the same in your organization.
Transforming Code with OpenRewrite and Refaster
Any project has its share of code quality issues. And if you think you don't, just wait a while, as existing code patterns and libraries quickly become the old way of doing things. You need to constantly modernize your codebase to keep up, and we’re here to explore tooling that helps you do so.
From a shared passion for code quality, Rick & Tim each arrived at different solutions. Rick is involved with Error Prone Support at Picnic, while Tim works on OpenRewrite at Moderne. Both allow you to manipulate your code to keep things maintainable, but when to use which tool?
In this workshop we’ll go hands-on to explore the relative merits of each tool, as we strive to get rid of common code quality issues affecting codebases. We’ll dive into how you define the changes to make, how to run these code changes, and how to gradually change code and culture across an organization. Walk away with directly applicable fixes, and the toolset and skills to write your own code transformations.
Finally, we’ll highlight the benefits and shortcomings of each tool, with some lighthearted bashing left and right. Up to you to then decide which tool(s) you’ll use going forward.
Streamline Your Codebase: Automating Improvements with Error Prone
Are you tired of repeatedly addressing the same code issues and therefore wasting valuable time during code reviews? Do inconsistent code styles and persistent bugs plague your codebase? Join our hands-on lab and unleash the power of Error Prone and Refaster to revolutionize your Java projects.
In this session, we'll dive deep into Error Prone and Refaster, equipping you with the tools to automate code improvements, enforce coding standards, enhance code consistency, and eliminate bugs and anti-patterns.
By leveraging Error Prone, you'll uncover bugs and potential issues within your codebase and receive automated suggestions for fixes. The fixes can be for any simple task, such as eradicating recurring bugs, addressing anti-patterns, and enforcing coding best practices and consistent styles. With the knowledge gained from this session, you'll be equipped to implement these automation techniques in your own codebase, saving you and your colleagues invaluable development time.
Don't miss this opportunity to transform your codebase, increase efficiency, and eliminate time-consuming manual interventions. Join us in this hands-on lab and embark on a journey towards cleaner, more reliable, and consistent Java projects.
Say goodbye to bugs and anti-patterns with Error Prone
Are you tired of constantly fixing the same bugs and anti-patterns in your codebase? At Picnic, we've found a solution that not only resolves bugs once and for all, but also leads to a more consistent and high-quality codebase. Enter Error Prone: a tool that automates large-scale refactorings in your Java codebase. As a compiler plugin, it is capable of automatically suggesting and applying fixes at scale.
For years, Picnic has been using Error Prone to streamline our development process. In this talk, we will provide a comprehensive demonstration of Error Prone's capabilities, as well as offer practical guidance on how to set it up for your own team. Additionally, we will share our experiences and learnings, including creating and enabling our own set of custom rules. These are now open-sourced in Picnic's Error Prone Support repository.
Come and learn how you can use Error Prone to streamline your development process as well!
Boosting developer effectiveness with a Java platform team
Maintaining a high-quality and uniform codebase poses significant challenges at scale, as ever-growing technical debt, inconsistencies, and weak dependency management slip in too easily. This talk delves into how a dedicated Java Platform can tackle all these challenges by providing a centralized solution!
Picnic's Java Platform approach empowers a community of 300+ developers with a robust suite of tools and shared libraries. Instead of teams having to reinvent the wheel, developers can use out-of-the-box libraries for cross-cutting concerns such as logging, observability and security. This facilitates adherence to guidelines and enforces best practices. As a result, developers can sidestep the burden of creating repetitive and mundane implementations and focus on writing actual business logic.
Learn how to harness the power of automation to achieve consistency and standardization with continuous enhancement. We will discuss our tooling setup and practices. Gain insights into an approach of providing shared libraries, centralized Maven configuration, developer tools, and CI/CD practices. Come and learn how Picnic's developers are empowered to build Java services with efficiency, quality, and confidence.
Standardize to thrive by establishing coding practices
Maintaining a high-quality and uniform codebase poses significant challenges. At scale, as ever-growing technical debt, inconsistencies, and weak dependency management slip in too easily. This talk explains how we build highly productive tech teams and how providing standardized and centralized solutions can support this.
The two key aspects we’ll focus on are standardization and automation. In terms of standardization, we provide reusable tools that allow teams to not reinvent the wheel. Developers can utilize out-of-the-box libraries for cross-cutting concerns such as logging, observability, and security. This approach facilitates adherence to guidelines and enforces best practices, allowing developers to sidestep the burden of repetitive and mundane implementations, and focus on writing actual business logic.
We’ll show based on our experiences how to harness the power of automation to achieve consistency and standardization across your organization. Come and learn how to empower your developers to build Java services with efficiency, quality, and confidence.

Rick Ossendrijver
Software Engineer in Picnic's Java Platform team
Utrecht, The Netherlands
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top