Начнем с минусов
Первое, что необходимо — это желание и дисциплина, да и это, я вам скажу, почти самое важное. Я не буду здесь рассказывать, как легко зайти в сферу и получить сотни миллионов в наносекунду. У меня очень много знакомых отваливались на этапе изучения основ программирования, потому что это не та сфера, где ты пару месяцев что‑то изучил и нашел первую работу за 100к. В свою очередь, скажу, что первую работу можно найти и на 200к сразу, в этом большой плюс сферы, но вы также должны понимать, для этого нужно много сделать.
Самое быстрое время, за которое знакомый зашел в сферу — это 4 месяца, но нужно забыть про личную жизнь, про себя, про работу и про все, чем вы занимались в привычное для себя время. Я зашел за пол года, при этом я успевал работать, но есть большое «но», пол года я вставал в 7 утра, ехал на работу, далее приезжал в 7 вечера, садился учить теорию и много практиковался, 4–5 часов изучения было моим минимумом. В выходные я ездил на встречи разработчиков (о них я рассказал в одном из хайлайтов у себя в инсте), после приезжал и снова садился за учебу. В целом, рецепт простой.
Если брать ренж по срокам, то в активной форме обучения потратите 4–5 месяцев (это при условии, что вы все хорошо понимаете). Если учиться на чиле, то за 1.5 года вполне можно войти. Поясню, на чиле — я имею в виду, что вы занимаетесь 1–2 часа в день, 3–4 раза в неделю, с практикой обязательно, но вполне с такой логикой можно и за год зайти, это все индивидуально.
Теперь про плюсы
Удаленная работа
Зарплата больше, чем доход у большей части бизнесов в России
Можно работать за границей (например на Бали), кайф же
Супер крутое окружение, IT‑шники супер интересные люди (но есть и душные, как я, например)
Никогда не отупеешь, ведь учиться нужно всегда
Рынку всегда будут нужны IT‑шники, голодными не останетесь
Огромный пласт для развития, можно стартап замутить или менторством заняться или залететь в стартап и получить круглый процент, а можно просто работать на IT гигантов и жить в кайф.
Про самообучение
Вы можете сразу побежать покупать курс за 200к у любого топа по курсам в России, но реально учат лишь единицы. Есть разрабы, которые сделали свои курсы, у них поток 20–30 человек максимум, чек такой же плюс минус 200–300к, но и качество лучше. Я не собираюсь пока делать такой курс, от потребности зависит. Если будут желающие, то в целом можно и попробовать, а пока про то, как учился я.
Я выбрал для себя курс в один момент, попался на крутого продажника в одной из воздушных компаний по продаже курсов, именно компания по продаже курсов, а не обучению людей. Я проучился у них месяц, понял что я иду далеко вперед, а у меня домашку даже не проверили еще первую, кайф) В общем и целом, я решил от туда уйти, вернули мне кстати большую часть денег, так что в этом вопросов нет, вычли только за модуль, который успел пройти.
Далее я пошел своим путем, составил план обучения себе, нашел бесплатные курсы на ютубе, купил книжку В. Усова и погнал все это разбирать. В целом самостоятельно и на бесплатных курсах я так прокачался нормально за пол года и начал искать работу, про то, как составить грамотное продающее резюме я узнавал у HR, я искал компании присылал им свое грустное резюме, они мне отказывали и я не стеснялся, спрашивал а что не так, кто то отвечал объяснял, кто то игнорил. В итоге методом проб и ошибок я составил себе более менее хорошее резюме и мне начали приходить приглашения на собеседования. По резюме могу проконсультировать кстати, сделаю детальный разбор, подскажу, что написать и как, в директ можешь написать.
Первое свое собеседования я так облажался, вообще ответил на все вопросы плохо, но это была не ошибка, а наоборот правильный ход, как я понял в дальнейшем. Можно пытаться до идеала довести каждую тему, но так ты будешь учить до бесконечности, не нужно зубрить и заучивать все, у тебя должно быть понимание, именно понимание темы. Сначала поверхностное (для джуна этого достаточно), далее по мере развития в карьере ты углубляешься в каждой теме, так разбивают грейды в целом, на сколько глубоко ты можешь ответить по нужным темам. Так и решают junior, middle или senior ты.
В итоге я прошел еще 3 собеседования и получил в конце 2 оффера, выбрал аутсорс компанию IceRock. Я облажался на первом, сделал выводы, подготовился и прошел. Так гораздо лучше и быстрее, чем пытаться довести все до идеала. А на работе ты уже развиваешься по другому, решаешь реальные кейсы и делаешь продуктовые задачи. Еще скажу, что у меня было большое желание и я выучился сам, без курсов, у меня даже образование экономическое, по этому если получилось у меня, то получиться и у тебя.
Далее мы пройдемся по плану, что тебе нужно по hard скилам, чтобы войти.
Шаг 1: Присоединитесь к сообществу разработчиков
Когда вы начинаете свой путь в iOS разработке, важно иметь поддержку и помощь других разработчиков. Существует множество сообществ разработчиков, где вы можете задавать вопросы, делиться своими проектами и получать обратную связь.
Вы можете присоединиться к сообществу на Reddit или Slack. Также существуют множество конференций и мероприятий, где вы можете встретиться с другими разработчиками и изучить новые технологии.
Шаг 2: Пора изучить технологии, которые нужны IOS разработчику
Первый шаг к становлению iOS разработчиком — это изучение основ программирования. Это может быть самым сложным шагом, но он является фундаментом для всего остального. Если вы уже знакомы с программированием, то этот шаг будет проще для вас.
Если вы начинаете с нуля, то я рекомендую начать с языка программирования Swift. Это язык, который Apple создал специально для iOS и macOS разработки. Swift легко читается и понимается, а также имеет множество ресурсов для обучения. Почему я сказал, что рекомендую swift? Ты спросишь: » А что iOS разработчики пишут на другом языке?». И я отвечу‑ да, есть первый язык для iOS и macOS разработки — Objective‑C. Для первой работы знание этого языка необязательное, поэтому пока отложим его.
Вам необходимо изучить следующие темы:
Среда разработки XCode и основные понятия
Переменные, константы, типы данных
Условные конструкции
Коллекции: массив Словарь. Кортеж и множество
Циклы
Функции
Структура проекта
Классы, структуры и перечисления
Интерфейсы (protocols)
Продвинутые свойства объектов
Замыкания и функциональное программирование
ООП: наследование, переопределение методов, инициализация классов
Ошибки и возможности: моделирование исключительных ситуаций и работа с ошибками
Области видимости
Git — система контроля версий
Основной фреймворк для UI UIKIT
Работа с внешними библиотеками
Менеджеры зависимостей.
Структурные паттерны: Delegate, Singleton, Factory, Observer, Facade
Архитектурные паттерны.
Асинхронная разработка и многопоточность
Работа с сетью и хранение данных
Шаг 3: Создайте своё первое приложение
В процессе изучения этих тем, когда дойдешь до UI, нужно начинать писать первое приложение. Если ты дошел до этого, ты большой молодец, ведь создавать пользовательский интерфейс — самое интересное и приятное занятие, когда ты сразу видишь результат своей работы. Для начала это может быть простое приложение, которое отображает текст или изображения на экране. Важно начать с простого и постепенно усложнять задачи.
Главный скил любого разработчика, который делает из разработчика инженера (шутка), это умение гуглить, да, ты правильно услышал, умение гуглить. Ты будешь забывать, как создать тот или иной компонент, но именно умение правильно задавать вопросы гуглу даст тебе возможность быстро найти и вспомнить. Это не шутка, что этот навык очень важен, просто сделать запрос в гугл может любой, а правильно сформулировать, чтобы получить точный, а самое главное нужный ответ‑ не каждый. Если непонятна аббревиатура или слово в этом гайде, попробуй загуглить и все станет ясно, начинаем прокачивать этот навык с этого момента.
Шаг 4: Изучите дополнительные технологии
Когда вы создали своё первое приложение, следующим шагом будет изучение дополнительных технологий. Например, вы можете изучить Firebase, платформу от Google для создания мобильных и веб‑приложений. Firebase включает в себя множество инструментов, таких как аутентификация пользователей, базы данных в реальном времени и облачное хранилище.
Вы также можете изучить SwiftUI, новый фреймворк для создания пользовательского интерфейса. SwiftUI использует декларативный подход к созданию интерфейса, что делает его более простым и интуитивным (в UIKIT используется императивный подход, можете погуглить на эту тему).
Шаг 5: Создавайте свои проекты
Когда вы освоите основы Swift и iOS SDK, а также изучите дополнительные технологии, следующим шагом будет создание своих собственных проектов. Это может быть приложение для социальных сетей, игра или любое другое приложение, которое вы хотите создать.
Вы можете начать с простых проектов и постепенно усложнять задачи. Важно создавать проекты, которые вы действительно хотите создать, чтобы сохранять мотивацию.
Шаг 6: Никогда не переставайте учиться
iOS разработка — это область, которая постоянно меняется и развивается. Новые технологии и фреймворки появляются каждый год, поэтому важно оставаться в курсе последних тенденций.
Вы можете изучать новые технологии через онлайн‑курсы, блоги или YouTube‑каналы. Также существуют множество книг и журналов, которые помогут вам расширить свои знания.
Итак, стать iOS разработчиком — это долгий и увлекательный процесс. Но если вы будете следовать этим шагам, то вы сможете достичь успеха в этой области. Помните, что самое важное — это постоянно учиться и создавать проекты, которые вам действительно нравятся.
Подписывайся на группу в телеграм, там много инфы про IOS разработку, которая тебе точно пригодится.
Octabun
Если добавить пункт Изучить Swift, то можно убрать много пунктов.
Это точно нужно в объёме превышающем 15 минут да и то не всегда?
Почему не SwiftUI?
Нешто прямо так вот это всё?
У проходящего мимо заинтересованного читателя и того не более складывается впечатление что "войти" означакт "пройти собеседование", а это нечто иное чем
вынесенное в заголовок. Так
to be or not to beбыть или казаться?А теперь то, что мне кажется странным до уровня обязательно нужно спросить.
Среда xCode и основные онятия кажутся вещами слабо связанными. Про абсолютную необходимость xCode есть сомнения, сделать приложение и выложить его в App Store можно и через Playgrounds. Если на шаге
образовалась пара-тройка приложений, то каковы шансы пройти собеседование с позицией "я умею делать вот такое, а отвечать на дурацкие вопросы - не обучен"?
Bardakan
потому что в SwiftUI отдельные важные вещи или не реализованы вообще, или реализованы только в последних версиях iOS. А еще у компании с большой вероятностью будут старые проекты на UIKit