The Pragmatic Engineer

Notion: going native on iOS and Android


Listen Later

Supported by Our Partner

DX → DX is an engineering intelligence platform designed by leading researchers

In today’s exciting episode of The Pragmatic Engineer, I am joined by two members of the Notion mobile apps team, Austin Louden and Karn Saheb. Austin and Karn joined Notion in 2019 when Notion was revamping its mobile apps. 

Notion is a versatile productivity and collaboration platform that combines note-taking, task management, and knowledge organization into a single workspace. It is available as a web app, as well as iOS and Android apps for mobile use.

In our conversation today, we take a deep dive into how the Notion mobile team operates and discuss the following: 

What the engineering culture is like at Notion 

Why the mobile team focuses so much on app performance

The incremental shift from Cordova to Native 

Notion’s tech stack and frameworks they rely on 

How the mobile team maintains consistency across iOS and Android

Unique features of the development process, including a public beta, using modules, and practices around feature flags

… and much more!

Timestamps

(00:00) Intro

(02:03) The RFC process at Notion 

(06:00) How Notion uses internal channels to share RFCs

(07:57) Some of the unique ways the mobile team works

(11:07) Why they don’t do sprint planning at Notion—and what they do instead

(12:57) An overview of the size of Notion and teams at Notion

(13:15) The beginning of mobile at Notion

(14:40) A simple explanation of Cordova

(15:40) Why Notion decided to revamp mobile in 2019 and shift to Native

(18:30) How the mobile team evaluated performance as they made the shift to Native

(22:00) Scaling mobile and iterations of moving to Native 

(26:04) Why the home tab project was so complex

(30:59) Why the mobile team saved the editor for last and other future problems

(34:35) How mobile works with other teams 

(36:50) How iOS and Android teams work together 

(38:28) The tech stack at Notion

(39:30) How frameworks are used

(41:57) Pros and cons of different frameworks and why Swift was the right choice

(45:16) How code reviews work at Notion

(48:23) Notion’s mobile team’s testing philosophy

(50:18) How the mobile team keeps compile time so fast

(52:36) Modules in the iOS app

(54:50) Modules in the Android app

(56:44) Behind the scenes of an app release and the public beta

(1:00:34) Practices around feature flags

(1:03:00) The four dev environments at Notion

(1:04:48) How development apps work 

(1:07:40) How and why you can work offline in Notion mobile 

(1:10:24) Austin and Karn’s thoughts on the future of mobile engineering 

(1:12:47) Advice for junior engineers

(1:16:29) Rapid fire round

The Pragmatic Engineer deepdives relevant for this episode:

Where to find Austin Louden:

• GitHub: https://github.com/austinlouden

• LinkedIn: https://www.linkedin.com/in/austinlouden

• Website: https://austinlouden.com/

Where to find Karn Saheb:

• GitHub: https://github.com/Karn

• LinkedIn: https://github.com/Karn

• Website: https://karn.io

Where to find Gergely:

• Newsletter: https://www.pragmaticengineer.com/

• YouTube: https://www.youtube.com/c/mrgergelyorosz

• LinkedIn: https://www.linkedin.com/in/gergelyorosz/

• X: https://x.com/GergelyOrosz

References and Transcripts:

See the transcript and other references from the episode at https://newsletter.pragmaticengineer.com/podcast

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [email protected].



Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
...more
View all episodesView all episodes
Download on the App Store

The Pragmatic EngineerBy Gergely Orosz

  • 5
  • 5
  • 5
  • 5
  • 5

5

68 ratings


More shows like The Pragmatic Engineer

View all
The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

288 Listeners

The a16z Show by Andreessen Horowitz

The a16z Show

1,107 Listeners

Decoder with Nilay Patel by The Verge

Decoder with Nilay Patel

3,145 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

630 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

583 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

232 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

988 Listeners

Practical AI by Practical AI LLC

Practical AI

211 Listeners

Google DeepMind: The Podcast by Hannah Fry

Google DeepMind: The Podcast

205 Listeners

Last Week in AI by Skynet Today

Last Week in AI

313 Listeners

Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

Machine Learning Street Talk (MLST)

100 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

549 Listeners

Big Technology Podcast by Alex Kantrowitz

Big Technology Podcast

512 Listeners

Latent Space: The AI Engineer Podcast by Latent.Space

Latent Space: The AI Engineer Podcast

104 Listeners

AI + a16z by a16z

AI + a16z

32 Listeners