# Automating Code Modernization with OpenRewrite - By Stefano Dalla Palma, Adyen

DevFeed: [Automating Code Modernization with OpenRewrite - By Stefano Dalla Palma, Adyen](<https://devfeed.tech/articles/automating-code-modernization-with-openrewrite-by-stefano-dalla-palma-adyen-26256.md>)

Original publisher: [Read original article](<https://medium.com/adyen/automating-code-modernization-with-openrewrite-by-stefano-dalla-palma-adyen-9abe39a9082a?source=rss----64941d9fbc09---4>)

Author: Adyen

Published: 2026-08-22T06:45:48Z

Content type: article

Language: en

Sources: [Adyen Tech](<https://devfeed.tech/sources/adyen-tech.md>)

Topics: [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Jackson, Java Dates, Exception, LocalDate](<https://devfeed.tech/topics/jackson-java-dates-exception-localdate.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Development](<https://devfeed.tech/topics/development.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [code-review](<https://devfeed.tech/tags/code-review.md>), [internal-developer-platform](<https://devfeed.tech/tags/internal-developer-platform.md>), [jackson](<https://devfeed.tech/tags/jackson.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modernization](<https://devfeed.tech/tags/modernization.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [tech](<https://devfeed.tech/tags/tech.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

## AI overview

An Adyen engineering team explores using OpenRewrite to automate code modernization and reduce the manual effort of framework, API, and static-analysis updates. The article describes a completed migration of an internal Jackson 2 wrapper to Jackson 3 across hundreds of modules and discusses integrating the tool into the build and CI workflow.

## Source excerpt

Automating Code Modernization with OpenRewriteBy Stefano Dalla Palma - Development Tooling Engineer, Adyen In a large-scale engineering organization such as Adyen, where hundreds of developers produce hundreds of merge requests per day across thousands of modules, continuously evolving code to meet the latest standards is essential for long-term platform health and performance. However, executing routine updates manually, such as adopting new framework patterns, keeping up with API enhancements, or fine-tuning static analysis rules can introduce friction that takes developers away from building core features. When I joined Adyen's internal developer platform team, I wanted to understand whether any of that friction could be automated away. Around that time, I came across an episode of Software Engineering Radio (link) where the creator of OpenRewrite made an argument that stuck with me: "We are asking framework authors to start taking responsibility for providing recipes when they make breaking changes." I loved that framing. The hassle of keeping up shouldn't fall entirely on the consumers of a library, but on the people who changed the contract in the first place. While we couldn't change how external maintainers worked, we could adopt that mindset internally. I saw an opportunity: if a tool could absorb the friction of a breaking change, we could handle the cleanup on behalf of our developers. But my enthusiasm wasn't going to convince anyone. The engineers I pitched to wanted to see it work before they'd trust it, and I don't blame them. The only way to earn trust was to do the work: pick a real use case, drive it to completion, and let the results speak. One team had a ticket to migrate an internal Jackson 2 wrapper to Jackson 3, a tricky refactoring with deep caller dependencies across hundreds of modules, exactly the kind of high-effort, lower-urgency work that teams understandably prioritize behind customer-facing delivery. I asked if I could take a shot at