Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Header image

🚀 iOS Developer Roadmap

Roadmap to becoming an iOS developer in 2020.

☝️ What is it?

This is a tree-like compilation of topics highly relevant to iOS development. Both image and text version are generated from human readable content file.

✌️ Who is it for?

The roadmap will be helpul for:

  • anyone who wants to become an iOS developer
  • iOS developers who desire to become experts
  • iOS developers who are preparing for interviews and need to brush up knowledge
  • iOS developers who need to compile own set of interview questions

👌 Why these topics?

See this article explaining selection of topics.

👨‍🎓 How to use this roadmap

  1. Find a topic you want to study.
  2. Go to corresponding resources section.
  3. Study until you can confidently explain the topic to your cat.
  4. (Optional) tick the checkbox next to the topic. How to tick a checkbox.
  5. Go to step 1.

Essential topics are topics which significantly contribute to understanding of iOS development. Consequently, it is a good idea to study them first as they are often encountered on interviews.

Start from Getting started section if you haven't done any iOS development yet.

🗺 Image version

Roadmap of essential topics. Roadmap for all topics is here. Header image

📝 Text version

Text version with materials to study.

🤝 How to contribute

  • add new topics to Content.yml
  • add missing study materials to Content.yml
  • throw ideas at me on Twitter: @Bohdan_Orlov

The complete contribution guide.


  • content file with topics and materials
  • ability to generate from the content file
  • ability to generate Roadmap tree image from the content file
  • make generation script less miserable:
    • make it readable 🤦
    • output Yaml format violation errors
    • handle errors of parsing Yaml into Topics and Resources
    • handle file read/write errors
    • handle image generation errors
  • automatic regeneration of roadmap after every commit
  • automatic validation of content format on PR
  • make sure Travis doesn't deploy if generation script fails

⚙️ Generation status


📃 License

License: CC BY 4.0

📊 Skills Matrix

You might also like the iOS Developer Skills Matrix. Skills matrix

📚 iOS and Swift Tutorials and Courses

Learn iOS development & Swift online from the best iOS Swift tutorials and courses recommended by the programming community.