/ swift

Combine for Mere Mortals

I'm very 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!

Get the Course Here

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.

  1. Introduction & Theory
  2. Combine Basics
  3. Error Handling
  4. Networking
  5. Schedulers and Threading
  6. More Publishers
  7. App Architecture
  8. Build a Complete Weather App with Combine
  9. Advanced Combine
  10. Testing Combine Publishers
  11. 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!