The iOS developer job market is competitive. Companies everywhere need developers and other technologists skilled in the intricacies of building apps for Apple’s mobile ecosystem, and they want to hire the best. It takes time and effort to build a great iOS developer resume—but that’s only part of the process. How can you push past the interviewing stage and score a great job offer?
We spoke with several experts to dive into the skills—technical and otherwise—you’ll need to master if you want to turn an interview opportunity with a company into a great job building for iOS.
Show You Can Work with Apple
“Apple has extremely strict quality control expectations and processes for apps to be accepted into the App Store,” says Damien Fillatrault, founder and CEO at Scalable Path. “Often, you’ll want to look for developers that have experience deploying to the App Store, as this is often a significant advantage that streamlines the launch cycle.”
Nikola Bosić, VP of engineering at Pumble, says iOS developers “need to keep up to date with the Apple ecosystem—to keep track of what’s happening with iOS, macOS, and other platforms, which novelties are coming, and to adjust to what Apple does.”
Dave Lane, CSO at Twin Sun Solutions, adds: “Knowledge of App Store submission guidelines is critical. Especially for apps that deal with in-app purchases or subscriptions, iOS developers need to be aware of what they can and cannot do within the app that might lead to an App Store rejection.”
Get A Grip on Multiple Languages
Fillatrault reminds us that iOS developers still need a foundation in Objective-C, Apple’s longtime iOS development language, to be successful in today’s job market. On top of that, they must be proficient in Swift, Apple’s newer language (developed as an Objective-C replacement). Knowing both languages will allow you to maintain and update legacy apps written in Objective-C while embracing the future that Apple envisions for Swift-based software.
Our experts generally suggested that job seekers get very familiar with XCode if they’re not currently using it. Some hiring managers admit they have internal or ancillary IDEs in use, but XCode is where iOS developers spend most of their time.
Max Kalik, iOS engineer at Triumph Labs, adds: “Knowing the Swift programming language is crucial, but knowing any other language is important because that broadens the developer's professional outlook. The best combination, in my opinion, is Swift, Objective-C, and C. This set of languages will help iOS Developers solve many problems in almost all existing iOS projects today.”
Don’t Forget Design!
Lane tells Dice: “I look for iOS developers who have demonstrated they have some eye for design. I don't expect developers to do the job of a designer, but I do want to know that they have a general feel for what looks pleasant. Have they put some consideration into how people will interact with something they build? If they are given a nice design, can they implement it well?”
Aashima Gupta, senior iOS developer at Entrision, adds: “Although we typically have designers assisting in this, it’s very important for developers to understand who the audience is, how the app will be used, and what standard iOS experience looks like. For example, if the app user is going to be on the go, implement solutions to use less data and battery where possible.”
Master Security and Testing/Debugging
“Security has to be top of mind for everyone in today’s environment,” Gupta adds. “You are often connected to different networks and a lot of time to public open networks which don’t have any robust security. So, it becomes very important to secure the transmission and storage of user's data on the phone.”
Lane tells Dice: “Manual testing of the app is oftentimes limited to a simulator or single device, and often only performed with a debug build. iOS developers can avoid potential problems by testing every build they produce and ensuring that the builds work and look great on multiple devices.”
Fillatrault notes: “Many developers—including iOS developers—like to write the code, but don’t like writing tests for their own code. As a result, testing often gets overlooked. Mistakes happen. Code breaks. Without methodical and thorough testing, debugging can waste hours of your team’s time and create bottlenecks in release cycles.”
Communication Is Key
During the interview process—and on the job itself—“soft skills” such as empathy and communication are absolutely crucial. “Even if a candidate is great, if they lack communication skills, that can be a deal-breaker,” Bosic tells Dice. “For example, we have had candidates whose hard skills are impeccable, and they passed the test with flying colors. But we decided not to work with them because we don’t like the way they communicate — they would be argumentative or interrupt others, or we wouldn’t be able to get a word out of them.”
Come prepared to the interview with stories about how you used your communication skills to resolve conflicts, overcome challenges, and generally make your previous teams happier. Collaboration is always key. “A candidate can also be communicative but not be very good at two-way communication,” Bosic continues. “When these traits come up in interviews, they can be a deal-breaker. What good is a skilled candidate if we won’t be able to collaborate with them?”
Kalik adds: “One of the most important skills is the ability to listen to each other. To be informed of business requirements and quickly digest technical information. At the same time, it is super-useful to be a problem solver using arguments and transforming ideas into concepts using whiteboards or so. Also, a good iOS developer is supportive and can teach and learn from others.”
In addition to verbal communication, being able to convey your ideas in emails, documents, and presentations is likewise crucial. “Written communication is also a big deal,” Lane notes. “Most emails are either informational (e.g., providing a status update to a client), or are requests for information (e.g., asking for a stakeholder to make a decision). Too often, I'll read an email from a developer who needs something and not understand that they're asking me for something. Email requests should be clear, concise, and end with a question. Ending with a question will prompt the reader to reply with an answer. If you bury your request in the middle of a long email, it might be missed or forgotten.”