Migrating a massive, actively developed codebase from one language to another is a daunting challenge—especially when the goal is to maximize developer productivity and long-term maintainability. At Meta, we embarked on a multi-year journey to translate tens of millions of lines of Java code, going far beyond incremental adoption to pursue a full-scale, automated migration.
In this talk, I’ll share the technical and organizational lessons learned, with a focus on the custom refactoring infrastructure we built to make it possible. I’ll discuss how we leveraged metaprogramming, static analysis, and even runtime data collection to tackle the thorniest issues—like null safety and dependency graph complexity—while minimizing developer toil and risk.
In this talk, Ill share the technical and organizational lessons learned, with a focus on the custom refactoring infrastructure we built to make it possible. Ill discuss how we leveraged metaprogramming, static analysis, and even runtime data collection to tackle the thorniest issueslike null safety and dependency graph complexitywhile minimizing developer toil and risk.
Eve is an Android engineer at Meta, where she leads the Kotlin conversion project.
More About Eve »