Как я перешёл из маркетинга в iOS-разработку

Привет, дорогие друзья! Меня зовут Кирилл. В этом посте я расскажу вам о своём пути в iOS-разработку, а также о том, почему этот путь ещё не закончился.

Просто красивая картинка, за которой скрываются бессонные ночи в попытках понять программирование заново. Кирилл Крайнов

На момент написания этого поста мне 24 года, я нахожусь в статусе стажёра, живу в регионе, получаю стипендию. Цель этой заметки — не разрекламировать какой-то сервис, не самоутвердиться, а рассказать о тонкостях самообразования и своих результатах.

Я специально не использую в посте какие-то не всем понятными термины типа ООП, графы, бинарные деревья, потому что сейчас речь не о моих навыках, а о процессе перехода в новую для меня сферу.

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

При этом ранее я делал какие-то успехи по информатике, вникал в Visual Basic, но со временем оно всё покрылось пластом лингвистики, менеджмента и философии. Кстати, английский мне в жизни пригодился больше всего, но об этом я скажу чуть позднее.

Когда пришло время выбирать дальнейшее место учёбы, мой выбор пал на локальный лингвистический университет. Направление выбрал «Реклама и связи с общественностью». Это был путь наименьшего сопротивления - никакой математики, физики и прочих технических моментов.

Пока я учился, я освобождал себе время путём сокращения ненужных пар в ежедневном расписании, а вместо них либо работал в найме, либо фрилансил с мелкими заказами на SMM и переводе текстов. В вузе реально была «лафа»: даже съездил поучиться в Германию и никто не заметил моего отсутствия. Однако искупнувшись в том, что называется «связи с общественностью», я понял, что я реально свернул не туда. Совсем не туда.

О том, куда я пошёл «после института»

Когда я работал на позиции менеджера по маркетингу в одной американской компании, я хорошо общался со своим менеджером проектов. У неё был доступ к библиотеке одного небезызвестного издательства. Как-то менеджер проектов показала мне книгу «Swift для детей», за что ей огромное спасибо.

Обложка книги «Swift для детей» Издательство «Манн, Иванов и Фербер»

Для тех, кто немного не в теме: Swift — язык программирования от Apple, который пришёл на смену Objective-C. Признаюсь, я боялся Objective-C в то время, когда на нём писали. Собственно на нём пишут и сейчас, если дело касается поддержки проектов, но новые фичи и приложения пишут на Swift.

После ознакомления с этой книгой у меня началось своеобразное переосмысление. То есть в Swift и iOS-разработку может въехать человек, который столько времени вращается в связях с общественностью и рекламе? По стечению обстоятельств я уже 6 лет как пользуюсь macOS на iMac, так что танцевать с бубном над хакинтошем или виртуальной машиной на PC не пришлось. Я попробовал самые минимальные шаги в Swift. У меня плюс-минус получалось, НО - у меня не было фундамента в плане IT. Было лишь поверхностное понимание от переустановки систем до каких-то лёгких функций в ООП, но не более.

Если вы дочитали до этого места, вы осилили мой портрет:

  • гуманитарий по образованию;
  • который кодил последний раз лет 10 назад;
  • хочет стать iOS-разработчиком.

С этого места мы поговорим подробнее, почему iOS и что дальше происходило.

iOS, мой план и первые шаги

Так почему iOS? Да, я мог бы взяться за фронтенд- или бэкенд-разработку или вовсе вникать в анализ данных. Просто я привык к iOS как к системе (первый iPhone в 8-9 классе). Мне нравится система, мне нравится именно работа с мобилками.

Дальше я созрел переучиться, чтобы осуществить свою цель — стать разработчиком приложений для iOS. Но как быть? У меня же работа с 10:00 до 19:00. Всё-таки, можно найти время на то, что действительно хочешь сделать. Поэтому временные рамки не стали преградой.

Я составил чёткий план, важной частью которого была подушка безопасности на случай потери работы, на оплату обучения, а также деньги на какие-то мелкие расходы. Я понимал, что не отделаюсь какими-либо бесплатными курсами и мне так или иначе потребуется менторство со стороны. Когда план пришёл в действие, я жил по следующему сценарию:

→ работай → чтобы накопить на мечту → чтобы стать тем, кем ты хочешь.

Днём я занимался основной работой, а по вечерам (и в свободное время на работе) я вникал в синтаксис языка Swift, решал простенькие задачи, фиксировал вопросы и искал на них ответы в Гугле.

