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 developers who build apps for Apple devices are in high demand, with talent shortages leading to large salaries 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 (Tech Pro Research)
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.
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 12: Cheat sheet (TechRepublic)
- Apple Watch Series 4: Cheat sheet (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- 10 years as an iOS dev: One developer's take on a decade with the iPhone (TechRepublic)
- The iPhone's 21 most important apps of the decade (TechRepublic)
- iPhone XS: A cheat sheet for professionals (TechRepublic)
Why is there increased demand for iOS developers?
While Android holds more of a global market share, Apple now has 1.3 billion active devices—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 is predicted to reach 5 million apps by 2020, according to a Sensor Tower report.
SEE: Job description: iOS developer (Tech Pro Research)
Mobile developers are among the top 10 most in-demand and hardest to fill tech jobs, according to data from Indeed. The US Bureau of Labor and Statistics predicts that application developer jobs will grow 31% between 2016 and 2026.
- iOS apps on Mac: What business pros need to know (TechRepublic)
- Want a developer job? Time to learn Apple's Swift as demand skyrockets (ZDNet)
- The 10 hottest developer jobs of 2017 (TechRepublic)
- Free ebook: Executive's guide to Apple in the enterprise (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 (OOP) 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.
- 20 programming languages that are attracting the most new learners (free PDF) (TechRepublic)
- Apple's Swift and Swift 2 explained: What it is and what it means (CNET)
- Which programming languages pay best, most popular? Developers' top choices (ZDNet)
- The 10 coding languages top developers plan to learn next (TechRepublic)
- The 5 worst programming languages to learn in 2018 (TechRepublic)
- Programming languages: Python is hottest, but Go and Swift are rising (ZDNet)
- After Apple open sources it, IBM puts Swift programming in the cloud (ZDNet)
- Which programming languages are most popular (and what does that even mean)? (ZDNet)
- The 10 programming languages developers use most with Node.js (TechRepublic)
- The death of Ruby? Developers should learn these languages instead (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, 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.
- iOS 11 SDK: The 7 features Apple developers must know (TechRepublic)
- How to break into the mobile app business with little cash and no programming skill (ZDNet)
- Apple's Swift Playgrounds will make robots and drones dance (CNET)
- How to use the Swift Playgrounds iPad app to code on the go (TechRepublic)
- Apple's Everyone Can Code initiative brings Swift curriculum and iPads to schools (TechRepublic)
- Apple's Health Records API opens up to developers (ZDNet)
SEE: IT jobs 2018: Hiring priorities, growth areas, and strategies to fill open roles (Tech Pro Research)
What is the average iOS developer salary?
Average reported annual salaries for iOS developers in the US differ based on different websites: Glassdoor puts the average at $101,014, while Indeed says it's $110,463 per year. As you might expect, salaries are higher in large tech hubs such as San Francisco and New York City, according to Dice.
- Special report: IT jobs in 2020: A leader's guide (free PDF) (TechRepublic)
- Five highly-paid and in-demand programming languages to learn in 2018 (TechRepublic)
- The 10 best tech jobs in America for 2018 (TechRepublic)
- The 8 highest paid and most in-demand tech jobs in America in 2018 (TechRepublic)
- The 10 best tech jobs that pay the highest salaries (TechRepublic)
What are some typical iOS developer interview questions?
iOS developers can expect questions like these during a 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 (Tech Pro Research)
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 (Tech Pro Research)
- 10 questions full stack developers should expect in a job interview (TechRepublic)
- The 10 most useful job sites and what they offer (TechRepublic)
- The best job-search apps to boost your career (Download.com)
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 73% of professional developers have a degree in computer science or another engineering discipline, according to Stack Overflow. 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 49% said they had taken an online course in programming or software development, like a massive open online course (MooC), Stack Overflow found.
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)
- Mobile developers: Here are the 3 certifications to consider in 2017 (TechRepublic)
- Apple gives free app development curriculum to schools (CNET)
- Coding school doubles the salary potential for high school grads (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)
- 10 free resources to help you learn to code (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)