Салават Ханов

Основатель сервиса блокировки рекламы 1Blocker.

Компания SuperJob назвала SuperJob назвал самые востребованные IT‑профессии в 2020 году мобильных разработчиков самыми востребованными IT‑специалистами на рынке в 2020 году. Если раньше iOS‑алгоритмы были менее доступны, то сейчас, благодаря появлению нового языка программирования Swift, работать с этой системой намного проще. Однако нужно знать не только технические термины и методы.

1. Относитесь к обучению правильно

Последовательный подход к обучению значительно повлияет на качество дальнейшей работы.

Получите фундаментальные знания

Распространённая ошибка среди начинающих программистов — сначала обрести специализированные знания, связанные с iOS‑разработкой, а затем уже переходить к базовым навыкам. В итоге специалист может потратить на обучение больше времени, чем необходимо, и совершить ряд ошибок.

Так что начните с освоения тех знаний, которые не зависят от области разработки. Изучите основы программирования, алгоритмы, архитектуру приложений и паттерны. Если вам будет удобнее осваивать их, делая разработку на Android, то так тому и быть. А вот после получения базовых знаний можно начать специализацию.

Изучите нужные языки программирования, инструменты и технологии

Советую освоить язык программирования Swift — безопасный, новый, относительно простой, позволяющий писать короткий код. Также следует знать Xcode — среду разработки для iOS. Именно в ней проходят написание кода, тестирование и автоматизация.

Также хочу посоветовать изучать SwiftUI, так как он позволяет создавать интерфейсы. Его преимущество в том, что он универсальный: разработанные элементы могут быть использованы на разных платформах (iOS, macOS, tvOS, watchOS). С помощью Auto Layout можно создавать интерфейс, который будет автоматически подстраиваться под заданные правила.

Большинство крупных компаний использует технологию Git, позволяющую нескольким программистам взаимодействовать в рамках одного проекта, так что её нужно знать обязательно. Зачастую в разработке применяют готовые графики, которые можно добавить в приложение через CocoaPods, так что стоит ознакомиться и с этим сервисом.

Изучайте новые для себя области

Когда вы уже и получили базовые знания, и вникли в архитектуру iOS‑приложений, всё равно не переставайте учиться. Чем глубже вы уходите в профессию, тем больше обнаруживается областей, в которых вы не разбираетесь.

Чтобы стать ценным специалистом, понадобятся навыки работы с удалённым API, JSON. Очень важно уметь применять Grand Central Dispatch. Также необходимо уметь работать с базой данных Core Data / Realm и досконально изучать официальную документацию Apple.

2. Играйте в шахматы

Для любого разработчика важно уметь мыслить логически и стратегически. Есть несколько игр, которые развивают «правильное» мышление. Одна из них — шахматы.

Хороший программист — это не тот, который выполняет таски и приходит за следующими, а тот, который знает цель и логически продумывает свои шаги на пути к ней. Когда компания нанимает специалиста, она хочет получить от него ответы, а не вопросы — шахматы помогут вам находить такие ответы.

Впрочем, если вы не любитель этой игры, можно выбрать другие, которые тоже учат думать на перспективу, — например, пошаговые стратегии.

Во многих технических задачах скрыто решение жизненных ситуаций или проблем — и наоборот. Главное — уметь видеть структуру. Так что даже регулярная уборка по методу Мари Кондо может помочь: если вы научитесь превращать хаос в порядок, вы станете хорошим программистом.

3. Делайте свои маленькие проекты

После различных курсов, которые будущие разработчики проходят для получения базовых знаний, часто не хватает именно практического опыта. Для его получения лучше всего подойдут собственные проекты: это бесплатно, порога входа нет, а в случае ошибки никто не пострадает.

Например, вы можете создать утилиту с использованием новых технологий, которые анонсировала Apple. Например, на основе новых виджетов в iOS 14 можно сделать свой виджет, который показывает баллы пробок или остаток на счёте в банке. Можно даже замахнуться на собственное приложение. Но начинать лучше с простого: to‑do‑менеджер, прогноз погоды, калькулятор, фильтры для фото, шагомер. Небольшой проект будет полезен не только для оттачивания навыков, но и для портфолио при трудоустройстве — так вы сразу сможете показать нанимателю, что вы умеете и как реализовали это на практике.

Помните, что главная цель ваших первых проектов — помочь вам расти как iOS‑разработчику. Успех приложения на рынке не так важен. Даже если что‑то будет идти не так, пробуйте ещё. Опыт ошибок даже ценнее положительного результата — так вы вырастете быстрее.

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

4. Успевайте за трендами

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

Следить за новшествами можно на Apple WWDC, Apple Developer Forums. Также для iOS‑разработчиков есть неофициальная рассылка. Она может быть очень полезной не только для молодого специалиста, но и для программиста со стажем.

Будущий iOS-разработчик найдёт много полезного в неофициальной рассылке

Ещё один совет, который я хочу дать, — учитесь у самих разработчиков Apple, знакомьтесь с их новыми приложениями и обновлениями, рассматривайте фишки, которые они внедряют. Если есть возможность, выходите на личный контакт с опытными iOS‑специалистами и задавайте им как можно больше вопросов по их практике, особенно в области последних технологий.

На мой взгляд, никакие курсы вроде «Новых трендов в iOS‑разработке» не дадут вам столько знаний и умений, сколько может дать собственное активное погружение в тему. Главное — проявлять интерес и не переставать учиться, а в интернете вы найдёте большое количество материалов, которые помогут вам в этом. Только не забывайте о том, что информация о мобильной разработке устаревает очень быстро: все статьи или курсы, которые были опубликованы более двух лет назад, можно считать неактуальными.