If you are interested in pursuing a career in mobile development and don’t know where to start, here’s your go-to guide for salaries, skills and the best programming languages to learn.
As more companies adopt a mobile-first approach, iOS
who build apps for Apple devices are in high demand, with talent shortages leading to large salaries and many open developer jobs for many of those in the field. Developers who know the necessary programming languages and other skills can create apps that enterprises and consumers use every day to make their lives more productive.
SEE: IT Hiring Kit: Programmer (TechRepublic Premium)
To help those interested in the field better understand how to break into a career in mobile development, we compiled the most important details and resources. This guide on how to become an iOS developer will be updated on a regular basis. It is also available as a download, Cheat sheet: How to become an iOS developer (free PDF).
What does an iOS developer do?
An iOS developer builds, tests, and refines applications for mobile devices that use Apple’s iOS operating system that are consistent with the goals and standards of their company or client. They need to have a strong understanding of iOS and how it works with different Apple devices such as the iPhone, iPad, Apple Watch and Apple TV, and be able to adapt their applications to their firm’s or client’s requirements.
SEE: All of TechRepublic’s cheat sheets and smart person’s guides
Why is there increased demand for iOS developers?
While Android holds more of a global market share, Apple now has 1 billion iPhones in use—all of which run on iOS, therefore, demand for iOS developers who can create apps for these devices that are sold in the Apple App Store has exploded in recent years. The App Store has 1.96 million apps as of 2021, and Mobile apps are expected to generate over $935 billion in revenue by 2023. The average smartphone owner uses 10 apps per day and 30 apps each month.
SEE: Job description: iOS developer (TechRepublic Premium)
Mobile developers are among the top 10 most in-demand tech jobs, according to data from CIO magazine. The U.S. Bureau of Labor and Statistics predicts that app developer jobs will grow 22% between 2019 and 2029.
What are the best programming languages to learn?
iOS developers most commonly program in Swift and Objective-C.
Swift is a general-purpose compiled coding language released by Apple in 2014. It offers better type safety, security, and performance than Objective-C, according to TechRepublic contributing writer Cory Bohon. Swift is used for developing for iOS, macOS, watchOS, tvOS and Linux. Apps built with Swift can be run on iOS devices dating back to iOS 7 or later, and OS X devices dating back to OS X 10.9 or later.
Bohon also noted that Swift is interoperable with Objective-C, which is a general-purpose, object-oriented programming language based on C that added OOP paradigms to the language through object messaging. Objective-C was the main programming language used by Apple for iOS before Swift was introduced. Since it has been around since 1984, Objective-C still represents a significant proportion of Apple’s code base. Swift and Objective-C were listed as No. 19 and 20, respectively, on the TIOBE index for March 2021. Upwork listed Objective-C as the top-paying programming language by the hour for freelancers in September 2020.
While Apple hasn’t announced plans to sunset the Objective-C language (in fact, Apple is still updating it), Swift is rapidly overtaking Objective-C to become more popular on Apple’s platforms for app development, Bohon said. Objective-C likely still has a long life, as Apple has yet to update its own Frameworks to be written in Swift. Until Swift 3.0, Apple will not be including the Swift runtime on iOS or OS X, leaving Xcode to package together the runtime into the iOS or OS X app to ensure binary compatibility.
At WWDC 2019 in June, Apple announced a new framework for its Swift programming language: SwiftUI. SwiftUI is built in Swift, for Swift, and makes code easier to write and understand. It is designed to help developers build better apps with far less code, and will be available in fall 2019, executives said.
What other skills are required to become an iOS developer?
Besides learning Swift and Objective-C, people who want to become iOS developers should learn the following skills to prepare for a developer job, according to Udacity.
- Spatial reasoning: Successful iOS developers must be able to think in 3D and visualize the spatial relations between objects when designing apps for users; this means understanding the types of controls and inputs that are available for the different platforms, as well as who your users are.
- Design guidelines: iOS apps must be intuitive for users and adhere to strict design guidelines. Developers need to learn how to create Model-View-Controller (MVC), delegate patterns, and notifications.
- Core Data: This is the framework for storing data on Apple devices—an important part of almost any app.
- Grand Central Dispatch (GCD): This is what allows developers to add concurrency to apps, making it possible to run multiple tasks at the same time without slowing down performance.
- Git and GitHub: The platforms Git and GitHub help with version control for longer projects and team projects.
Upwork also recommends that iOS developers learn Apple’s Xcode IDE, frameworks and APIs like Foundation, UIKit, and CocoaTouch, UI and UX design, Apple Human Interface Guidelines, 2D and 3D graphics frameworks like SpriteKit and SceneKit, OpenGL or Metal and iOS graphics APIs.
Zippia suggests you learn Android, SDK and more.
SEE: How to launch a successful developer career (TechRepublic Premium)
What is the average iOS developer salary?
Average reported annual salaries for iOS developers in the U.S. differ based on different websites: Glassdoor puts the average at $94,360, while Indeed says it’s $119,585 per year. As you might expect, salaries are higher in large tech hubs such as San Francisco and New York City, according to Dice, while ZipRecruiter says Hawaii, Massachusetts and Rhode Island are the states with jobs paying the highest salaries.
What are some typical iOS developer interview questions?
iOS developers can expect questions like these during a developer job interview.
- Why do you develop for iOS?
- Do you own an iPhone or other Apple products?
- What three things make a great mobile app?
- Describe an interesting project you’re involved with currently. Why are you excited about it?
- What is your process for gaining insights into what your users want and need?
- Can you describe a project where you were under significant deadline pressure? How did you approach that project?
SEE: Interviewing guidelines policy (TechRepublic Premium)
While it’s important to prepare for the questions you might be asked by the employer as a developer job candidate, it’s also key to know what questions you will ask them. Some questions might include:
- How will my performance be measured?
- What are the biggest challenges facing the team right now?
- Can you tell me about the members of the team that I would be joining?
- Is there room for growth?
Where can I find resources for a career in iOS development?
There are different paths into a career as an iOS developer, and the skills or degrees required typically depend on the job.
Learning the programming languages Swift and Objective-C are necessities. You will need a Mac, and if you’re developing for iOS, watchOS, or tvOS, you’ll need one of those devices as well, Bohon noted. You can download and install Xcode, and then the Objective-C and Swift compiler (LLVM) will be installed on your Mac. Opening Xcode will present options for beginning projects in either Swift or Objective-C.
SEE: 20 best resources for learning how to code (TechRepublic)
About 72% of professional developers have a degree in computer science or another engineering discipline, according to Stack Overflow’s 2020 Developer Survey. However, degrees are increasingly not necessary to advance in the development field, due to a shortage of developers in many areas and the rise of coding schools.
Some 87% of developers said they have taught themselves a new language, framework, or tool without taking a formal course, while 60% said they had taken an online course in programming or software development, like a massive open online course (MooC), Stack Overflow found in 2019.
No matter your education background, it’s key to have a portfolio of your work to show employers whether you are working in iOS or any other type of development. “The reality of getting hired as a developer is that it’s way easier to get hired if you show the company what you have done,” Nick Larsen, a data engineer at Stack Overflow, is quoted as saying in a blog post. “A portfolio of projects and products you have made credible contributions to is worth more than years of experience or schooling.”
Editor’s note: This article has been updated to reflect the latest information.