Recipe to become a valuable iOS developer
When I was wondering what should be the topic for my next post, I was really in trouble. Actually, there are at least 3 proper blog posts to give you an overview and a blueprint how to build and transform yourself into an iOS programmer, even without prior computer science or programming knowledge. Which is awesome if you are a totally new in programming, but can be a real pain in the neck for your coworkers when you can’t apply the basic principles such as effective algorithms, or design patterns not to mention the OOP principles.
So, I went through those pages:
And I prepared a new learning materials recipe for you, including materials from my own experience:
Step 1: For beginners, who has never touched any code before:
Foundations of Programming: Fundamentals
Foundations of Programming: Object-Oriented Design
Introduction to Computer Science
Step 2: For individuals, who has some knowledge about OOP principles, program structures and C language:
Objective-C Programming: The Big Nerd Ranch Guide 2nd Edition
iOS Programming: The Big Nerd Ranch Guide 4th Edition
Step 3: For individuals who are more curious
Head First Design Patterns – O’Reilly Media
Algorithms, Part I – Princeton University | Coursera
Algorithms, Part II – Princeton University | Coursera
Developing iOS 7 Apps for iPhone and iPad
Developing iOS 8 Apps With Swift
You might already noticed, that those resources Objective-C (or Java) based. I am on the same position as the most of the guys on the above mentioned posts, that you can’t really just skip Objective-C at the moment. I think for a beginner the best strategy is to know the foundations, and build the new features on them. Later I will add resources for Swift as well.
Another problem could be the price of those materials, since there are free online resources as well. Honestly, I think that this investment is worth it, if you consider to change career path.
I couldn’t stress and emphasise enough the Big Nerd Ranch books, they are the best material I have ever read in years of learning programming and about this topic. Actually I am in the middle of the second book, but I still love it!