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(94)

BONUS: Send Us Your Questions About Engineering at Meta

BONUS: Send Us Your Questions About Engineering at Meta

Pascal is going on Recharge for August so there will be no regular interview episode. However, we want to hear your questions for our mailbag episode. Send them to us on Instagram (https://www.instagr...

29 Heinä 1min

87: Everything is Power: Battery Life Engineering for AI Glasses

87: Everything is Power: Battery Life Engineering for AI Glasses

What changes for you as a developer when the device moves from your pocket to your face? The battery shrinks by an order of magnitude, the thermal budget is whatever won't make your nose uncomfortable...

13 Heinä 41min

86: A Hard Cell: Engineering Ultra-Narrow Batteries for AI Glasses

86: A Hard Cell: Engineering Ultra-Narrow Batteries for AI Glasses

Your smart glasses run all day on a battery narrower than your pinky finger and building it required reinventing how batteries are made. In this episode, Pascal talks to Karthik and Myuran, the engine...

9 Kesä 42min

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