Swift Concurrency introduced powerful concepts like actors, isolation, Sendable types, and structured concurrency, but it also raised many questions for developers migrating existing codebases.
In this episode of Swift Academy, I’m joined by Matt Massicotte, a long-time Apple platforms developer and one of the most respected voices exploring the boundaries of Swift Concurrency.
We dive deep into the concurrency model in Swift: how isolation works, when to use actors, the difference between static and dynamic isolation, and how to reason about correctness in concurrent systems.
Matt also shares practical insights from years of experience working on large-scale Apple platform software and contributing to the Swift ecosystem.
If you’re preparing for Swift 6, migrating legacy code, or trying to better understand the concurrency model, this conversation will give you a clearer mental model of how Swift Concurrency works.
⸻
Topics we cover
00:00 Introduction
02:26 Introduction to Swift Concurrency and Isolation
05:06 Understanding Isolation in Swift Concurrency
08:04 Static vs Dynamic Isolation
10:33 Isolation Inheritance and Protocols
13:18 Challenges with Closures and Sendable Types
16:01 Actors: Definition and Use Cases
18:38 Main Actor vs Custom Actors
30:04 Correctness vs Performance in Swift Concurrency
31:02 Ensuring Correctness at Compile Time
32:17 The Complexity of Concurrency in Swift
34:45 Main Actor vs Background Threads
36:11 Overusing Actors: Risks and Considerations
38:44 Migrating Legacy Code to Swift Concurrency
42:26 Convincing Teams to Migrate to Swift 6
47:23 Incremental Migration Strategies
52:21 Understanding Approachable Concurrency
58:00 The Future of Swift Concurrency and Actors
⸻
About Matt Massicotte
Matt Massicotte is an independent Apple platforms developer, consultant, speaker, and open-source contributor.
He has over 30 years of experience working on Apple technologies and previously worked as an engineer at major companies including:
• Apple Inc. – Battery Life Engineer working on power usage analysis and internal tools
• Crashlytics – Engineering work on crash reporting systems later acquired by Twitter
• Twitter – Engineer working on Apple platform technologies
Since 2017, he has been working as an independent developer and consultant, helping teams understand and adopt modern Swift technologies.
Matt is also active in the Swift community and has contributed to Swift Evolution, including:
• SE-0434 – Usability of global-actor-isolated types
⸻
Open Source Projects
Matt maintains several open-source projects in the Swift ecosystem:
• Chime – a macOS text editor
• Neon – a Swift library for efficient content-based text styling
• Queue – a queue designed for Swift Concurrency
• SwiftTreeSitter – Swift bindings for the Tree-sitter incremental parsing system
⸻
Talks
Matt regularly speaks about Swift Concurrency and modern Swift architecture:
• How to Approach Approachable Concurrency (2025)
• Swift Concurrency is new and hard, and you can do it (2024)
• The Bleeding Edge of Swift Concurrency (2023)
⸻
🎧 Swift Academy Podcast
Swift Academy is a podcast where we discuss Swift, iOS architecture, and software engineering with experts from the Apple developer community.
Subscribe for more conversations with engineers building the future of Swift.
⸻
#Swift #SwiftConcurrency #iOSDevelopment #SwiftLang #SoftwareEngineering