Swift Roadmap

A step-by-step Swift roadmap: what to learn in order, the related skills and the best places to learn each step.

The stack, end to end

  • Fundamentals: Variables and data types, Loops and conditions, Functions, Problem solving, Git, GitHub, Branching and merging, Pull requests
  • Mobile: let and var, Optionals, Closures, Structs, classes and enums, Protocols, Error handling, Generics, Swift concurrency in depth, ARC and memory, Combine, UIKit and Auto Layout, Deep links, MVVM, Dependency injection, Swift Testing and XCTest, XCUITest, Clean Architecture
  1. Programming and problem-solving basics

    Suggested pace: Start here

    Learn to think in steps: variables, conditions, loops, functions and how to break a big problem into small ones. A structured beginner course gives you the habit of solving problems on your own.

    Skills

    • Variables and data types
    • Loops and conditions
    • Functions
    • Problem solving

    Tips

    • Type the examples yourself instead of copying them, and change them to see what breaks.

    Where to learn

  2. Version control with Git and GitHub

    Suggested pace: Next

    Git records the history of your code and lets teams work on the same project. Learn to commit, branch, merge, resolve conflicts and open a pull request on GitHub. Almost every software job expects it.

    Skills

    • Git
    • GitHub
    • Branching and merging
    • Pull requests

    Tips

    • Put every practice project on GitHub. It doubles as your portfolio.

    Where to learn

  3. Swift language fundamentals

    Suggested pace: Then

    Learn Swift on its own before building screens: constants and variables, types, optionals, functions and closures, structs, classes, enums, protocols and error handling. Swift is strict on purpose, so most mistakes show up before the app runs.

    Skills

    • let and var
    • Optionals
    • Closures
    • Structs, classes and enums
    • Protocols
    • Error handling

    Tips

    • Prefer let and structs. Learn optionals well, because they are in every API.

    Where to learn

    Free beginner iOS course on this site

  4. Advanced Swift and UIKit

    Suggested pace: After that

    Go beyond the basics: generics, task groups, actors and Sendable, memory and retain cycles, Combine, advanced SwiftUI, deep links, and the UIKit that older code bases still use, including Auto Layout and mixing UIKit with SwiftUI.

    Skills

    • Generics
    • Swift concurrency in depth
    • ARC and memory
    • Combine
    • UIKit and Auto Layout
    • Deep links

    Tips

    • Learn to find leaks with Instruments. Build one small app in UIKit to understand view controllers.

    Where to learn

    Free advanced iOS course on this site

  5. Architecture and testing

    Suggested pace: Later

    Keep code clean as the app grows: MVVM with the Observable macro, dependency injection through protocols, and tests with Swift Testing, XCTest and XCUITest. Know MVC, Clean Architecture, VIPER and the Coordinator and Repository patterns by name.

    Skills

    • MVVM
    • Dependency injection
    • Swift Testing and XCTest
    • XCUITest
    • Clean Architecture

    Tips

    • Do not over-build. Add structure when a screen has real logic or needs tests.

    Where to learn

Frequently asked questions

Where should I start with Swift?

Start at step 1 and work down in order, because later steps build on earlier ones. If you are signed in, the roadmap compares your resume with each step and marks where you could start.

Is Swift worth learning?

Check how many job adverts in your area mention Swift, and whether it fits the kind of work you want. This roadmap shows what to learn; the Browse jobs page shows what employers are asking for.

How do I know I am ready to apply?

When you can build a small project from start to finish without copying a tutorial, and explain why you made your choices. Apply while you keep learning; you do not need to know everything.