Как я стал ios-разработчиком

Full-time-hiring-8.2015-07-700x699

Как-то раз, я обратил внимание, что моя девушка ходит с телефоном-слайдером «нокия» с разбитым экраном.

«Не порядок» — подумал я и решил это исправить. Конечно, в ремонт я телефон не собирался нести, т.к. на дворе был уже 21-й век, и новинки всякие во всю выходили на рынок. Задумался я о том, что же купить ей в подарок-замену? Она не любитель гаджетов и ей «главное, чтобы звонило», без всяких заморочек. Заморочками она считала мой Андройд, который я постоянно прошивал-перепрошивал, ставил какие-то улучшательства, руты-бруты-украшалки… в общем, возился в нем и что-то постоянно настраивал. Поэтому я подумал: «А что носят те, кому думать не хочется?»
И решил купить ей на тот момент последнюю версию: Айфон. 4S.

Купил, подарил и… взял настроить. Через 15 минут все было готово, и она начала им пользоваться. Тем временем в своем Андройде я продолжал что-то настраивать и копаться, а она — просто пользовалась Айфоном…
В какой-то момент в очередной раз затупила Винда, и я пошел по такому же принципу — снес ей ее и поставил Линукс.
Я все еще копался в Андройде и Винде на своем компе, а она просто пользовалась Айфоном и Линуксом.
В какой-то момент Андройд от моих манипуляций с Рутом затупил и стал ооочень сильно тормозить, что меня вывело из морального равновесия, и я его положил на стол, посмотрел, как моя девушка спокойно пользуется Айфоном в ВК и… пошел и купил себе Айфон, тем более тогда как раз вышля новая «пятерка». Я потратил 15 минут на настройку и все…
С тех пор прошло почти три года. Я по-порежнему пользуюсь Айфоном — не тыкаюсь с флешками, не загружаю музыку, не скачиваю фильмы или фото не перекидываю на комп… Все делается само. Я просто этим пользуюсь.
В какой-то момент, очередная программа на Винде захлопнулась, потеряв данные и… я подумал об айМаке, решив, что он будет также «просто работать», как Айфон. Я пошел и купил его. Вот уже два года я не знаю, что такое — «упало приложение» или «затупил комп»… Экосистема в паре с Айфонами ведет себя практически безупречно. К ней я купил еще и АТВ, после чего выкинул «Триколор», т.к. тв отлично идет с телефонов, а видео просто стриммется с айМака без всяких лишних проводов и «танцев с бубном».
Конечно, я читал всякие темы про то, как пользоваться этой техникой и увидел, что можно не только «пользовать», но и «создавать». И захотелось мне сделать свое приложение для себя. Я решил, что раз я Графический дизайнер, то отрисовать красивое приложение проблемой не будет.
Так я начал смотреть всякие курсы по программированию, и мне захотелось стать разработчиком.
Сначала я пошел в Бауманку (тогда там «Специалист» курсов не было, был аналог, и первым моим учителем стал Виктор Щербаков.
Он очень хорошо все объяснял, но очень много и очень быстро. Но это была не его вина, того требовал курс лекций.
Вышел я с них через три месяца уверенный, что теперь я «девелопер»! И сел писать игрушку. Сел, открыл XCode и… закрыл, т.к. нихренашеньки написать сам не смог. Я не понимал как работает то или иное, не видел логику…
И снова я решил пойти на курсы (подумав, что надо подетальнее изучать).
Пошел уже в «Специалист» на курсы Си, потом Си++, потом Obj-C.
Через полгода (по два месяца на каждый язык) я вышел оттуда уже с более-менее примерным представлением, как все это должно работать (до этого опыта у меня в языках был нулевой). Вновь ничего толком дома не получилось, кроме «Хелловорда». Взял курсы «Школа программирования» — прошло две недели. «Хелловорд» смог написать уже с отображением красивым… Но все равно знаний не хватало.
В этот момент я решил, что надо брать частные уроки, т.к. я слишком тупой, и на общественных курсах не успеваю врубаться в тему. Параллельно мониторя интернет на эту тему, я набрел на Алексея Скутаренко и его курс Obj-C с домашками и отзывами.
Вот тут я решил, что сначала пройду это, а там видно будет.
Полгода я тупил, матерился, ленился, делал ДЗ и переделывал его вновь, медленно, очень медленно продвигаясь от урока к уроку.
Появился курс по Swift у Алексея (это был марафон, в котором я безбожно отстал после 7-го или 8-го урока), но я продолжал идти вперед.
Я писал Алексею, что это все невозможно и не поддается пониманию. Он отвечал, что сам был еще тупее меня и настаивал продолжать, не опускать руки.
Так прошел год.
Третьим учителем стал Константин Кокорин. Его уроки по Swift были уже очень понятны, и дело двигалось все быстрее и быстрее. Параллельно четвертым стал Иван Акулов со своим swiftBook
В какой-то момент я поймал себя на мысли, что «нолики и единички начали складываться в красивую картинку», и тут я понял — я начинаю врубаться в эту тему!)
Я уволился с работы и засел капитально на Xсode.
Прошло полтора года с момента, как я с нуля начал изучать разработку, к этому времени я стал более-менее разбираться «что, куда, как и почему».
Я закончил курс Алексея, продолжал изучать Кокорина и Акулова, стал рассылать резюме на Junior-а на все вакансии подряд.
Мне приходили тестовые задания, я делал их, не взирая на сроки и результаты собеседований. Это были реальные «мелко-работы», которые были для результата на практике, а не в теории (не «собака» со свойством «гавкать», а реальный парсинг или авторизация с токеном) Копаясь в этом, уровень понимания повышался с каждым заданием.
Затронутый совместный проект с Алиной Михайловой научил разбираться в Git и показал, что такое вообще «командная работа разработчиков» в целом.
Я познакомился с людьми, которые в этом «варятся», и они всегда помогали тем или иным советом, когда у меня возникал «затуп». А он возникал часто (и теперь он также возникает, и приходится копаться в туториалах или спрашивать советы)
Но вот однажды после очередного собеседования и тестового задания мне пришел ответ: «Николай, по результатм собеседования и выполенному тестовому заданию мы хотим предложить вам работать у нас…»
Вот она — заветная фраза, к которой я так долго и трудно шел!
Алексей был тысячу раз прав, говоря что это случится, главное не останавливаться!
Друзья, я очень рад! Вот уже две недели я работаю в команде разработчиков и… делаю порой то, что рассказано чуть ли не в первых ДЗ Алексея и Константина! Так как я все-таки предпочел swift и стараюсь делать все на нем — изучайте Ивана Акулова и его домашние задания! Это также очень поможет!
Делайте домашние задания, не ленитесь, поэтапно и пошагово.
Еще раз — делайте домашние задания!
Читайте литературу, спрашивайте совета в группах и форумах! Смотрите, как делают другие, как показывают Наши Учителя!
У вас все получится!
Хочу выразить отдельную благодарность людям, которые повлияли на мои достижения:
Алексей Скутаренко (без сомнений —  его группа — клад знаний)
Константин Кокорин (лекции «по Кокорину» — это уже шикарные, уже классические учебники)
Иван Акулов (у него лучшее и детальное обучению по Swift — SwiftBook)
Виталий Подольский (instarobot — умный и порядочный разработчик, всегда поделится советом)
Виталий Маврин — очень опытный разработчик и добрый человек, несмотря на мою тупость — всегда терпеливо разжует непонятную трудность даже несколько раз.
Виктор Щербаков (очень умный и талантливый разработчик)
Макс Грибов (отличный UI-дизайнер и мастер кода, всегда поможет советом)
Алина Михайлова (она сделает все (хотел написать «задолбает так» — в положительном смысле этой фразы), чтобы был результат в любом случае правильный)
Алексей Чечель (очень детальные уроки)
И всем тем, кто откликается на просьбы — подсказывает те или иные решения, когда происходят «затыки» (особенно google и stackoverflow).
Также поддержали меня морально в этом не легком деле:
Татьяна Игоревна
Сергей Казберович
Камиль Манафов
Сергей Любезнов
Александр Цвигун
Андрей Сергеев
Михаил Пчелников
Павел Ахрамеев
Очень полезные ссылки: