The following diagram illustrates the roadmap for becoming an iOS developer. I updated it to reflect recent changes in 2021. I have tried to collect the most important technical skills that a progressing iOS developer can learn, in a logical order, to succeed more and more.
No Necessity in All Skills and the Order
There are some skills that are divided into different categories. Even though some the skills are fundamental and crucial, there is no necessity to learn all these skills and no necessity to learn them in the illustrated order. For example, in the early days of my iOS development journey, I had to deal with complicated Bluetooth apps, which helped me to learn many things from Apple documentation, architectures, OS operations, and many other things. Furthermore, at the time of writing this post, I didn’t know how to work with CocoaPods perfectly. Definitely, because I didn’t have to work with third-party libraries managed by CocoaPods. So if you know most of the skills in a specific category, you can consider your knowledge adequate in that category.
There are also some recommended learning resources in each section that can help you to achieve those skills. In some sections these resources are comprehensive books and in some others, these are just web pages with digested materials. Note that the resources are merely a few suggestions that I have found useful. Certainly you can use other resources.
If you have any ideas to make this roadmap more useful, meaningful or interesting, please leave comments here. The source file of the diagram which has been created by Adobe Illustrator in this GitHub repository. You can also download the PDF version of the roadmap with hyperlinks to the web resources.
I hope this diagram encourages you to start and/or continue your path.