Logo
Back to podcasts

What If Fixing Code Wasn’t Your Job Anymore?

with Jonathan Schneider

Chapters

Introduction
[00:01:00]
Founding story – park-bench coding to Miami HQ
[00:04:10]
Netflix days: birth of OpenRewrite
[00:07:30]
The 40% maintenance tax and recipe catalog
[00:10:40]
Why AI alone isn’t enough – deterministic rewrites
[00:13:50]
Push-vs pull-based change and mass PRs
[00:17:00]
Data-table impact analysis across thousands of repos
[00:20:10]
LLM agents tapping a 5-billion-line code lake via MCP
[00:23:40]
Security fixes, vulnerability repair & large-scale migrations
[00:28:10]
Roadmap, new languages, how to try Moderne
[00:32:40]
Closing
[00:35:27]

In this episode

Jonathan Schneider, co-founder and CEO of Moderne, joins Simon Maple to share how real engineering teams are using Moderne’s rewrite engine to reduce technical debt at the source, and drive org-wide transformation.

On the docket:
• the hard limit LLMs can’t scale past
• why OpenRewrite uses a declarative framework
• the real challenge: accessing the compiler’s truth

Introduction to Moderne

In this episode of AI Native Dev, Jonathan Schneider, CEO and co-founder of Moderne, joined Simon to discuss code maintenance, large-scale refactoring, and the evolving intersection between LLMs and deterministic code transformation. Moderne, built on the OpenRewrite refactoring engine, targets the growing burden of maintaining enterprise-scale codebases and keeping them up to date with modern frameworks and standards.

Origins and Motivation

Moderne’s roots trace back to Schneider’s time at Netflix, where traditional developer dashboards failed to drive code modernization. Developers consistently deprioritized maintenance in favor of feature development. This led to the realization that tooling needed to “do it for them.” OpenRewrite was created to provide deterministic, automatable transformations that eliminate technical debt without developer intervention.

The Reality of Software Maintenance

Jonathan emphasizes that maintenance isn't just about repaying technical debt—it’s continuous upkeep required to ensure that applications remain functional as dependencies evolve. Approximately 30–40% of engineering effort is spent on this type of "code hygiene." With thousands of repositories and constant changes to APIs and frameworks, keeping codebases modern has become a scaling problem.

AI's Role and Its Limitations

While LLMs excel in authoring experiences on single repositories, they struggle with scale, determinism, and consistency across thousands of codebases. Larger context windows reduce attention precision, and LLMs introduce probabilistic variability in critical operations. However, LLMs can assist in generating OpenRewrite recipes by understanding before/after code states and iteratively refining code transformations.

OpenRewrite and Recipes

OpenRewrite operates on deterministic “recipes”—modular programs that make atomic code changes like modifying dependencies or migrating framework APIs. For example, a Spring Boot 3.4 migration may involve over 3,000 recipes. Recipes are composable, testable, and increasingly AI-assisted. LLMs can generate these recipes by understanding high-level intent and translating it into precise transformations.

Scaling Code Transformation

Rather than mass push-based pull requests, Moderne emphasizes developer-initiated pull-based changes. Product teams are more receptive when they opt-in at their convenience. High-urgency issues like vulnerabilities (e.g., Log4Shell) justify push-based approaches, but most modernization is better accepted when surfaced contextually within developer workflows.

Automation, Validation, and Feedback Loops

Recipes can verify compilation after transformation and emit data tables that support large-scale impact analysis. These tables enable LLMs and agents to reason across repositories, answering questions like “Where is this middleware cache pattern used?” with specific examples from billions of lines of code. This transforms OpenRewrite into a deep knowledge base for agents.

LLM Integration and MCP Servers

OpenRewrite recipes are exposed to LLMs via tool calling and MCP (Model Context Protocol) servers, enabling agents to query proprietary and open-source code at scale. This unlocks agentic workflows where models suggest changes based on usage patterns from across a company’s codebase, not just the active file.

Looking Forward

Jonathan’s vision centers on expanding language support and deepening integrations with compilers to build a universal, lossless semantic model of software. Surprisingly, recipes built for Java have proven reusable across Python, JavaScript, and C# due to shared underlying abstractions. As Moderne continues to grow its “data lake” of code intelligence, the platform becomes foundational for spec-driven development, documentation generation, and AI-assisted transformation across the software lifecycle.

Conclusion

Moderne, with OpenRewrite at its core, is reshaping how enterprise teams approach modernization. By combining deterministic refactoring with AI acceleration, it allows engineering teams to scale their modernization efforts while maintaining confidence and control. As LLMs mature and agent frameworks evolve, Moderne positions itself as the infrastructure backbone for AI-native code transformation.

Chapters

Introduction
[00:01:00]
Founding story – park-bench coding to Miami HQ
[00:04:10]
Netflix days: birth of OpenRewrite
[00:07:30]
The 40% maintenance tax and recipe catalog
[00:10:40]
Why AI alone isn’t enough – deterministic rewrites
[00:13:50]
Push-vs pull-based change and mass PRs
[00:17:00]
Data-table impact analysis across thousands of repos
[00:20:10]
LLM agents tapping a 5-billion-line code lake via MCP
[00:23:40]
Security fixes, vulnerability repair & large-scale migrations
[00:28:10]
Roadmap, new languages, how to try Moderne
[00:32:40]
Closing
[00:35:27]