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
Programming and problem-solving basics
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
- CS50: Introduction to Computer Science (course, free)
- freeCodeCamp (course, free)
- The Odin Project (course, free)
Version control with Git and GitHub
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
- Pro Git book (book, free)
- GitHub Skills (practice, free)
Swift language fundamentals
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
- The Swift Programming Language (book) (docs, free)
- Swift: Getting started (docs, free)
Advanced Swift and UIKit
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
- Apple developer videos (WWDC) (video, free)
- Swift documentation (docs, free)
Architecture and testing
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
- Swift Testing documentation (docs, free)
- XCTest documentation (docs, free)
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.