Максим, iOS-разработчик из Казани, самостоятельно освоил Objective-C и Swift и пишет мобильные приложения с 2017 года. Он успел поработать в стартапе и международной ИТ-компании, делал приложения для клиента из Арабских Эмиратов и Музея русского импрессионизма. С 2020 года Максим работает в Neti.
В интервью Максим рассказал:
- почему решил стать iOS-разработчиком;
- как нашел первую работу;
- почему больше никогда не пойдет работать в стартап;
- как устроился в международную ИТ-компанию и переехал в Питер;
- что делать, чтобы стать разработчиком.
В автобусе увидел у человека iPad и решил стать iOS-разработчиком
— Максим, где ты учился?
— Мне кажется, у выпускников вообще нет понимания, что делать после школы. По крайней мере, у меня не было. Я просто постарался максимально хорошо сдать ЕГЭ и подал документы на факультет, на который сложнее всего пройти по баллам. Это оказалась «Информационная безопасность» в КАИ (Казанский национальный исследовательский технический университет им. А. Н. Туполева): чтобы поступить на бюджет, нужно было набрать за ЕГЭ 220 баллов. Я подумал, что раз туда сложно поступить, значит, это перспективная специальность. Но сначала мне там не очень нравилось — было мало программирования. На первом курсе мы изучали Assembler, низкоуровневый язык программирования, который мало понятен людям. Он мне казался очень странным. С третьего курса мы начали программировать на C# и стало интереснее.
— Как получилось, что ты стал именно iOS-разработчиком? Не легче ли было развиваться в разработке на C#?
— Я заинтересовался разработкой под iOS на втором курсе, до С#. Тогда под iOS писали на Objective-C, Swift только появился. Помню, в автобусе увидел у человека iPad и подумал: «Прикольно делать софт для iOS, iPad, iPhone». После этого случая я начал изучать Objective-C по учебнику и видео на YouTube. Потом продал игровой компьютер, купил MacBook и стал практиковаться. Через 7–8 месяцев самообучения решил искать работу. Сначала не клеилось: без опыта никуда не брали. Я прошел 5 собеседований, прежде чем устроился в ИТ-отдел банка.
Спарсил «Википедию», чтобы устроиться в банк
— Помнишь тестовое на собеседовании в банке?
— Попросили написать на Objective-C список городов России. Нужно было, чтобы в нем отображались название, герб и небольшое описание. Я справился с заданием за 6–8 часов: подтянул библиотеку парсера страниц и спарсил «Википедию».
— Какие задачи ты решал в банке?
— Я дорабатывал банковское приложение. Там надо было сделать карту с банкоматами. В принципе, моих знаний хватало на то, чтобы это реализовать. Но у приложения была очень сложная архитектура, и я, тогда еще совсем новичок, не мог в нем разобраться, а мой руководитель, программист, который закладывал архитектуру, не особо помогал. Я ушел из банка через три месяца: ничего не получалось и я потерял мотивацию.
Когда увидел Swift, подумал: «Что это за прелесть?!»
— Быстро нашел новую работу?
— Да. Я устроился в мультипликационную студию, где делал игровое приложение, по которому дети могли учить алфавит. Там тоже проработал недолго — несколько месяцев. На проекте я был единственным разработчиком и мне не хватало наставника, который бы научил меня хорошей архитектуре. После увольнения был перерыв около года, а потом я вернулся в разработку. Устроился в ИТ-компанию, которая делала мобильные приложения. Там я познакомился со Swift. Помню, увидел его и подумал: «Что это за прелесть?!»
— Почему?
— Все понятно и логично. Не нужно писать кучу кода в отличие от Objective-C. Объявления переменных и функций в Swift гораздо легче и проще. Я перешел с Objective-C на Swift быстро, за пару дней.
— Какие проекты ты делал в ИТ-компании?
— У меня было несколько сложных и интересных проектов. Например, мы сделали приложение для Музея русского импрессионизма, в котором можно посмотреть видео или послушать аудио о картинах. Еще запомнилось приложение «Зеномания» для фанатов волейбольного клуба «Зенит». В нем можно почитать новости, посмотреть матчи, купить мерч с символикой команды. А еще там можно «примерить» шарф или кепку и сделать «зеноселфи».
— Тебе нравилось в ИТ-компании?
— Да. Там интересный коллектив, классные проекты, коллеги помогали другу другу и обучали новичков. За полтора года, что я там работал, прокачался до начинающего мидла.
— Что было дальше?
— Из ИТ-компании я ушел в стартап — делали социальную сеть наподобие «ВКонтакте» для Арабских Эмиратов. В нем было очень много функционала: чат, фото, видео, посты, группы, внутренняя валюта, видеозвонки.
— С реализацией какого функционала возникли сложности?
— Я тогда впервые делал чат, и там были не только текстовые, но и аудиосообщения. Пришлось поломать голову, как реализовать этот функционал так, чтобы он работал быстро и без лагов.
— Сколько ты проработал в стартапе?
— Около года. В один момент прекратилось финансирование и все загнулось. Больше я в стартап не пойду. После этого я полгода работал в интернет-магазине, а после устроился в международную ИТ-компанию Luxoft.
Как вместо Москвы переехал в Питер и устроился в Luxoft
— Как ты вышел на Luxoft?
— Я планировал переехать из Казани в Москву и искал работу в столице через hh.ru. Мне позвонила HR-менеджер Luxoft. Мы поговорили и она уже собиралась назначить собеседование, когда я спросил: «Вы находитесь в Москве?» Она ответила, что нет. Я сказал, что тогда ее предложение мне неинтересно, а HR-менеджер спросила: «А если мы вот такую зарплату предложим?» Так вместо Москвы я переехал в Питер.
— Я слышала, что в Luxoft очень жесткий отбор и сложные собеседования…
— Собеседование действительно было сложным, но интересным. Оно проходило не в формате вопрос-ответ: мы просто разговаривали с другим разработчиком о разработке, iOS, Git.
— Как тебе в Luxoft?
— Там очень дружный и отзывчивый коллектив. Мне понравилась легкость, с которой все друг с другом общались: например, у нас не было митингов с отчетами о проделанной работе. Вместо этого мы ходили с руководителем на обед и в это время обсуждали задачи.
В Luxoft я занимался интересным проектом — делали приложение для клиентов сети АЗС. По-моему, мы одними из первых добавили в приложение возможность использовать виртуальную карту лояльности вместо физической. Тогда эта фича еще не была распространенной.
— Почему ты оттуда ушел? Это крутое место, многие хотят работать в Luxoft.
— Мне не принципиально, где работать, и не важно, насколько велика и крута компания. Для меня главное, чтобы было комфортно. На дорогу до офиса и обратно каждый день я тратил по 2–3 часа. К тому же, я переехал в новый город, где никого не знал, и одному мне там было неуютно.
— Одиноко было, наверное?
— Ну да. В общем я решил вернуться в Казань и устроиться в Neti.
Как пришел в Neti
— Почему именно в Neti?
— Я начал сотрудничать с Neti, еще когда работал в Luxoft. Осенью 2019 года мне написал руководитель проектов и спросил, могу ли я помочь с приложением для застройщика. Клиент хотел загружать в приложение тяжелые документы в формате pdf и оставлять в них замечания. РП вообще не был уверен, что это возможно сделать, а я реализовал функционал нативно, без библиотек. После этого я остался на проекте, а летом 2020 года перешел в штат Neti.
— И как тебе здесь?
— Здорово. Очень комфортно, все нравится. Много интересных задач. Например, решал прикольную задачку с шахматкой квартир в приложении для риелторов. Делал список, который скролится вправо, влево, вверх и вниз. Самым сложным было синхронизировать вертикальный и горизонтальный скроллинги.
Советы начинающим разработчикам
— Трудно ли учить языки программирования самостоятельно?
— Когда я начал учить Objective-C, у меня еще не было программисткой базы. Она появилась через год, когда на третьем курсе вуза нас познакомили с ООП, SOLID на примере С#, наследованиями, объявлениями классов, объявлениями методов. Это сильно пригодилось. На самом деле, без базы непросто. Поначалу вообще непонятно, что происходит. Потом, где-то через полгода, появляются какие-то проблески и становится более-менее ясно. Но вообще тем, кто хочет стать разработчиком, я рекомендую идти на курсы, если есть такая возможность.
При самостоятельном обучении ты, конечно, чему-то научишься, но не факт, что будешь делать хорошо и правильно. Можно научиться так, что потом долго придется переучиваться. А на курсах изначально закладывают правильную базу.
— У тебя, как у самоучки, была проблема, что ты чему-то неправильно научился и потом пришлось переучиваться?
— Не знаю, скорее всего, была. Но я никогда не задумывался о том, что научился не тому. Скорее, у меня всегда была мысль, что нужно найти команду, у которой можно учиться.
— Что еще ты мог бы посоветовать начинающим программистам?
— Я бы посоветовал сразу кодить. Когда кодишь, запоминается лучше. Когда появляется свободная минутка, изучать что-нибудь новое. И конечно, нужно гореть, тогда обучение будет приносить удовольствие.
— Последний вопрос. Стал ли ты адептом Apple: iPhone, MacBook, Air Pods, iPad? Только Apple и никакого Android.
— Я всегда был адептом Apple. У меня всегда был iPhone. Может, это тоже повлияло на то, чем я занимаюсь. Сейчас у меня просто больше разных Apple-устройств, потому что они связаны с работой. Но я не против Android — на самом деле есть крутые «андроиды».