🍏 Карьерный гид от новичка до профи: дорожная карта iOS-разработчика
Поскольку бессистемные занятия редко дают результат, начинающие разработчики приложений для iOS должны составить индивидуальную учебную программу. Постараемся им в этом помочь.
Преимущества разработки для iOS во многом схожи с достоинствами других востребованных специализаций в программировании: высокая заработная плата, постоянная нехватка квалифицированных специалистов, возможность реализации творческого и карьерного потенциала.
Используя представленную дорожную карту, начинающий специалист сможет составить индивидуальный план обучения и следовать ему, чтобы стать настоящим профессионалом. Обратите внимание, что Roadmap посвящен исключительно технической стороне развития iOS-разработчика (т.н. hard skills).
1. Swift
Swift – основной язык программирования для iOS. Он достаточно молод, но успел полюбиться многим за простоту, читабельность и безопасность. Создатели Swift взяли все лучшее из Objective-C, C/C++ и Java. Обучение стоит начинать со знакомства со средой разработки Xcode, потому что большую часть времени вы будете проводить именно в ней. Далее все по классике: объектно-ориентированное программирование (ООП), знакомство с переменными, типами данных, операторами условий, циклами, классами, наследованием, исключениями. Структуры данных, алгоритмы и паттерны проектирования вынесены в отдельный блок, потому что эти темы займут значительную часть времени на изучение, и вопросы по ним задают практически на каждом собеседовании.
Продолжительность обучения: 6-8 месяцев.
2. Фреймворки
Когда вы поработаете со Swift, стоит познакомиться и с основными фреймворками. Фреймворк – это каркас будущего приложения, т.е. набор инструментов для ускорения разработки. Начать стоит со SwiftUI, поскольку это тоже обязательный пункт при трудоустройстве. Фреймворк используется для создания визуальной части приложения (полей ввода, таблиц, изображений и т.д.). Также рекомендуется изучить UIKit, как более зрелый написанный для Objective-C инструментарий.
Продолжительность обучения: 1 месяц.
3. Работа в сети
Ваша программа может взаимодействовать с другими внешними приложениями и сервисами, поэтому важно научиться работать с Rest API, принимать и отправлять JSON-объекты.
Продолжительность обучения: 2-3 недели.
4. Взаимодействие с БД
Важный навык любого разработчика – уметь обращаться к базе данных, чтобы получить, изменить, либо добавить в нее информацию. Для этого необходимо знать, как происходит подключение к БД, а также изучить основные команды CRUD (create, read, update, delete).
Продолжительность обучения: 2-3 недели.
5. Система контроля версий
Следующий обязательный навык – умение работать в команде. Для этого используется система контроля версий (version control system). Наиболее популярной из них является Git. Овладев ее базовыми командами, вы сможете вести параллельную разработку с коллегами, откатывать изменения, если обнаружился баг, а также предоставить рекрутерам код для оценки ваших навыков.
Продолжительность обучения: 2 недели.
6. Тестирование
Написание тестов – важный шаг при разработке приложения. Можно сказать, что качество вашего кода напрямую зависит от наличия (количества) тестовых сценариев. В техминимум входит модульное тестирование, охватывающее базовую функциональность программы (например, взаимодействие с контроллером), работу с UI и т.д. Если вы будете обладать навыком написания тестовых сценариев, это позволит вашему работодателю сэкономить время и деньги.
Продолжительность обучения: 1 неделя.
7. Многопоточность
Важнейшим навыком в профессиональном развитии разработчика является способность реализовать асинхронное выполнение задач. Вам предстоит ознакомиться с понятием потока, проблемами многопоточности (взаимная блокировка, состояние гонки, инверсия приоритетов), разобраться с библиотекой GCD для параллельного выполнения задач и Operation.
Продолжительность обучения: 1-2 месяца.
8. Работа с App Store
Умение работать с магазином приложений добавит еще один жирный плюс к вашим навыкам iOS-разработки. Желательно научиться не только алгоритму добавления в маркет, но и освоить коммуникацию с модераторами, следовать регламентам компании Apple.
Продолжительность обучения: 1 неделя.
Заключение
Представленная дорожная карта отражает только основные технологии, знание которых необходимо iOS-разработчику в 2021 году. Эта, как и большинство других в сфере ИТ, предполагает непрерывное самосовершенствование. Постоянно осваивайте новое, практикуйте его и внедряйте в работу. Успехов в обучении!
Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?
Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:
- Основы программирования на Python.
- Профессия Python-разработчик.
- Алгоритмы и структуры данных.
- Математика для Data Science.
- Профессия Data Science.
- Frontend Basic: принцип работы современного веба.
- Профессия Фронтенд-разработчик.
- Обработка естественного языка. Полный курс.
На подходе еще больше 10 курсов для взрослых и детей.