As more companies adopt a mobile-first approach, iOS developers 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.
- 15 books every programmer should read (free PDF) (TechRepublic)
- Apple iOS 14: A cheat sheetApple iOS 12: Cheat sheet (TechRepublic)
- Apple Watch Series 6: A cheat sheetApple Watch Series 4: Cheat sheet (TechRepublic)
- Apple iOS 12: Cheat sheet (TechRepublic)
- Apple Watch Series 4: Cheat sheet (TechRepublic)
- Best Mac apps in 2021: Antivirus, security, and productivity (ZDNet)
- Get more must-read Apple coverage (TechRepublic on Flipboard)
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.
- Getting started with iOS development (free PDF) (TechRepublic)
- Free ebook: Executive’s guide to Apple in the enterprise (TechRepublic)
- Stack Overflow developers: We didn’t always follow coding best practices, and you don’t have to either (TechRepublic)
- iOS 15: The top 3 features Apple should include (TechRepublic)
- Coding is now the fastest-growing profession. But it’s not all good news (TechRepublic)
- iOS 14 tips and tricks: Six useful Settings app features (ZDNet)
- Over 80 percent of iPhones running iOS 14 (ZDNet)
- iPhone and iPad apps are sucking gigabytes of space (ZDNet)
- Apple’s five worst moments of 2020 (TechRepublic)
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.
- 20 programming languages that are attracting the most new learners (free PDF) (TechRepublic)
- Learning to code? Why going fast might mean going wrong (TechRepublic)
- Top 5 programming languages mobile app developers should learn (TechRepublic)
- From prison to programming: How coding can help inmates find a path out of crime (TechRepublic)
- Top programming languages: C reigns supreme but third-ranked Python gains on Java (TechRepublic)
- How to learn programming: 3 languages to get you started (TechRepublic)
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.
- The Apple Developer Program: What professionals need to know (TechRepublic)
- How to break into the mobile app business with little cash and no programming skill (ZDNet)
- Top programming languages: Python reigns supreme and COBOL sees a pandemic boost (TechRepublic)
- Apple’s Health Records API opens up to developers (ZDNet)
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.
- Special report: IT jobs in 2020: A leader’s guide (free PDF) (TechRepublic)
- App developers: Design for one-handed usage of mobile devices (TechRepublic)
- Objective-C, Golang, and Windows PowerShell lead list of 15 highest-paying programming languages (TechRepublic)
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?
- Interview questions: iOS developer (TechRepublic Premium)
- 10 questions full stack developers should expect in a job interview (TechRepublic)
- The 10 most useful job sites and what they offer (TechRepublic)
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.”
- Swift Programming from Scratch: Interactive Learning Platform (TechRepublic Academy)
- iBook: The Swift Programming Language (Apple)
- iBook: Using Swift with Cocoa and Objective-C (Apple)
- Swift Developer Documentation (Apple)
- How to use Apple’s Swift REPL from the Terminal (TechRepublic)
- How to create and use arrays in Apple’s Swift programming language (TechRepublic)
- Coding school graduates: Are they worth hiring? (TechRepublic)
- 3 tips to spot a fraud coding bootcamp and choose the right one (TechRepublic)
- Top 10 programming languages developers want to learn in 2019 (TechRepublic)
- Veterans: Here’s which coding bootcamps will accept your GI Bill (TechRepublic)
- 3 iOS apps for learning to code in bite-size lessons (TechRepublic)
- How Google’s Grasshopper app can help professionals learn to code for free (TechRepublic)
- Visit Swift Playgrounds, Apple’s programming app for iPad (pictures) (CNET)
- Programming Languages and Developer Career Resources (TechRepublic on Flipboard)
Editor’s note: This article has been updated to reflect the latest information.
Become an iOS developer with these TechRepublic Academy courses: