iOS Developer Roadmap
A step-by-step iOS Developer roadmap: the full stack, the skills to learn in order 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, Xcode and the Simulator, SwiftUI views, State and bindings, Lists and navigation, Forms and animation, URLSession and Codable, async/await, SwiftData, Core Data basics, Keychain, MVVM, Dependency injection, Swift Testing and XCTest, XCUITest, Clean Architecture, Generics, Swift concurrency in depth, ARC and memory, Combine, UIKit and Auto Layout, Deep links, Core Location and MapKit, Notifications, StoreKit 2
- Get hired: Portfolio projects, Technical resume, Interview preparation
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)
Xcode and SwiftUI: build your first apps
Install Xcode and build screens with SwiftUI: views and modifiers, stacks, state and bindings, lists, navigation, forms and animation. You need a Mac to build native iPhone apps.
Skills
- Xcode and the Simulator
- SwiftUI views
- State and bindings
- Lists and navigation
- Forms and animation
Tips
- Build a small app after each topic. Follow Apple’s own tutorials first, they are well written.
Where to learn
- Develop in Swift tutorials (docs, free)
- SwiftUI tutorials (Apple) (docs, free)
- 100 Days of SwiftUI (course, free)
- Stanford CS193p (course, free)
Networking, async/await and saving data
Call REST APIs with URLSession and Codable, write async code with async/await, and keep data on the phone with SwiftData (or Core Data in older projects). Store secrets in the Keychain.
Skills
- URLSession and Codable
- async/await
- SwiftData
- Core Data basics
- Keychain
Tips
- Read the real JSON of an API before writing your model. Never put a private API key inside the app.
Where to learn
- SwiftData documentation (docs, free)
- URLSession documentation (docs, free)
- Concurrency in The Swift Programming Language (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)
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)
Apple frameworks for real features
Add device features with Apple’s frameworks: Core Location and MapKit, push and local notifications, StoreKit for in-app purchases, Vision, AVFoundation, HealthKit and widgets. Each one comes with privacy rules and usage descriptions.
Skills
- Core Location and MapKit
- Notifications
- StoreKit 2
- Vision
- AVFoundation
- HealthKit
Tips
- Ask for permissions when a feature is needed, and always handle “no”.
Where to learn
- Apple developer documentation (docs, free)
- App Store Review Guidelines (docs, free)
Release: TestFlight, App Store and CI/CD
Ship the app: signing, TestFlight beta testing, App Store Connect, review and privacy information, then automate builds and tests with Xcode Cloud, GitHub Actions, Bitrise or Fastlane, and release safely with phased rollout.
Skills
- App Store Connect
- TestFlight
- Code signing
- Fastlane
- Xcode Cloud
- CI/CD
Tips
- Read the App Review Guidelines before you build, not after. Fees and rules change, so check Apple’s site.
Where to learn
- App Store Connect help (docs, free)
- TestFlight overview (docs, free)
- fastlane docs (docs, free)
Build your portfolio, resume and interview skills
Employers want proof. Finish two or three projects you can show and explain, put them on GitHub, write a clear resume that matches the jobs you apply for, and practise the interview questions for the role.
Skills
- Portfolio projects
- Technical resume
- Interview preparation
Tips
- Describe what you built, why, and what you would improve. That is what interviewers ask about.
Build your resume · Check your resume (ATS) · Interview questions · Salaries · Browse jobs
Frequently asked questions
Where should I start with iOS Developer?
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.
Do I need a degree to work as a iOS Developer?
It depends on the employer and the country. Many employers accept proven skills and projects, while others ask for a degree. Read the adverts for the roles you want and ask the employer if it is unclear.
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.