В это время я пользовался следующими ресурсами:

  • The Swift Programming Language — официальная книга от Apple по языку Swift;
  • книга «Swift для детей», с которой всё началось, я постоянно лазил туда, если не мог понять то, что написано в документации;
  • официальная документация языка Swift;
  • SwiftBook - сообщество, где разъясняют сложные вопросы простым языком;
  • Курс «Swift марафон» Алекса Скутаренко на YouTube;
  • Курс Пола Хегарти «Developing iOS 11 Apps with Swift by Stanford»;
  • бесплатная часть курса iOS-разработки на Udacity;
  • бесплатный курс основ Swift на CodeAcademy (без PRO-подписки);
  • 30 days of Code на сайте Hackerrank — тоже можно поделать задачки по основам;
  • бесплатный 7-дневный триал по Swift в Treehouse;
  • Swift Playgrounds — официальная игра от Apple для будущих разработчиков (есть на iPad и macOS).

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

Приобретение курса как инвестиция в себя

Вскоре я взял перерыв в работе, съездил отдохнуть, нашёл новую работу «ближе к IT» и продолжил своё обучение. В этот раз, имея понимание основ Swift, я решил купить курс ради обратной связи и задач, приближенных к реальности.

Так как подушка безопасности и зарплата позволяли это сделать, я оформил рассрочку на курс в 2019 году. В августе я стал студентом одного частного университета. Да, я специально не называю университет, в который поступил.

Recharging, без которого я бы офигел Кирилл Крайнов

Кстати, я сделал апгрейд своего старого iMac, ибо не видел смысла заменять устройство на что-то другое. Его основного железа хватит ещё лет на 5 минимум, а оперативной памяти мне не хватало для полноценной работы даже с учебными проектами. Поставил 16 ГБ оперативки и SSD-диск на 120 ГБ для системы внутрь. С такой конфигурацией Xcode IDE (среда разработки для iOS- и macOS-приложений) стал работать быстрее.

Снова, балансируя между учёбой и работой, я жил в ритме «работай ради мечты». При этом я уже начал посещать собеседования, чтобы понимать требования работодателей, окружать себя ребятами из IT-сферы и больше общаться с IT-коллегами.

В это время я учился и работал, подавался на стажировки в других городах, ходил на очное собеседование в своём городе. Скажу честно — где-то я получал отказы, а где-то я элементарно не мог выполнить тестовое. Однако эти отказы прокачивали меня. Я фиксировал свои пробелы и работал над ними, чтобы эти пробелы закрыть хотя бы на уровне less than junior.

О процессе самообразования

Здесь мне бы хотелось сказать о том, как я организовал процесс самообучения. Первое время я доставал вопросами своего тьютора на платном курсе, а также проводил на Stack Overflow часы свободного времени.

Как было дело с видео уроками:

  • сначала я смотрел видео полностью, чтобы вникнуть, о чём речь;

  • конспектировал важные моменты;

  • кодил за тьютором (да, это выглядит как играть в консольные игры на YouTube);

  • через какое-то время делал домашнюю работу.

Касательно текстовых материалов:

  • тоже конспектировал их;
  • прописывал на бумаге взаимосвязь между элементами, т.е. визуализировал для лучшего понимания;
  • жадно хватался за каждый пример/задание, чтобы что-то реализовать через код.

Собственно, оно сейчас так и происходит:

Днём стажируюсь. Вечером беру задачки на сайтах типа codewars, чтобы быть готовым к следующему дню.

Конечно, первое время мне как человеку с гуманитарным образованием было трудно понять моменты, написанные техническим языком. Но тут я вспомнил, что я учил английский, учил русский в расширенном варианте (что-то типа РКИ — русский как иностранный), да и в универе меня «учили работать со смыслами». В итоге, я объяснял себе простым языком то, что не мог понять.

При этом пользовался обычными житейскими примерами.

С момента покупки курса прошло где-то 10-11 месяцев, наступил июнь 2020. года На курсе подошло время защиты диплома. Мне уже надоело сидеть в песочнице, захотелось в бой. В это же время я увидел стажировку, на которую я в принципе проходил. Я изучил финансовый вопрос, морально и материально подготовившись к даунгрейду во всём — в деньгах, в позиции.

Но главное здесь вовсе не даунгрейд, а переход из одной изученной «комфортной» сферы в новую, как прыжок в пропасть. К счастью, после прохождения отбора на стажировку прыжка в пропасть не случилось. Да, есть моменты, которые я не до конца понимаю, но я стараюсь их прояснять и вникать в них.

