71: Translating Java to Kotlin at Scale
Meta Tech Podcast31 Tammi 2025

71: Translating Java to Kotlin at Scale

How do you translate roughly ten million lines of Java code to Kotlin? Clicking in your the IDE gets pretty repetitive after a while and doesn't work if you have custom APIs and requirements for null safety. Eve and Jocelyn, two software engineers on the Mobile Infra Codebases Team have taken on this challenge and talk host Pascal through the unexpected difficulties when embarking on the journey to (close to) 100% Kotlin in our Android codebase.

Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Instagram (https://instagram.com/metatechpod) and don't forget to follow our host Pascal (https://mastodon.social/@passy, https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.

Links

Timestamps

  • Intro 0:06

  • Introduction Eve 1:11

  • Introduction Jocelyn 2:15

  • Team mission 2:44

  • The scale of Meta's codebase 3:40

  • Why is there so much code? 4:34

  • Why migrate to Kotlin? 5:45

  • Isn't Kotlin slow to compile? 7:51

  • Why not use Android Studio's converter? 8:28

  • Nullability differences 10:04

  • Meta Codemod Service 14:50

  • Kotlin codemod stages 17:07

  • Headless J2K 20:14

  • Open-source transformations 23:14

  • Java Nullsafe 24:47

  • Leveraging Linters 26:01

  • Fixing build errors 27:24

  • Unexpected challenges 29:33

  • State of the union 33:44

  • Outro 36:10

  • Outtakes 37:08

Tämä jakso on lisätty Podme-palveluun avoimen RSS-syötteen kautta eikä se ole Podmen omaa tuotantoa. Siksi jakso saattaa sisältää mainontaa.

Jaksot(91)

85: Reel Friends: Building Social Discovery that Scales to Billions

85: Reel Friends: Building Social Discovery that Scales to Billions

You've probably spotted those little circles of your friends' faces popping up on Facebook Reels. They look simple enough, but building them was a proper engineering challenge. In this episode, Pascal...

8 Touko 38min

84: Trust But Canary: Configuration Safety at Scale

84: Trust But Canary: Configuration Safety at Scale

Have you ever wondered how Meta makes config rollouts safe at scale? In this episode, Pascal sits down with Ishwari and Joe to discuss Meta's approach for propagating changes across services in second...

2 Huhti 37min

83: Patch Me If You Can: AI Codemods for Secure-by-Default Android Apps

83: Patch Me If You Can: AI Codemods for Secure-by-Default Android Apps

At Meta, even seemingly simple engineering tasks—like updating an API—become monumental undertakings when you're dealing with millions of lines of code and thousands of engineers, especially if the ch...

27 Helmi 47min

82: CSS at Scale with StyleX

82: CSS at Scale with StyleX

It's not just Not Invented Here Syndrome. Some technologies like CSS simply don't scale if you're building some of the largest websites on the planet with thousands of engineers committing to the same...

8 Tammi 44min

81: From Zero to Polish: Building Meta Ray-Ban Display

81: From Zero to Polish: Building Meta Ray-Ban Display

You've likely heard of Meta Ray-Ban Display by now — but what's it actually like to work on it? In this episode, Pascal talks to Kenan and Emanuel about the exciting features of Meta's First-Gen Displ...

12 Joulu 202547min

80: Lowering emissions with the Open Compute Project

80: Lowering emissions with the Open Compute Project

In this episode, Pascal talks to Dharmesh J. (DJ) and Lisa about the vision for the open, scalable future of networking hardware for AI and to break down Meta's big announcements from the 2025 Open Co...

14 Marras 202538min

79: Building Android apps in Meta's monorepository with Buck2

79: Building Android apps in Meta's monorepository with Buck2

How do you keep Android build times under control when your codebase spans tens of thousands of modules and millions of lines of Kotlin? In this episode, Pascal talks with Iveta, Navid, and Joshua fro...

10 Loka 202537min

78: Generating 3D Worlds with AI

78: Generating 3D Worlds with AI

Creating 3D assets can be daunting, but does it have to be? Mahima and Rakesh are on a quest to democratize 3D content creation with AssetGen, a foundation model for 3D. They discuss the challenges of...

19 Syys 202536min