Screen iOS developer skills
Mobile app developers are hard to come by, particularly if you are trying to build an app for iOS. It is up to you to go out and find the best iOS developers to build your mobile app. But that can be a daunting task. The iOS developer skills that a mobile developer needs aren’t the same as you know your run-of-the-mill Java developer.
This causes a problem for most technical recruiters. Most of them just don’t have the experience to really be able to tell if the iOS developer they’re recruiting has the right iOS developer skills or not. I mean you don’t want to end up with a large group of candidates you need to interview. That would lead to hours and hours of technical interviews that your IT team just simply don’t have time for right now.
What do I need to know to screen iOS developer skills?
Luckily for you, we’ve prepared all the information you need to effectively screen iOS developer skills. Partnering with a seasoned iOS app development company enhances your team’s technical capabilities. By the end of the guide, you should be able to walk the walk and talk the talk when it comes to interviewing and screening iOS developers. You’ll be able to ask the right questions, understand the lingo, and decipher the CV of a great iOS Developer. Most importantly, you’ll find out what kinds of tests you can use to screen your iOS candidates so that you only invite the best ones to interviews. But before all that, it is important to learn the basics.
1. What is iOS?
iOS is the operating system that Apple developed to power its ubiquitous iPhone. Not content to only dominate the phone market, Apple has used its operating system to power a number of other devices including the iPad, Apple watch, and Apple TV. So if you hire an iOS developer, will they be coding in iOS? Well not exactly.
When you talk about an iOS Developer, you’re actually talking about a developer who uses one or both of the languages which are proprietary to iOS. Starting in 2008, Apple released its own proprietary programming language, Objective-C to be used for the iOS. That was joined four years ago by Swift. While these are the only two languages available for iOS, you can also use these languages to develop software for macOS as well. But even if they can be used for both operating systems, they are a bit different in some key ways.
- Objective-C is reflective, class-based, and object-oriented
- Swift is multi-paradigm, protocol-oriented, object-oriented, functional, imperative, and block structured
Swift borrowed its general language ideas heavily from Objective-C along with JavaScript, Ruby, and Python. It is also much more convenient than Objective-C, mostly because it’s type safe. This has meant that it’s become easier to start learning iOS programming and improve the safety and stability of applications.
What you’ll find is that while there are a number of legacy systems which use Objective-C, Swift has mostly taken over as the programming language of choice for iOS. The learning curve for writing safe, bug-free code is a bit steeper with Swift that it was for Objective-C. That said, once developers master Swift, the practice of writing safe, bug-free code is actually easier than it was with Objective-C. Swift uses the same runtime environment and SDK as Objective-C. This means that it is fully backward compatible with the entire iOS tech stack as well as new Swift only tools.
2. What is important for a recruiter to know about iOS
You’ll find that the iOS environment changes on regular basis. There’s usually a major update once a year which informs the languages that are used as well as the direction of development. They are usually announced at WWDC or the World Wide Developers Conference. This is the biggest event in the worlds for iOS developers with all new iOS technologies announced in the keynote. Any recruiter who is looking for iOS developers should take note of what is announced here to stay atop of the latest iOS technologies.
The two most important libraries that all iOS developers must know are UIKit and Foundation. An iOS developer simply can’t build any apps without these so it is mandatory that the developer can use these tools. In addition, to the Apple-supported tools, there are a huge number of open source libraries and frameworks that iOS developers can draw on to build their software.
3. How to verify iOS developer skills in the screening phase
3.1. Technical screening of iOS developer skills based on a CV
Probably the most valuable thing an iOS developer’s CV can tell you about is the types of projects that the candidate engages in. These can include essential functions like Bluetooth, local databases, and working with location services. Obviously, a huge plus would be if they’ve developed an app. Any app can be checked by going to the iOS app store.
Building apps isn’t the only useful experience to look for on your candidate’s CV. Experience with other languages, especially C++ is great to see. It is also good to see that the candidate has worked with a specific platform such as Apple Watch or Apple TV. Because of the nature of the platform, you want to see knowledge of unit testing and the App Store submission process. Finally, you want to see experience with the continuous-integration setup.
While it’s pretty straightforward to screen a CV, sometimes the vocabulary a recruiter needs to understand what’s on an iOS developer’s CV can be confusing. To help you out, we’ve come up with a glossary that you can use to understand the most important iOS developer skills.
3.2 iOS developer skills glossary for technical recruiters
Languages | Swift, Objective-C |
General | GCD, Operational Queue, Push Notifications, Awareness in code signing, |
Database | Sqlite, CoreData, Realm |
UI | UIKit, Core Animation, Autolayout, Size Classes, SnapKit |
Specific frameworks (all work in both Objective-C and Swift) | Core Location, MapKit, AVFoundation, StoreKit, Extensions, AddressBook, EventKit, CAllKit, SiriKit, Core Bluetooth |
3.3 More information about iOS that would be useful for a recruiter to know
New features have been added to each new version of iOS. And as features are added, new frameworks are developed to interact with them (SiriKit, CallKit, WatchKit, and MapKit).
Beyond that, the different versions of the operating system are basically the same with only the addition of new extensions.
The most common iOS technology names that are used interchangeably
CoreData and SQLite can be used interchangeably
How close respective versions of iOS technologies are to each other:
All of the versions of Swift that are available are similar to each other. Of course, the language has gone through multiple iterations from 1.0 to 4.2. And each of these has introduced their own specific changes. However, if someone has experience with three they should have no problems using the latest version.
4. iOS developer skills: interview questions
The interview is an important time to get to know the kinds of problems your candidate has faced and their approach to solving problems. It can’t replace a tech screen but it can inform your decision.
4.1 Platform experience questions for an iOS developer
Q1: Pick some technologies from the candidate’s CV and ask the candidate to explain what they are and how they are used.
Why you should ask Q1: Just to check their awareness of the technologies they mentioned.
Q2: Ask the candidate to describe the most interesting project they have taken part in and what their role in the project was.
Why you should ask Q2: To check how complex and varied the projects have been that the developer has experienced and what their role was (developer, lead developer, architect).
4.2 An iOS developer’s skills: knowledge and opinions
Q3: Ask the candidate to compare Swift and Objective-C.
Why you should ask Q3: It gives an understanding of how experienced the developer is, and whether they have worked with Objective-C or not. In most cases, knowing Swift isn’t enough. Even at the junior level, an iOS candidate needs to be able to understand and use both Objective-C and Swift.
Q4: Which iOS technologies are in wide use now, and which may become popular in the future?
Why you should ask Q4: It tells you if the candidate has the ability to analyze and predict trends the IT market and industry, based on iOS developer skills.
Q5: How can you avoid memory leaks?
Why you should ask Q5: You will see if the candidate is conscious of potential problems while using strong/weak references. Keep in mind that blocks and closures can keep a strong link to an object.
4.3 Behavioral questions for an iOS developer
Q6: Have you had experience tutoring and mentoring someone in Swift?
Why you should ask Q6: Check if the developer is able to do be a good mentor for newcomers.
Q7: Ask which of the candidate’s solutions and projects they are most proud of?
Why you should ask Q7: This will help you check the complexity level of tasks in previous projects
5. Technical screening of iOS skills with an online coding test
CV screens and interviews can be helpful to hire iOS developer but they can’t actually tell you whether your candidate has the right iOS skills. What you really need them to do is some actual software development. This can be a problem if done the wrong way because candidates have a limited amount of time and patience to do a coding project. An online coding test can be a good solution. But how do you know which one to choose? The right one should have a few key features.
- It involves the types of tasks that the candidate will actually be doing once they are hired (and real iOS developer skills they’ll need to do so)
- It should cover both the technology and tech stack they’ll be working in
- It should be as close to the natural development process as possible – This means:
- The candidate should have access to their own IDE
- They should be able to use all of the resources that they normally would at work including libraries, frameworks, Stack Overflow, and even Google
- It should test coding skills but also business logic
- It should illuminate the kind of coding decisions that the candidate makes
- It should be easy to take from anywhere to avoid unnecessarily hassling the candidate
Unfortunately, most online coding tests fall short of these requirements. Algorithm tests can tell you if the candidate can code but they can’t tell you how well the candidate knows the environment, the decisions they make, and the business logic they use. In essence, they don’t do iOS developer skills justice. They are also a pretty unnatural way of writing code. The result is they turn off a lot of developers who don’t feel that they can accurately represent their skills this way. These developers risk dropping out of your recruitment pipeline.
The work sample tests on DevSkiller solve these problems. On DevSkiller, your iOS developers will be asked to build a real feature or small application for iOS. The tests can be taken from anywhere in the world and represent a natural programming environment. You can check out the various iOS tests in both Objective-C and Swift from our catalogo dei test di codifica.
6. DevSkiller ready-to-use online iOS developer skills assessment
- Competenze testate
- Durata
- 74 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Lacune nel codice
valutare la conoscenza di Swift, iOS
Attività di programmazione - Livello: Difficile
iOS | Swift | Nerd Airlines App - Build an app that is used to find the cheapest route between two given destinations. Implement a graph traversing mechanism to find the cheapest route by filling out the appropriate methods, implement a generic caching mechanism for the given two easter eggs of the app.
- Competenze testate
- Durata
- 76 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Lacune nel codice
valutare la conoscenza di Swift, iOS, MacOS
Attività di programmazione - Livello: Difficile
iOS | Swift | Nerd Airlines App - Build an app that is used to find the cheapest route between two given destinations. Implement a graph traversing mechanism to find the cheapest route by filling out the appropriate methods, implement a generic caching mechanism for the given two easter eggs of the app.
- Competenze testate
- Durata
- 38 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Attività di programmazione - Livello: Medio
iOS | Swift | Notepad App - Complete simple notes aplication using provided NotesService to save and read notes.
- Competenze testate
- Durata
- 77 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Attività di programmazione - Livello: Difficile
iOS | Swift | NSA Cipher Tool - Solve the 3 cryptographic puzzles to take the dream position as a programmer in the NSA.
- Competenze testate
- Durata
- 45 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Attività di programmazione - Livello: Facile
iOS | Swift | Enigma App - Build an app that encrypts and decrypts text.
- Competenze testate
- Durata
- 48 minuti al massimo.
- Valutazione
- Manuale
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Lacune nel codice
valutare la conoscenza di Swift, Unicode, iOS
Compito di revisione del codice - Livello: Medio
iOS | Swift | BookDataAnalyst - Please perform a code review of this code. Pay attention to the quality and compliance with the best practices.
- Competenze testate
- Durata
- 62 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Attività di programmazione - Livello: Medio
iOS | Swift | Enigma App - Build an app that encrypts and decrypts the text.
- Competenze testate
- Durata
- 126 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di iOS, Swift
Attività di programmazione - Livello: Medio
iOS | Swift | Book Keeper App - Initialize the Core Data Stack, including saving and generic item fetching and implement additional functionality by filling out the missing methods and fixing the UI functionality.
- Competenze testate
- Durata
- 165 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di Swift, iOS
Attività di programmazione - Livello: Difficile
iOS | Swift | Book Keeper App - Initialize the Core Data Stack to work concurrently, including saving on a background thread and generic item fetching on the main thread; implement additional functionality by filling out the missing methods and fixing the UI functionality so that a user would be able to add or edit Company items and Invoices; implement the search functionality in both views. Lastly, he will need to limit the textField entry appropriately in order to pass the tests.
- Competenze testate
- Durata
- 55 minuti al massimo.
- Valutazione
- Automatico
- Panoramica del test
-
Domande a scelta
valutare la conoscenza di iOS, Swift
Attività di programmazione - Livello: Facile
IOS | Swift | Weather App - Build an app which analyzes weather data received from a weather service backend. The candidate must read the JSON file provided, create a data model, parse it and fill out the missing functions to retrieve the required weather conditions from the model.