Что это простыми словами

Mobile Developer iOS — это программист, который создаёт приложения для iPhone и iPad. То есть для вас и для меня: Telegram, Яндекс.Маркет, Сбербанк — всё это делают такие специалисты.

Аналогия: представьте, что вы открываете приложение на телефоне. Всё, что вы видите — кнопки, картинки, анимации, всплывающие окна — это работа мобильного разработчика iOS. А тем, что «за кулисами» (сервер, база данных, обработка платежей), занимаются другие инженеры.

Официальное определение

Теперь, когда суть понятна, вот как эту роль описывают в вакансиях. Такую формулировку вы будете получать от заказчика и видеть в резюме.

«Mobile Developer iOS — специалист, разрабатывающий нативные приложения для платформы Apple iOS на языке Swift с использованием инструментов разработки Apple».

Разберём по словам. «Нативное» — значит, специально для iOS, с доступом ко всем возможностям устройства (камера, GPS, уведомления). В противоположность этому есть «кроссплатформенные» приложения — один код работает и на iOS, и на Android, но без доступа к некоторым функциям. «Swift» — язык программирования, на котором пишут iOS-приложения.

Что делает за обычный день

Берёт задачу от менеджера — например, «сделать экран оплаты» — и превращает её в работающую часть приложения. Рисует кнопки, списки, формы; подключает их к данным; тестирует на реальном устройстве или эмуляторе (программа, которая имитирует iPhone на компьютере).

Также чинит баги — это ошибки, которые пользователи находят в готовом приложении, например «приложение вылетает при загрузке фото». И общается с дизайнерами, бэкенд-разработчиками и тестировщиками.

Из чего состоит направление

У любого iOS-разработчика есть три вещи, которые знают все:

  • Swift — основной язык программирования для iOS. Его придумала Apple специально для своих устройств. Если кандидат не знает Swift — он не iOS-разработчик.

  • SwiftUI или UIKit — инструменты для создания внешнего вида приложения (экранов, кнопок, списков). SwiftUI — новый подход, более удобный для старта. UIKit — старый, проверенный, на нём написано огромное количество приложений.

  • Xcode — официальная программа Apple для написания и сборки iOS-приложений. Аналог в мире Android — Android Studio. Без Xcode работать невозможно.

Почти всегда используются дополнительные библиотеки — готовые кусочки кода для конкретных задач. Например, Alamofire — для общения с сервером, или Kingfisher — для удобной загрузки картинок.

Инструменты простыми словами

Инструменты iOS-разработчика удобно разложить по четырём слоям — от самого важного при отборе к наименее важному.

Слой 1. Язык — фундамент, без него никуда.

  • Swift — основной язык iOS. Без него работа невозможна.

Слой 2. Фреймворки (UI-инструменты) — «школа», в которой человек работает. Это самое важное при отборе.

  • UIKit — старый, проверенный инструмент. На нём написано большинство существующих приложений. На уровне middle и выше ждут почти всегда.

  • SwiftUI — новый, более современный подход. Новые проекты всё чаще пишут на нём. Часто указывают в вакансиях вместе с UIKit.

Слой 3. Библиотеки — детали внутри фреймворка. Взаимозаменяемы, отбраковывать по ним не нужно.

  • Alamofire — для общения приложения с сервером (загрузка данных, отправка запросов).

  • Kingfisher — для удобной загрузки и кэширования картинок.

  • SnapKit — помощник для расстановки элементов на экране (альтернатива Auto Layout).

  • RxSwift — способ писать асинхронный код. Популярное решение, но уступает новому нативному подходу Swift Concurrency.

  • SwiftData, Core Data, Combine — хранение и управление данными: чтобы информация сохранялась при закрытии приложения.

Слой 4. Инструменты — не привязаны к фреймворку, осваиваются быстро.

  • Git — система контроля версий: сохраняет историю изменений кода, позволяет работать в команде.

  • CocoaPods, Swift Package Manager — «менеджеры пакетов»: позволяют добавлять сторонние библиотеки в проект.

  • TestFlight — способ отправить приложение на проверку реальным пользователям перед публикацией.

Что взаимозаменяемо, а что путать нельзя

UIKit и SwiftUI — это не разные версии одного инструмента, а два подхода к созданию интерфейса. Старые проекты часто на UIKit, новые — на SwiftUI. Переход требует переписывания значительной части кода.

А вот библиотеки (Alamofire, Kingfisher, SnapKit) взаимозаменяемы — кто работал с одним, второй освоит за считаные дни. Отбраковывать по конкретной библиотеке — ошибка.

Уровни: junior / middle / senior

Уровень (его ещё называют грейд, от англ. grade) — это не столько годы, сколько самостоятельность.

  • Junior (джуниор, «джун») — делает простые задачи под присмотром старших, нужен контроль.

  • Middle (мидл) — берёт задачу целиком и доводит до конца сам. Основная рабочая сила команды.

  • Senior (сеньор) — решает, как устроить проект, выбирает технологии и помогает младшим.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.

Как узнать роль в резюме

В резюме обычно есть раздел «стек» или «навыки» — это список технологий, которыми человек владеет. Ищите там Swift (обязательно) и UIKit или SwiftUI (одно из двух). Хороший признак — упомянутый App Store — значит, человек публиковал приложения, а не только писал код локально.

Что спросить на первичном скрининге

  • На каком UI-фреймворке работали — UIKit или SwiftUI — и сколько именно?

    Нормальный ответ: «Три года на UIKit, полгода на SwiftUI». Насторожить должно, если человек одинаково уверенно называет оба за короткий срок.

  • Использовали Swift Concurrency (async/await)?

    Нормальный ответ: «Да, в последних проектах полностью на async/await» или «Работал на RxSwift, сейчас осваиваю Swift Concurrency». Это важный маркер актуальности знаний.

  • Публиковали ли приложения в App Store?

    Нормальный ответ: «Да, вот ссылка» или «Да, прошли модерацию». Это показывает, что человек знаком с процессом публикации — а он непростой.

  • Расскажите про последний проект и вашу роль в нём.

    Нормальный ответ: человек понятно говорит, что делал именно он — «отвечал за корзину и оплату», а не размыто «участвовал в разработке».

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.

Частые путаницы и красные флаги

  • iOS ≠ Android ≠ кроссплатформа. iOS — только iPhone/iPad, Android — только телефоны Android, кроссплатформа (React Native, Flutter) — один код для обоих. Это разные специалисты.

  • Swift ≠ C++ ≠ Objective-C. Swift — современный язык Apple. Objective-C — старый, на нём ещё поддерживаются некоторые старые проекты. C++ — отдельный язык для системного программирования. Не путайте!

  • SwiftUI и UIKit — не конкуренты, а два подхода. Один проект может содержать оба. Кандидат с опытом только в одном из них — не повод отказать.

  • Красный флаг: «Swift, Kotlin, Flutter и React Native на уровне senior за два года» — так не бывает. Каждый из этих инструментов — целая отдельная специальность.