В начале статьи я говорил, что мне пригодился английский. Уверен, что для людей, которые уже состоялись в ИТ, эта информация очевидна. Учебные материалы от ментора, документация, Stack Overflow, фэйлы/ворнинги в Xcode, какая-то часть собеседования, тренинги в компании - всё это на английском.

Как вы уже поняли, около 12 месяцев занял мой переход из маркетинга в ИТ. Он сопровождался финансовыми затратами, сокращением каких-то привычных трат (типа не купить новый айфон в этом году и т.д.), а также перезагрузкой мозгов.

И то, как я сказал в начале, этот переход пока не состоялся полностью. При этом, на оплачиваемой стажировке я выполняю учебные задачи. Поэтому если мне чего-то не хватает, я в праве зайти на тот же Hackerrank или Codewars и поискать себе там дополнительные задания.

Результат?

Подводя итог, я хочу пройтись по важным пунктам:

  • что у меня было в момент принятия решения: работа в маркетинге с 10:00 до 19:00, сбережения, желание создавать приложения для iOS;
  • цель: освоить интересную специальность;
  • время: плюс-минус год с учётом времени обдумывания решения, проб и ошибок до приобретения курса;
  • затраты: стоимость курса (рассрочка), стоимость апгрейда моноблока (оплатил сразу);
  • процесс: не самый романтичный, как его отражает массовая культура;
  • результат: промежуточный - получение стажировки как начало пути. Однако — да, профессию я сменил.
  • И самое главное: что я хочу. Я хочу нормально пройти стажировку, получить позицию junior iOS developer и работать. У меня есть три месяца, чтобы прокачать свои навыки iOS-разработки и после 25-ого дня рождения стать джуном.

P.S. Публикуя эту статью, я, наверно, совершаю ошибку выжившего - рассказываю об успешном случае переквалификации. В то же время я не могу назвать это ошибкой выжившего, потому что всё ещё впереди.

P.P.S. Более того, я прекрасно понимаю, что мои слова о нелюбимой работе в маркетинге выглядят как слова зажравшегося мажора. Может быть, я отчасти зажрался, но я не готов прожить не свою жизнь, занимаясь абсолютно чужим для меня делом, которое стало результатом пути наименьшего сопротивления.

Признавать свои ошибки больно. Ещё больнее понимать о потерянных годах не в том деле. Навёрстывать нереально трудно. Трудно перестраивать мозги. Но я хочу этого, иначе зачем это всё.

Дорогие друзья, я надеюсь, что этот пост был полезен для вас. Буду рад любым вопросам и комментариям! Особенно буду рад услышать рекомендации и советы от людей, которые перешли в IT из какой-нибудь максимально противоположной сферы — PR, журналистика, преподавание, перевод и т.д.

0
218 комментариев
Написать комментарий...
Илитный Иксперт

Как из посредственного маркетолога стать никудышным программистом. Статья просто антиреклама курсов.

Человек потратил год на обучение, и в результате не умеет нихуя. За год спокойно можно дорасти до мидла начального уровня.

Лучший способ учиться программировать - пет проект. Если бы автор начал с этого, он уже бы работал, возможно даже не джуном.  

я вникал в синтаксис языка Swift, решал простенькие задачи, фиксировал вопросы и искал на них ответы в Гугле.

Я не понимаю что за каша у людей в голове? Все эти вещи абсолютно бесполезны. Чтобы научиться делать - надо делать. А все что описывает автор, это просто подготовка к тому чтобы начать делать. 

Чтобы научиться ебаться - надо ебать телок, а не читать камасутру, смотреть порнуху, дрочить, или читать статьи про секс.

Касательно текстовых материалов:
конспектировал их;

Поделитесь советом, как прочитать эти строчки без смеха? У меня не получается

Всего вышеописанного достаточно, чтобы выкидывать дипломы подобных курсов в мусорку. В итоге автор нихуя не умеет, кое как устроится джуном на работу, с ним будет няньчиться какойнить синьер. И еще не факт что автора не выгонят в результате.

Публикуя эту статью, я, наверно, совершаю ошибку выжившего - рассказываю об успешном случае переквалификации

Скорее детскую ошибку, игнорируя пословицу "не говори гоп - пока не перепрыгнешь"

Ответить
Развернуть ветку
Треугольный Илья
Автор
В итоге автор нихуя не умеет, кое как устроится джуном на работу

Вы уверены, что в «статье» это есть?

Ответить
Развернуть ветку
Илитный Иксперт

Я реальность описываю, а не только статью

Ответить
Развернуть ветку
215 комментариев
Раскрывать всегда