Возможно ли за 2 месяца изучить Taylor Swift c головы до ног? Понять ее душу и узнать ее слабые и сильные стороны? Очевидно, что нет. НО возможно ли узнать ее достаточно, чтобы она привела тебя за руку на первую твою работу? Этот ответ уже не так очевиден.
Давненько я не заходил сюда. Надеюсь, писать не разучился. Если что, ударение на букву а. Ну, могу быть спокойным - шутить, точно, не разучился. В последней статье, я обещал, что вернусь с новостями. Сразу заспойлерю, после двух месяцев учебы, я устроился на работу iOS разработчиком в компанию, что означает я смог выбраться с колеса под названием "опыт работы", где тебя не берут из-за того, что нет опыта работы, и нет возможности его получить из-за того что тебя не берут в компанию, а не берут из-за того, что нет опыта работы, а опыта работы нет, потому что у тебя нет возможности его получить, потому что нет опыта работы... Ну, я думаю, вы поняли. Побольше бы таких компании, которые дают шанс и смотрят чуть дальше, чем остальные. Прошло примерно полтора месяца с моей последней статьи, поэтому, давайте, пройдемся хронологически.
Связь с Яндекс
Во время подготовки к собеседованию нашел баги в двух приложениях от Яндекс: Кинопоиск и Яндекс.музыка. Сразу написал им в тех поддержку и посоветовал решение, возможно неправильное, но главное - дал знать о баге. Думал, не ответят, и был удивлен, когда они ответили и потом через два дня написали что пофиксили с новым релизом.
Но самое главное - они заценили мой блог:) Потом написал в поддержку Яндекс.музыки и они тоже очень быстро ответили.
После этого, они резилнули обновление, где этого бага уже не было. Все получилось.
Подготовка к собеседованию
Когда начал рассылать свое резюме, думал будет круто сделать landing page, где в красивой форме будут отображаться все мои проекты. На тот момент, времени было в обрез и пришлось довольствоваться резюме, гитом и этим блогом. В будущем, обязательно нужно это сделать. У меня была неделя, чтобы подготовиться к собеседованию. Если поискать в интернете, то можно найти очень много ресурсов с примерными вопросами и они плюс/минус похожи. Но могу сказать сразу, учить язык программирования и писать код - это одно и совсем другое - готовиться к собеседованию. И я приступил к вопросам, которые могут спросить, и пытался понять. Основные могу выделить: ООП, SOLID, многопоточность, generics и работа с памятью. И есть специфичные вопросы на другие темы, которые нужно запомнить. Типа чем отличается эта вещь от этой, или где мы используем это, а где не стоит это использовать. Про многопоточность посмотрел видео-урок от Яндекс, SOLID и работа с памятью подсмотрел в swiftbook.ru и по ООП смотрел разные ресурсы: видосы и статьи. В этом разделе можно бесконечно писать, материалов много и все вопросы повторяются. Самое главное - нужно выделить время для подготовки к собеседованию.
Сам процесс
Я получил несколько приглашении на собеседование. Некоторые компании требовали, чтобы я сделал тестовое задание, некоторые - были не согласны с ними и решили сделать упор на техническое собеседование. В итоге, я сделал несколько тестовых задании, из них одно было очень странным и я не получил ответа от этой компании, хотя вроде справился с заданием. Тестовые задания очень полезны, в плане того, что ты показываешь себя в очень сжатые сроки. Но и есть минус у такого подхода - не все могут проявить себя, когда всё вокруг горит. Иными словами, они могут сидеть в горящей комнате и говорить: "This is fine". Честно говоря, я еще сам не определился: какой подход более правильнее.
Когда делаешь тестовые задания, начинаешь изучать новые вещи и использовать их. Примером может быть Firebase, который был необходим для тестового задания, где был log in screen. Еще поработал с WKWebView для создания simple браузера. В тестовом задании, был пункт, чтобы этот браузер мог открывать сайты, которые начинаются на http, что в целом нежелательно. Для этого нужно было добавить строку в info.plist. В итоге, приглашение на работу пришло от двух компании. Недавно прилетел в Алматы и уже начал работать.
Главное делать все систематично и следовать плану, не опускать руки и всегда идти только вперед и тогда все обязательно получиться. Все просто - быть iOS developer-ом очень круто, ты занимаешься любимым делом и еще тебе за это платят.