DEV Community

Artem Poluektov
Artem Poluektov

Posted on

iOS development for beginners. Part 3: preparing for the interview

In the final part of this tutorial, I’m going to guide you on how to prepare for your first interview for a junior developer position. As I mentioned in this article, I attended hundreds of interviews over my career on both roles. I started my career of iOS developer about 10 years ago, for sure, requirements are a bit higher today, but if you would prepare well, you’ll make it. Few times I even hired guys with minimal experience when I had only middle-level positions. How did it happen? They proved that they’re smart and would get things done. Check this article to get to know what to do and what to expect.

The necessary knowledges

Before attending an interview, make sure that you’re ready. Below I would provide you with a short checklist of most important areas of usual discussion.

Swift language features

As I mentioned in the first part of this tutorial, Swift is #1 choice for iOS App Development. And you need to know how to use it. Here is a list of the most important things you should be able to write even on a paper:

  • Creating a variable, understanding let/var difference
  • Understanding how Optionals work, if let condition
  • Weak references, some basic memory management knowledge would be a good addition also
  • Working with arrays and dictionaries (create, count, insert, delete)
  • Working with strings (create, count symbols, add substring)
  • Creating your own structs, classes, and methods
  • If..else and switch..case conditions
  • For cycles

Xcode

Xcode provides you a very user-friendly interface, so, it’s easy to learn how to use it. You should be able to:

  • Create a new project and add a third-part dependency
  • Run your app on iOS simulator and on device
  • Debug your app (understand what’s wrong using console output)
  • Submit your app to the App Store

UIKit

UIKit framework is a core part of iOS SDK. It contains UI components and controls. You should be able to:

  • Create navigation model for your app (UINavigationController, UITabBarController, UISplitViewController)
  • Understand the difference between modal presentation of new ViewController and UINavigationController push/pop mechanics
  • Create a new ViewController both in code and in Storyboard Editor
  • Understand the difference between UITableViewController, UICollectionViewController and UIViewController
  • Understand reusable cells mechanics of UITableViewController and UICollectionViewController
  • Use Auto-Layout constraints to build a user interface
  • Use UIAppearance proxy to customize colors of your app (in code)

iOS SDK

iOS SDK consists of dozens of frameworks with thousands of methods. Nobody can know them all. And you don’t need it too. All you need is to get and experience using a few of them and know where to find documentation for others. Here’s a list of most commonly used frameworks:

  • Foundation (base layer of functionality, networking, data structures such as arrays, dictionaries, strings, etc.)
  • UIKit (user interface)
  • MapKit
  • CoreLocation (GPS & accessing user’s location)
  • CoreData (local database, I prefer Realm)
  • UserNotifications
  • LocalAuthentication (TouchID, FaceID)
  • GCD (multithreading) is also good to know, at least you should be familiar with async and asyncAfter, main and background queues, you’ll find more information in this article I recommend you to use some features of each of these frameworks in your home projects.

3rd part libraries

Sure, every team has its own list of libraries to use, but you should be able to discuss some most common you used in your pet projects. For your interview, I think, only Alamofire is necessary. Don’t forget to include all libraries you use into your CV, and be ready to explain your choice.

Building your CV

The first significant step is to pass the screening stage and get an appointment for the interview. On this stage recruiter or HR specialist evaluates your CV on being either appropriate or not for an open position they have. The well-prepared CV would help you to pass this stage successfully. The good CV contains this information in 1 (one) page:

  • Your name and your current location
  • Desired job title (usually it would be Junior iOS developer)
  • Your education, major fields of study and graduation status
  • Work experience

Company doesn’t need to know your home address, city or state would be well enough to understand whether or not you’re located in the same area as the company’s office. Job title is another good addition to make sure your CV would not get lost.

If you’re still a student, make sure to mention that and point that you would need a flexible schedule or part-time employment. Usually, you would get much more options after graduation, because the most of employers looking for full-time developers. However, working full-time with a flexible schedule is very common.

If you do have a work experience not relative to the desired job, there is no need to mention that in your CV. For example, if you developed and maintained a website for your university’s department, and you’re looking for an iOS developer job, it’s still would be a good addition to your CV. However, working as a barista at a coffee shop wouldn’t help you. What you really could do is stating that you’d been an Independent Developer and now have 2 apps published in the App Store.

In the work experience section you should also mention:

  • Your completed projects (with links to App Store)
  • Your technology stack

Provided list of completed apps would help you to show the employer that you have some experience, able to write code and getting the project to release. Having developed at least 2 different apps would definitely increase the number of interview invitations and also would positively affect your initial salary.

It’s also very important to provide a list of technologies you’re familiar with. Usually, it’s better to add only those which you had used in your apps because you would need to discuss your decisions on libraries usage. Here is an example of a technology stack description:

Swift
Xcode, App Store Connect
iOS SDK: UIKit, Foundation, CoreLocation, TouchID/FaceID, GCD
Libraries: Alamofire, Realm, SwiftyJSON
Enter fullscreen mode Exit fullscreen mode

Don’t forget to do a research

Before sending a CV, make your research on your future employer.

  • Check the company’s website, App Store, Google Play profiles to get to know about products/projects they’re working on.
  • Ask yourself why do you want to work for this company.
  • Try finding other opened jobs to compare salary levels with other companies.
  • If the company is located in a different area, check the costs of living in that place.

After completing your research, you should understand your motivation of joining this company and the salary level which would be comfortable for you. Be ready to answer those questions on the interview. Many guys don’t have specific numbers on their mind when I’m asking them for it. So, they’re asking me to offer them something and then they would think about my offer. That’s not how things work.

Prepare your story

After evaluating your knowledge and completing your CV, you should prepare for the phone interview. It usually lasts for 10–15 minutes and is intended to check your background, previous projects, motivation. The on-site interview usually starts with the same discussion. To succeed in this step you need to prepare your story. Sometimes it could be useful even to write it down. The sample structure of introduction speech could be:

  • Education, why did you choose your school, profession
  • Why did you decide to become a developer
  • What have you done to begin your developer’s career
  • Completed projects

It’s important to show your motivation to work and willing to learn. Think about how you’d choose between two companies and highlight 3–5 things that most important for you. Don’t wait to be asked for that, it’s usually better to finish your story with that.
I’m usually looking for guys who are interested in:

  • Building amazing product
  • Developing his/her skills
  • Working with a great team
    And not for people who:

  • Seeking a job closer to home

  • Want to get lunch compensation

  • Looking only for a bigger salary

You’ll make it!

It wouldn’t be easy. You may have to attend a dozen interviews before getting your first job offer. Remember to make your choice carefully. It’s usually better to choose between 2 offers instead of signing in the first one you would receive. Do not expect to win from the first shot. Continue trying. You’ll make it!

Top comments (0)