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

59 ratings


More shows like The Pragmatic Engineer

View all
Software Engineering Radio by se-radio@computer.org

Software Engineering Radio

273 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

290 Listeners

a16z Podcast by Andreessen Horowitz

a16z Podcast

1,095 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

625 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

283 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

42 Listeners

Data Engineering Podcast by Tobias Macey

Data Engineering Podcast

145 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

235 Listeners

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

Syntax - Tasty Web Development Treats

984 Listeners

REWORK by 37signals

REWORK

210 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

189 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

75 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

59 Listeners

Latent Space: The AI Engineer Podcast by swyx + Alessio

Latent Space: The AI Engineer Podcast

95 Listeners