A Swift Concurrency Course that helps you learn all the fundamentals of Swift Concurrency and migrating your projects smoothly to Swift 6 strict concurrency checking. It can be intimidating to start migrating existing projects to Swift 6 and learn all about async/await, sendable, and actors at the same time. A graceful learning process can make the difference between succeeding or losing trust in ever completing the migration.
After writing tens of articles on my blog and migrating a project and SDK of 20+ packages, I decided it’s time to put all my learnings into a dedicated flagship course that helps you learn all about Swift Concurrency. It’s time to introduce you to swiftconcurrencycourse.com.
The Essential Swift Concurrency Course for a Seamless Swift 6 Migration
I’m beyond excited to introduce you to my brand new flagship course: The Essential Swift Concurrency Course for a Seamless Swift 6 Migration.
→ Go to swiftconcurrencycourse.com
Build fundamentally required skills to write efficient, thread-safe code using modern concurrency and migrate your projects to Swift 6 using migration habits and practical guides.
What’s included:
- 57+ Lessons
- 11 assessments
- Multiple videos
- Swift Concurrency Playgrounds
- Xcode Projects & Code Examples
- Lifetime updates
- An official certificate after completion
You’ll get an official SwiftLee Courses certificate that you can use in your resume, on LinkedIn, or anywhere else you want to prove your knowledge of Swift Concurrency. All students will have to perform several assessments throughout the course to validate your learnings.
The Essential Swift Concurrency Course for a Seamless Swift 6 Migration.
Learn all about Swift Concurrency in my flagship course offering 57+ lessons, videos, code examples, and an official certificate of completion.
Building trust and fundamental knowledge to adopt Swift Concurrency and migrate to Swift 6
A migration to Swift 6 and strict concurrency checking can lead to what I like to call a concurrency rabbit hole. You build your project with Strict Concurrency checking enabled, run into errors, fix these, and build again. The result? More errors!
That’s not what you expected or hoped for and it can be frustrating and demotivating to continue. Yet, there are techniques, migration habits, and strategies to make it more doable to perform a successful migration.
It starts with building fundamental knowledge of features like async/await, tasks, sendable, and actors. Once you know how to write asynchronous code, you’ll need to understand priority inheritance, the relationship between threading and tasks, and how compile-time concurrency checking helps you prevent data races. After building these required skills, you can follow strict steps to create a smooth migration to Swift 6.
Why it’s the right time to start increasing your Swift Concurrency knowledge today
A lot is changing in the world of Swift Concurrency. When async/await was introduced, we all got excited and started adopting it in our projects. However, it’s been the best first-guess of the Swift team on how they believed Swift Concurrency should work. Some decisions were made with a focus on performance, while in retrospect they’ve impacted the adoptability of strict concurrency in our projects.
Adopting Swift 6 can be frustrating, and you’re not alone! In fact, the Swift Langauge Steering Group recognized this in this official vision document on approachable concurrency. They mention:
- “it can be frustrating to adopt”
- “improving the usability of Swift 6”
In other words, you can expect improvements to the language that will help you adopt Swift 6 and strict concurrency more easily.
At the moment of writing, we just received Swift 6.1 as an update. It contains several improvements like:
- SE-442: Allow TaskGroup’s ChildTaskResult Type To Be Inferred
- SE-449: Allow nonisolated to prevent global actor inference
Like with all Swift releases, you can find an overview of all changes on the official Swift blog here. It’s a great way to stay current on what’s new. (Or even easier: I provide an overview of weekly changes in my newsletter)
So, the Swift Language Steering Group recognized the frustration Swift 6 currently brings. In the official vision document, they mention two primary use-cases:
- Simple situations where programmers aren’t intending to use concurrency at all.
- Adapting an existing code base that uses concurrency libraries which predate Swift’s native concurrency model.
With this document, they set the direction of the future of Swift 6. They also mention three phases on the progressive disclosure path for concurrency:
- Phase 1: Write simple, single-threaded code.
By default, your code runs sequentially—no parallelism, no data races, just straightforward execution. - Phase 2: Write async code without data-race safety errors.
Using async/await lets you suspend execution without introducing parallelism—no shared state issues, just clean async workflows. - Phase 3: Boost performance with parallelism.
Offload work from the main actor, use structured concurrency, and let Swift’s compiler keep your code safe from data races.
Or, in other words:
- Phase 1: No concurrency at all
- Phase 2: Suspend execution without parallism
- Phase 3: Advanced concurrency
They are focusing on improving the language so that it becomes easier to adopt Swift Concurrency slowly. Changes are expected to reduce the number of compiler warnings and errors, and they even plan on automatic migration using a so-called migration build to accommodate these changes more easily.
So, should I wait to migrate to Swift 6?
It’s currently March 17th, and depending on your project’s size, you could say yes and wait since it will likely become more manageable. However, investing in your knowledge and developing the skills to work with concurrency is essential so that by the time you start migrating, you’re mentally prepared and skilled enough. It’s already possible to adopt Swift 6, and by building the skills today, you’re able to prevent extra tech debt for the future.
That’s why my Swift Concurrency Course is highly relevant today—the course will set you up for success. I’m actively monitoring all incoming changes and adopting them as soon as they’re implemented. My goal is to help you succeed in Swift Concurrency.
Do you also offer a Swift Concurrency Book?
At this moment, I’m not offering a Swift Concurrency book. I strongly believe in the course structure I’m offering—a combination of text-based lessons, assessments, and videos to explain core concepts. It’s a much more complete way to learn Swift Concurrency than a book, but you’re still able to read many of the learnings on your iPhone or iPad as if it’s a book.
Conclusion
Swift Concurrency is here to stay and actively being developed. It’s an exciting time as a Swift developer and it’s never been a better time to start investing in your concurrency knowledge. Start writing efficient, thread-safe code and adopt Swift Concurrency using my dedicated course:
→ Go to swiftconcurrencycourse.com
I hope to see you there!