What do iOS Developers do?

iOS developers are responsible for building intuitive and eye-catching apps that look good on both smaller iPhone and larger iPad screens. In many ways, iOS Developers significantly contribute to a company's brand; poorly designed apps can leave users with a negative opinion of the company, while well-designed apps give users a positive opinion of the company.

While many developers are employed by an organization, others choose to make their living as independent contractors. Either way, iOS Developers work collaboratively and effectively in a diverse team environment of product managers, designers, and other iOS Developers.

How to become one with or without formal education

Like many careers in tech, most interviewers care more about what you have built than where you went to school. As a minimum, employers want to see an app you've published to the App Store. While you won't be able to get to that level overnight, there are other ways to set yourself apart from the competition as you learn to develop apps:

  1. Explore Apple's developer ecosystem, including documentation, developer tools, and existing frameworks.
  2. Join the Apple Developer Forums and Stackoverflow to share your own and learn from other's experiences.
  3. Follow developer blogs for Swift and iOS Development.
  4. Contribute to open source development projects.

Staying current with trends in the iOS development ecosystem will give you more to talk about in an interview and prove your passion and drive as an iOS Developer.

Objective-C or Swift?

When starting in iOS, many people ask themselves, "Should I learn Objective-C or Swift?" And it's a great question to ask. While Swift is a relatively new language, many companies are looking to build apps solely in Swift. Though conversely, since Swift is new, there are still many apps that need to be maintained in Objective-C.

That being said, getting starting with Swift is the better choice. For starters, Swift is easier to learn than Objective-C, but more than that, Apple created Swift to be a replacement for Objective-C.

What to learn in what order?

Essential skills

Learn Swift

As mentioned above, Swift is Apple's programming language for iOS Apps. Learning the fundamentals of programming is key before starting to build apps.

Learn iOS

Within iOS there are a host of frameworks and tools that a developer must know. This includes adding text and images, building views, and handling user interactions.

Learn to connect to networked services

iOS devices are communication devices, and most popular apps make connections with network data sources. It is important to be comfortable finding and using new services.

Learn Version Control

Learning to use a versioning system for code is an essential skill for any developer. Additionally, a public coding profile, hosted on a platform like GitHub is a great asset for any resume.

Get familiar with key Frameworks

Frameworks make your life easier as an iOS Developer. They allow you to reuse code written by other developers in your own apps. An overview of key frameworks and other considerations are included in the "Common Frameworks" section below.

  • AFNetworking—Learn how to interact with data not hosted locally on a user's iPhone.
  • Core Data—Understand how to persist data across app launches.

Common Frameworks

Below are common frameworks commonly used to build many apps. You may not need all of them for your projects, but it's good to be aware of your options.

Link Description
Maps MapKit, Annotations, GPS, Core Location, and Geocoding
Persistence Core Data, SQLite, documents directory, file system, iCloud, CloudKit, Parse
Monetization App Store, iTunes Connect, In-app purchases, iAd
Device Management Resource Management battery, bandwidth, radios, GPS, CPU
Social frameworks like Facebook, Twitter
Concurrency Grand Central Dispatch, Async i/o, queues, multithreading

The portfolio that gets you an interview

A published app on the App Store is the shining star of any resume. It is a quick and convincing demonstration of your capabilities with advanced iOS frameworks, networked data sources, and expressive user interfaces. The app store hosts screenshots and app descriptions and these are a natural part of your presentation to employers.

A public GitHub profile can also be powerful. While the app store showcases a finished product, a repository can give employers insight into your code. You can post source code for an entire app, or any reusable components that you produce while making an app. GitHub also communicates contributions that you make to open source projects. It may not be easy to engage with open source projects when you first start writing iOS code, but it can be a valuable goal.