Своим опытом поделился старший iOS-разработчик Максим Нечаев, который управляет полным циклом производства приложения: от создания задач в трекере до выхода в продакшн с использованием CI/CD и аналитики.
Чем занимаются iOS-программисты?
В первую очередь, iOS разработчик — это специалист, который создает приложения под мобильную операционную систему iOS. Но есть и более широкое понимание этой профессии. iOS-разработчик создает не только мобильные приложения для мобильных телефонов iPhone, но и софт (приложения, сервисы) для всей продукции Apple. Зачастую, опытному разработчику не составит труда написать приложение как под iPhone, iPad, так и добавить туда Apple Watch и даже устранить вопросы совместимости с MacOS. Более того, в скором времени мы станем свидетелями релиза нового большого продукта от Apple — очков виртуальной и смешанной реальности Apple Vision Pro. Так вот, приложения для этих очков также смогут разрабатываться в классическом понимании iOS-разработки.
Если отойти от прямого программирования, опытные iOS-разработчики могут без дополнительных специалистов выходить на рынок приложений App Store, создать дизайн, продумать функциональности в приложении и подключить модули оплаты, то есть объединяют в себе работу программиста, дизайнера, маркетолога и продакт-менеджера. В больших компания эти позиции, конечно, всегда разделены, но в стартапах это нередкая практика.
Кому подходит профессия iOS developer?
Эта профессия подойдет всем, кому она интересна, и кто хочет стать iOS-разработчиком.
Если немного углубиться, то давайте сразу развеем мифы. Вам необязательно иметь профильное высшее образование для этой профессии. Если вы маркетолог, юрист, стоматолог или кассир — вы можете стать разработчиком. Это мое личное мнение и убеждение. Я никогда не разделял людей по способностям, а всегда разделяю их по мотивации и упорству. В целом, если вы читаете это интервью и у вас есть желание усердно учиться следующие 8-12 месяцев, а также готовность стартовать с зарплаты 30-60 тысяч рублей в месяц (что достаточно высоко, особенно для регионов РФ), то у вас все шансы добиться успеха в этом.
Однако многие рассматривают эту профессию только как способ получить большие деньги, без особого интереса к IT и разработке мобильных приложений, таким ребятам профессия скорее всего не подойдет. Без должного интереса, они обычно бросают начатое при первых трудностях (а их будет много, научитесь кайфовать от этого).
Должен также упомянуть о пороге вхождения. Есть определенный финансовый порог, как бы странно это ни звучало. Для старта обязательно иметь компьютер на MacOS, то есть iMac или Macbook. Я бы рекомендовал для старта любой на чипе M1, они достаточно мощные.
Что должен знать программист на iOS?
Достаточно много. Я не буду перечислять здесь названия технологий и фреймворков, но если все-таки хотите увидеть “большой список непонятных пока что слов”, то рекомендую пойти в Google с запросом “iOS developer road map”.
Давайте пройдемся по верхам. Вам необходимо понимать, как работают приложения. Что происходит, когда мы нажимаем на иконку приложения и почему видим первый экран. Как работать со структурами данных, и какие они есть в Swift (Swift — это язык программирования, на котором работают iOS-разработчики). Вам нужно будет понимать, как управлять памятью, какие есть сложности и крайние случаи, которые нужно всегда обрабатывать. Как работает многопоточность (когда срабатывают несколько процессов одновременно), например вы листаете ленту, загружаете данные и слушаете музыку и всё внутри одного приложения.
Из менее специфичных знаний мобильному разработчику важно понимать, что такое клиент-серверная разработка, зачем нужен Backend и что за формат данных JSON, которые перегоняются между приложением и сервером.
Ну и, конечно, важно не забывать про процессы разработки Agile, Scrum, Kanban.
В целом много всего, но если есть большое желание, то всё получится.
Востребованы ли разработчики iOS-приложений?
Конечно. Востребованность на очень высоком уровне. Диджитализация бизнеса раскручивается с каждым годом. Наверное, уже сложно представить, чтобы бизнес не присутствовал в онлайне. А если подумать, то вроде бы еще недавно не было ни TikTok, ни Instagram* (запрещенная в России соцсеть), ни ВК, ни YouTube, ни WhatsApp. Все это создано не так давно. В мире сотни и тысячи банков, сервисов, миллионы бизнесов. Тысячи стартапов. Каждый год наш онлайн мир растет с огромной скоростью. А мобильные телефоны — это именно тот девайс, с помощью которого большинство людей взаимодействуют в онлайн-формате.
Бум компьютеров уже позади. Если в 2005 мы пользовались только стационарными “ящиками”, чтобы посмотреть видео в интернете, то сейчас дети уже с 2-3 лет с телефонами и планшетами. Несложно догадаться, куда ведет тренд.
Какие перспективы в профессии у iOS-разработчика?
Перспектив много. Кто-то может выйти на хороший уровень дохода и жить в своем родном городке, ни в чем себе не отказывая. Кто-то может переехать в столицу (если еще не там), устроиться в так называемый “биг-тех”, в большие IT-корпорации — Яндекс, Ozon, Авито и другие. Сейчас их все больше, даже Сбер со своей экосистемой давно перестал быть только банком.
Можно перерасти в специалиста по AR/VR (дополненная и виртуальная реальность). Развиваться в этом направлении и далее уйти в разработку приложений под Apple Vision Pro.
Кому-то интересно создавать игры. Конечно же, iOS-разработчики могут делать и это. Для этого есть свои фреймворки (библиотеки кода).
Кто-то захочет путешествовать по миру и работать удаленно, пожить в Тайланде или Бали.
Кто-то захочет в Кремниевую долину работать в мировых гигантах или строить свои стартапы — отличная перспектива для iOS-разработчика.
Какой сейчас рынок приложений? Насколько конкурентный?
С первого взгляда рынок кажется конкурентным. Отчасти это так. Особенно на уровне Trainee, Junior и возможно Middle. Но всё меняется на более высоких Senior позициях. Здесь спрос велик и конкуренция сильно меньше.
Это еще один порог входа. Пробиться через сотни других новичков. Но действительно упорных ребят это не остановит. Большинство новичков не хотят разбираться, они проходят дорогостоящие курсы от именитых школ и идут с шаблонными резюме, которые отсеивают рекрутеры.
Как научиться создавать iOS приложения?
Здесь очень важно понять, что большие школы, которые обещают вам трудоустройство, не гарантируют результат. Новички платят им сотни тысяч рублей, сваливая груз ответственности на кураторов курсов. Естественно, так к результату никто не приходит. В любом случае придется трудиться, трудиться и еще раз трудиться. Простого пути не будет, никто знания в голову не положит. Начните свой путь с просмотра целевых видео на YouTube, например “как стать iOS разработчиком”. Не одно и не два, посмотрите 5-6 видео на русском языке, 2-3 на английском. Привыкайте быть дотошным до знаний и информации, это вам пригодится.
Я бы рекомендовал смотреть видео в YouTube и найти хорошего ментора. Вся ответственность будет на вас. Что-то не поняли? Вперед идти изучать. Что-то не получилось? Выписать выводы, улучшить, попробовать еще раз. Будете любознательными и дотошными — у вас всё получится.
*Соцсеть принадлежит компании Meta, признанной в России экстремистской организацией