Не бойтесь ошибок и не забывайте на них учиться
Артём Куликов не оканчивал курсы GeekBrains (или просто скрыл данный факт), да и вообще никак с этим ресурсом не связан. Он вот уже несколько лет успешно трудится iOS-разработчиком в компании AT Consulting, и мы попросили поделиться мнением о профессии, рассказать собственные лайфхаки и дать пару дельных советов для новичков.
Расскажи, как ты попал в сферу мобильной разработки? Каким было твое первое приложение?
Дело было в далеком 2009-м году. Я работал разработчиком в ночном клубе (да-да, и такое бывает). В тот момент я в основном занимался технической поддержкой веб-ресурсов, но в целом список задач был очень широким и ограничивался только фантазией учредителей клуба. Как раз благодаря ей я попробовал себя в качестве разработчика приложений: однажды мне позвонил наш DJ (по совместительству мой руководитель) и сказал, что ко Дню рождения босса нужно сделать подарок — мобильное приложение клуба с новостями, афишей и функцией бронирования столов. Честно говоря, оно было ужасным и умело только открываться и самопроизвольно закрываться.
Почему iOS, а не Android?
На самом деле, iOS сам меня «нашел» и как такового выбора я не делал — мне просто дали в руки Mac и сказали: «Вперед!». Не могу сказать, что после первого опыта разработки я рефлексировал, взвешивал все «за» и «против», изучал какую-то статистику, уровень зарплат (хотя у разработчиков под iOS зарплата действительно больше).
Честно говоря, нет разницы, на какой платформе разрабатывать, это все дело вкуса. А о них, как известно, не спорят.
Какие, на твой взгляд, типичные ошибки совершают начинающие iOS-разработчики? Что бы ты им посоветовал?
Главная проблема большинства новичков — боязнь или нежелание задавать вопросы. Очень многие наивно полагают, что знания пары-тройки трендов будет достаточно, а потом на этапе инспекции кода на предмет ошибок и недочетов оказывается, что это далеко не так.
В первую очередь, нужно знать основу, а не гнаться за последними нововведениями типа Swift. Начните со старой школы: изучите Objective-C 2.0 (еще лучше, если вы будете знать разницу между версиями 1.0 и 2.0), научитесь работать с памятью. Не брезгуйте официальной документацией — она не так плоха, как кажется на первый взгляд, а ценной информации в ней — море.
Второй совет: думайте. У каждой задачи есть несколько решений и не всегда первое пришедшее вам в голову — лучшее. Если еще не познакомились со stackoverflow.com, сделайте это немедленно и получите доступ к знаниям 4 млн зарегистрированных программистов.
И третий, пусть и банальный, но важный — любите то, что делаете, не бойтесь ошибок и не забывайте на них учиться.
Есть ли проект, который запомнился тебе больше всего?
Пожалуй, я бы выделил проект для одной крупной телеком-компании: мы разрабатывали приложение для топ-менеджмента, которым сейчас пользуется и глава бизнеса. Это было классическое приложение для руководителей с электронным ежедневником, списком задач и сотрудников, с возможностью распределения и делегирования задач, внутренним чатом и панелью отраслевых новостей.
В этом проекте было прекрасно все, начиная с задач и заканчивая теми прекрасными людьми, которые меня окружали. До сих пор с удовольствием вспоминаю, как мы могли работать в выходные, задерживаться в будни до часу ночи и не чувствовать усталости — только осознание того, что ты делаешь что-то по-настоящему классное мотивировало качественно выполнить задачу.
Есть ли у тебя лайфхаки, которые помогают работать? Например, определенные треки, под которые лучше программируется, или какой-то способ сконцентрироваться в стрессовых ситуациях? Может, у тебя есть хобби, которое помогает отвлечься и обрести свежий взгляд на задачу или проблему?
Лично для меня самая большая трудность в работе — это не дедлайны, не правки кода. Сесть за работу — вот, где настоящий челлендж, дальше все идет как по маслу. К сожалению, опыт подсказывает, что от этого есть только одно лекарство — просто взять и начать писать. Из музыки я обычно предпочитаю монотонный «Кровосток» или задорных Reel Big Fish, а когда нужно переключиться — ем.
Хобби у меня есть, я очень люблю бег и бокс, но с принятием решений на работе я их не связываю: стараюсь полностью погружаться в то, что я делаю, и не засорять голову отвлекающими мыслями. Бокс — на тренировке, код — на работе.
Если бы была такая возможность, какой совет ты бы дал себе в начале своего профессионального пути?
Я бы вернулся в прошлое и шепнул себе: «В 2012 году сервис для обмена квадратными фотографиями продадут за 1 млрд долларов».