A Swift Concurrency Course that helps you learn all the fundamentals of Swift Concurrency and migrate your projects smoothly to Swift 6 strict concurrency checking. It can be intimidating to start migrating existing projects to Swift 6 and learn about async/await, sendable, and actors simultaneously. 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
This course helps you build the fundamental skills required 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:
- 58+ Lessons
- 10 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 be required to complete several assessments throughout the course to validate their learning.
Limited time launch offer
As the course has just launched, I’m offering a limited-time launch offer with a reduced price. This is your chance to get lifetime access to future lessons and all of today’s offerings for a reduced price.
The Essential Swift Concurrency Course for a Seamless Swift 6 Migration.
Learn all about Swift Concurrency in my flagship course offering 58+ lessons, videos, code examples, and an official certificate of completion.
Updated for Swift 6.2 and now available with a limited-time launch offer.
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 begins with acquiring a fundamental understanding of features such as 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 developing these required skills, you can follow a strict set of 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 Language 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”
WWDC 2025 showed the first results of this initiative with significant improvements to Swift Concurrency. The new changes in Swift 6.2 are all applied to the course already!
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 up-to-date on the latest developments. (Or even easier: I provide an overview of weekly Swift Evolution changes in my newsletter)
So, the Swift Language Steering Group recognized the frustration that 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. More changes are expected to reduce the number of compiler warnings and errors. They have even introduced a so-called migration build, which is explained in the course, to accommodate these changes more easily.
Is it the right time to migrate to Swift 6?
Yes, it is. It always depends on where you are with your project. For example, you might be preparing for the new design changes in iOS right now. However, Swift Concurrency is ready for it, especially if you focus on Swift 6.2 and its newest features.
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 these skills today, you can prevent extra technical debt in 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, and you’re still able to read many of the learnings on your iPhone or iPad as if it were a book.
Conclusion
Swift Concurrency is here to stay and is 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!