Combine for Mere Mortals
I’m excited to announce that my Combine Swift Course is now complete and available for purchase.
Learning Combine has been extremely rewarding, but learning it can be daunting. I built this course because:
- I love the idea of functional reactive programming, but on the surface I found it to be confusing
- Despite reading books and following articles nothing seemed to click for me
So I decided to make the course I wish I had when I started out.
The course is aimed at making you more confident in writing complex asynchronous code that is easier to maintain and has less potential for bugs.
It has been a long road to get here, but I’m quite proud of the final result. I’d be thrilled if you checked it out!
Course Overview
The course is broken up into modules, each building up your knowledge of the Combine framework. Then later modules take that knowledge to solve real world problems.
- Introduction & Theory
- Combine Basics
- Error Handling
- Networking
- Schedulers and Threading
- More Publishers
- App Architecture
- Build a Complete Weather App with Combine
- Advanced Combine
- Testing Combine Publishers
- Debugging Pipelines
The Back Story
Learning Combine was a challenge for me because reactive programming in general is such a mind shift. But after I started to get used to it something clicked. I started to find more areas where it would be useful. And I was able to simplify some parts of my code that was previously really complicated.
Last year I started planning out some Combine content and realized that it was much bigger than just a collection of screencasts. I came to the conclusion that this deserved its own complete course.
This was also an opportunity for me to try something new (one-time purchase course versus subscriptions).
Building a course takes an enourmous amount of work and I severely underestimated how much time it would actually take to write, record, edit, and publish the entire thing.
A custom course platform
Part of the reason that I underestimated it is that I wanted to build a course platform that was somewhat reusable for future courses I might want to do. There are lots of off the shelf platforms that offer this sort of thing, but I like to own the experience, and nothing works quite how I wanted it to.
The course platform is a custom Ruby on Rails web app, hosted on Digital Ocean. I can write more about this setup in a future post if you’re interested.
Course Levels
I decided to break down the course offerings into 3 packages:
- The Standard course
This unlocks Modules 1-4 and gives you a solid fundamental overview of Combine - The Complete Course
This unlocks all 11 modules and allows you to download the videos for offline use. - Team Package
These come in groups of 5 seats and offers the complete course for your entire team.
What’s next?
While I have talked about this course on Twitter a bit over the course of the past few months, I’ve never really gone into Marketing Mode™. I’ll admit this is firmly outside of my comfort zone, but I also think that this course is worthy of a wide audience of iOS developers, and it’s going to be my goal to try to reach a bigger audience than just my Twitter followers.
On that note, I’d love if you shared this post with your colleagues!