Что это простыми словами
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 за два года» — так не бывает. Каждый из этих инструментов — целая отдельная специальность.