Что такое ios разработчик
iOS-разработчик
Разработчик под iOS создаёт программы для устройств, созданных под брендом Apple (iPad, iPod, iPhone, Apple Watch). Кстати, в 2021 году центр профориентации ПрофГид разработал точный тест на профориентацию. Он сам расскажет вам, какие профессии вам подходят, даст заключение о вашем типе личности и интеллекте.
Краткое описание
Продукция Apple, работающая на мобильной операционной системе iOS, занимает прочные позиции на российском рынке. По данным Worldwide Quarterly Mobile Phone Tracker – ежеквартального отчета IDC (International Data Corporation) – доля «яблочных» смартфонов в продажах четвертого квартала 2020 года составила 19,1 %. Спрос на товары этого всемирно известного бренда можно назвать стабильным, несмотря на незначительные колебания предпочтений покупателей в последние 4-5 лет, поэтому неудивительно, что рынок нуждается в опытных iOS-разработчиках.
На данный момент, безусловно, Android имеет большую часть рынка, но у iOS есть свои рыночные особенности. Например, многие приложения выпускаются в первое время только на iOS. Или, к примеру, iOS чаще использую руководители. Это не плохо и не хорошо, просто нужно понимать, что у iOS очень лояльная аудитория, привязанная к бренду Apple, и, исходя из этого, можно полагать, что iOS еще долгое время будет актуальна и мобильная разработка будет развиваться в направлении носимых устройств с гарантированной долей рынка.
Работа программистов, создающих ПО для устройств Apple, оплачивается немного, но выше, чем труд разработчиков для Android. Обусловлено это высокими требованиями целевой аудитирии, дороговизной продуктов для Apple, но в целом большой разницы в заработках нет.
Разработчики для iOS используют в работе новейший язык программирования Swift, который вытесняет с рынка Objective-C. Главная черта Swift – легкость его изучения и устойчивость к ошибкам, благодаря чему разработка ускоряется в несколько раз.
Особенности профессии
iOS-разработчик – это призвание, ведь только талантливые и упорные люди смогут добиться успеха, работая в этом направлении. Разработчики тратят много времени на самообразование, постоянно отслеживают тенденции рынка и настроение потенциальных покупателей. Важны увлеченность и адекватная оценка своих способностей.
Программист для iOS занимается:
Как стать разработчиком для iOS
Обучение на iOS-разработчика
Разработчик должен иметь высшее техническое образование. Если у будущего программиста для iOS уже есть практический опыт программирования на С++ или Java, то он может освоить эту профессию самостоятельно, изучая профильную литературу, общаясь на узкоспециализированных площадках.
Если человек целеустремлен и не хочет идти на курсы или в вуз, его ничто не остановит. Уверен, даже с помощью простых книг, статей в интернете, документации на сайте Apple https://developer.apple.com/documentation/, роликов на YouTube (например, русскоязычные каналы начального уровня The Swift Developers, SwiftBook) можно зацепится за начальный уровень и при достаточном упорстве найти первую работу, но все эти пути достаточно уникальны, и не думаю, что можно найти один паттерн, который приведет к успеху, хотя главное тут, конечно, практиковаться и писать программы. Лучше, если это будут реальные программы для вашего телефона, например, которые помогут вам в вашей текущей работе или учебе. Так вы сразу сможете почувствовать пользу от ваших стремлений к мобильной разработке для iOS, и это будет придавать силу для дальнейшего продвижения.
Если опыта программирования нет, то стоит искать хорошие IT-курсы, во время обучения на которых студент научится работать с нужными языками программирования (Swift, С++, SQL, Objective C) и другими инструментами, необходимыми для мобильной разработки.
Средняя длительность курса составляет 6–9 месяцев. Преимущество этого вида обучения заключается в том, что студент получает практический опыт создания iOS-приложений на разных платформах, подборку цифровых учебных материалов, полноценные консультации от ведущих специалистов в сфере mobile dev.
Курсы
Если вы уже давно получили образование и поняли, что хотите идти другим путем, то, думаю, самый лучший способ войти в мобильную разработку – это через курсы. Несмотря на то что многие критикуют эту форму учебы, я думаю, она может быть единственным способом зацепиться за разработку под iOS для людей, никак не связанных с ИТ. Возможно, вам потребуется взять не один курс, а последовательно несколько (зависит от глубины вашего погружения в ИТ), например, начиная с основ компьютерной грамотности или просто программирования.
Во-первых, курсы в целом дают необходимые знания. Во-вторых, они дают нетворкинг в среде таких же людей, как вы, – которые ищут возможности и обмениваются опытом входа в профессию. В-третьих, курсы – это во многом менторство: можно спрашивать преподавателей, советоваться. Не думаю, что на курсах по разработке можно найти преподавателей, которые работают из-за денег, скорее это более высокие ценностные истории, связанные с личным развитием или передачей своих знаний обществу. Поэтому уверен: многие не откажут ответить на ваши вопросы. Многие курсы предлагают помощь с резюме и первой работой, с проектами, которые можно засветить в резюме.
Если и идти в вуз, то не за дипломом об ИТ-образовании (не помню, чтобы спрашивали диплом), а за атмосферой и возможностями погружения. Постарайтесь найти работу на первых же курсах, возможно, не напрямую связанную с мобильной разработкой, но где-то около нее. Главное – держать в голове цель. Вы можете найти прекрасное место разработчика 1С и потом его будет трудно поменять на вашу мечту о мобильной разработке для iOS, поэтому при принятии всех решений ориентируйтесь на будущее. Хороший вариант – тестировщик мобильных приложений. Но главное – постоянно двигаться в нужном направлении. В конечном итоге правильный колледж или вуз сами вынесут вас к берегу мечты. Я бы сказал, что это самый простой способ войти в мобильную разработку, но этот способ также и самый долгий и во многом неэффективный с точки зрения трудозатрат.
Место работы
iOS-программистов нанимают на работу крупные компании, частные лица, владельцы интернет-магазинов, государственные структуры. У крупных и небольших компаний обязательно есть собственные программные продукты, с помощью которых клиент может заказать услугу, отследить доставку и выполнить другое целевое действие. Мобильная разработка – высокооплачиваемый сегмент рынка труда, в котором всегда есть вакансии.
Зарплата iOS-разработчика
Программисты, разрабатывающие приложения для ОС iOS, считаются одними из самых высокооплачиваемыми среди mobile developers. Продукты, продающиеся в App Store, как правило, дороже, чем программное обеспечение для Android, потому что потенциальная целевая аудитория продуктов для iOS – состоятельные люди, которые могут позволить себе приобрести недешевый девайс.
Зарплата ios-разработчика на декабрь 2021
Информации о зарплатах предоставлена порталом hh.ru.
Карьерный рост
Разработчик для iOS начинает с позиции помощника или стажера. Через год-полтора он становится младшим специалистом, потом работает как Middle, после чего занимает должность руководителя группы, проекта или целого отдела (Senior, Тech или Team Lead). Среднее время карьерного роста составляет 3–5 лет.
Профессиональные знания
Плюсом для желающих получить место iOS-разработчика в крупной компании, будут успешные продукты, размещенные в магазине App Store, участие в open-source проектах и опыт практикующего программиста не меньше года.
Кто такой iOS-разработчик?
iOS-разработчик создает и поддерживает мобильные приложения на iOS. Ее адептам нравятся прозрачность ОС, подробные гайдлайны и ограниченное количество гаджетов — не приходится адаптировать интерфейс под каждый смартфон. Вместе с iOS-разработчиком Алексеем Усановым разобрались, что нужно, чтобы освоить профессию, какими компетенциями и качествами надо обладать и сложно ли начать, если нет технического образования.
🤖 Читайте до конца: рассказываем, правда ли, что у Apple очень строгие гайды.
Что делает iOS-разработчик?
iOS-разработчик создает приложения для устройств Apple. Это не только iPhone, но и iPad, Apple Watch и другие гаджеты, входящие в экосистему. Он не только пишет код и работает над интерфейсом, но и занимается поддержкой приложения, адаптацией его под разные модели устройств, тестированием и исправлением багов.
Где он нужен?
iOS-разработчики востребованы везде — от игр и развлекательных приложений до банков и e-commerce. А пандемия и повсеместный переход компаний в онлайн показали, что в ближайшие годы спрос на мобильную разработку будет только расти. За первые три квартала 2020 года мобильный трафик вырос почти на 50% по сравнению с тем же периодом в 2019 году. Также в 2020 году в AppStore было доступно 4,38 млн приложений (на 10,3% больше, чем в 2019 году).
Сколько получает iOS-разработчик?
По данным HeadHunter, по состоянию на начало марта 2021 года на сайте открыто около 3 тыс. вакансий для iOS-разработчиков.
Начинающий iOS-разработчик c хорошим портфолио может зарабатывать от 80 тыс. рублей, мидл — в районе 150 тыс. рублей, синьор и тимлид — от 200 тыс. рублей.
Основные задачи:
Что ему нужно знать?
Для разработки на iOS, помимо техники от Apple, понадобится знание языков Objective-C и Swift.
Objective-C — язык более архаичный, а Swift современнее и проще. Но хотя сейчас большинство приложений для Apple и пишутся на Swift, есть и те, что написаны на Objective-C, поэтому все еще важно знать оба языка.
Не беда, если у вас нет мака, — можно потренироваться в Swift на виртуальной машине. Правда, для того чтобы собрать полноценное приложение, все-таки потребуется купить технику Apple.
Помимо этого нужно:
Все приложения пишутся в среде Apple XCode, ее можно бесплатно скачать из AppStore. Там есть средства для создания интерфейса, редактор кода и симуляторы всех устройств, чтобы протестировать готовые приложения.
Разработчик также должен знать правила сотрудничества с AppStore и в целом досконально изучить официальную документацию Apple.
iOS-разработчик с нуля
Получите перспективную профессию: освойте с нуля программирование на Swift, мобильную разработку и UX/UI для iOS. Дополнительная скидка 5% по промокоду BLOG.
Какие нужны софт-скилы?
Рассказывает Алексей Усанов:
Общаться с коллегами и решать конфликты: «Софт-скилы — это важная вещь. Ты можешь быть подкованным и умным, но если не можешь найти общий язык с командой, то грош цена твоим знаниям и умениям. Бывает, что приходит молодой, активный и веселый разработчик. Он все знает и умеет, очень талантливый. Но он может работать только один, не умеет найти общий язык с командой. Поэтому он будет решать только свои узкие задачи и не сможет расти дальше».
Корректно указывать другим на ошибки: «Часто люди думают: “Зачем мне лезть?” Но есть и те, кто, наоборот, слишком резко говорит об ошибках других — это тоже нехорошо».
Ловить дзен и спокойно принимать критику: «Если ты молодец и умеешь общаться — здорово, но это не значит, что твой коллега тоже будет тактичен и корректен. Нужно уметь принимать такие вещи, это не должно мешать работе», — говорит Алексей.
Плюсы и минусы профессии
Плюсы:
Минусы:
Все эти плюсы одновременно и ограничивают, считает Алексей. Разработчик всегда находится внутри одной экосистемы. Если, например, он захочет использовать особенным образом работу с какими-то сенсорами, то сделать этого не сможет, потому что доступ к таким изменениям ограничен.
В каких случаях становятся iOS-разработчиками?
Заблуждения об iOS-разработке
Чем сложнее код, тем лучше приложение. Зачастую разработчики приложений на iOS считают фреймворки Apple слишком простыми и пытаются создать что-то с нуля, тратя много времени на обдумывание сложной архитектуры и разработку новых концепций. На самом деле не нужно изобретать велосипед. Все фреймворки были созданы опытными разработчиками: они точно знают, что будет работать, а что — нет.
Разработчик на iOS не может переквалифицироваться и разрабатывать приложения для Android. Если у программиста уже есть навык, он вполне может перейти на другую ОС и помимо Swift выучить Java или Kotlin либо заняться кроссплатформенной разработкой.
Как начать?
Если у вас нет компьютера на macOS, то можно попробовать кодить на Swift на виртуалке. Это можно сделать, скачав на официальном сайте языка GNU/Linux (операционные системы на основе ядра Linux и системных библиотек GNU) с установленным Swift (есть официальные пакеты под Ubuntu, CentOS и Amazon Linux). Другой вариант — скачать на GitHub Windows с неофициальным пакетом Swift for Windows. Среду для разработки Apple XCode можно загрузить с официального сайта Apple. Однако, чтобы полноценно собирать приложения, все-таки понадобится техника Apple.
Пошаговый план для новичков:
Можно учиться разработке самостоятельно — для начала пройти вводные бесплатные курсы на Coursera.
Либо можно записаться на курс iOS-разработки SkillFactory и изучить все аспекты от программирования до фреймворков и релиза.
iOS-разработчик с нуля
Получите перспективную профессию: освойте с нуля программирование на Swift, мобильную разработку и UX/UI для iOS. Скидка 5% по промокоду BLOG
Правда ли, что у Apple очень строгие гайды?
Да, интерфейсы на iOS можно создавать только по гайдлайнам, разработанным Apple. В противном случае приложение может не пройти проверку при публикации в AppStore.
В Apple очень щепетильны к дизайну. Например, в приложениях на iOS используется динамический размер системного шрифта — пользователю не нужно менять его, это делается автоматически. Также в компании рекомендуют делать дизайн максимально функциональным, избегая лишних «украшений», а также различных градиентов и падающих теней. С одной стороны, строгий гайдлайн ограничивает разработчика. Но с другой — компания постоянно обновляет инструкции и делает их максимально подробными, поэтому новичку будет проще ориентироваться.
Полезные ссылки
Гайд Human Interface Guidelines от Apple о принципах дизайна приложений.
Apple XCode — среда для разработки для iOS.
Cocoadevelopers.club — открытый клуб iOS и OS X разработчиков.
iosdevweekly — еженедельная iOS-рассылка с полезными статьями на тему iOS-разработки.
Школа iОS-разработчиков — видеоуроки на YouTube.
iOS-программирование в Xcode — цикл видеоуроков на YouTube.
Чего ждать, если хочешь стать iOS-разработчиком
Со стороны iOS разработка может казаться закрытым клубом. Для работы обязательно нужен компьютер от Apple, экосистему пристально контролирует одна компания. Изнутри тоже иногда слышны противоречия — кто-то говорит, что язык Objective-C старый и неповоротливый, а кто-то, что новый язык Swift слишком сырой.
Тем не менее, разработчики идут в эту сферу и попав туда, остаются довольны.
В этот раз о своем опыте нам рассказали Марат Нургалиев и Борис Павлов — как они учились профессии, как проходили первые собеседования, почему получали отказы. А экспертом выступил Андрей Антропов — декан факультета iOS-разработки в GeekBrains.
В 2016 году Марат Нургалиев из Астраханской области пришел устраиваться на работу мобильным разработчиком в местную телекомпанию. Это было его первое собеседование. Он только что вернулся из армии, без практики и опыта, позабыв даже теорию, с которой и так были проблемы. Единственным опытом в мобильной разработке у Марата была дипломная работа по анализу потоков утечек информации через Android-приложения. На собеседовании его спрашивали про учебу, ООП и прочую теорию, но пробелы в знаниях Марату скрыть не удалось.
Тем не менее, ему не отказали, а дали практическое задание — за две недели реализовать отображение списка новостей с помощью API. И под iOS, и под Android. «Если на Android у меня был какой-то опыт, то для создания iOS версии не было даже инструмента. Среда разработки ios приложений есть только на Mac. Но через две недели я вернулся, показал, что мог на Android. С iOS пришлось выкручиваться на ходу. В итоге меня взяли. Тогда я жил в Астрахани. Меня устраивала любая работа в ИТ с зарплатой выше двадцати».
Кто такие — iOS-разработчики
Мобильные разработчики делают приложения для любых портативных устройств. Смартфоны, планшеты, умные часы и все остальные платформы, которые поддерживают Android или iOS. Фундаментальные основы мобильной разработки не отличается от обычной, но из-за специфических инструментов ее выделили в отдельное направление. Здесь используются свои инструменты, языки программирования и фреймворки.
«Для работы с iOS нужен макбук, потому что только на нем есть необходимая среда разработки Xcode. Она бесплатна и распространяется через магазин приложений AppStore. Для установки надо иметь своей Apple ID и больше ничего. В Xcode можно разработать приложения для чего угодно — телефона, планшета, часов. Встроенный симулятор и редактор есть для всего», — говорит Андрей Антропов, декан факультета iOS разработки в GeekBrains.
«Но среду разработки можно поставить и на Windows, если использовать „Хакинтош”. Это рабочий, но окольный вариант — никто из серьезных разработчиков подобным не занимается. Начинающие покупают старенький Макбук. А опытные обычно могут себе позволить последнюю модель».
Языки — Swift или Objective-C
Почти вся iOS-разработка ведется при помощи языка программирования Swift. Он появился пять лет назад и сейчас постепенно вытесняет старый язык Objective-C, который Apple использовала во всех своих приложениях больше 30 лет
«На Objective-C накоплена огромная база кода, поэтому до сих пор требуются разработчики на оба языка, в зависимости от компании, от ее задач и приложений. Приложения, написанные много лет назад, основаны на Objective-C. А все новые проекты по умолчанию разрабатываются на Swift. Сейчас Apple очень много делает для того, чтобы вести одновременную разработку под телефон, планшет, часы и Макбук было максимально удобно. Один и тот же код может быть скомпилирован и запущен везде. Раньше этого не было. Под iOS разрабатывали на Swift, под MacOS использовали Objective-C».
По словам Андрея, Swift — очень простой язык, дружелюбный для новичков. Он строго типизированный, это позволяет перехватить на этапе компиляции проекта многие ошибки, а некорректный код просто не будет работать.
«Objective-C достаточно старый язык — ровесник языка С++. Во времена, когда его разрабатывали, требования к языкам были совсем другими. Когда появился Swift, в нем было много багов, функциональность была ограниченной, синтаксис был шероховатым. А на Objective-C у людей была набита рука. Он много лет совершенствовался, все ошибки там были исправлены. Но теперь, я думаю, Swift не уступает Objective-C. Хотя даже Apple в своих проектах до сих пор использует оба. Языки во многом взаимозаменяемые и взаимно дополняемые. Структуры и объекты одного языка можно превратить в объекты и структуры другого языка. Хорошо бы знать оба варианта, но для новичков Objective-C часто кажется пугающим и непонятным».
Обучение
«На моей первой работе меня обучал начальник, помогал в реализации и настройке проекта», — рассказывает Марат, — «Но работать по Android и по iOS одновременно трудно. Нужно время для перестройки, переключения с проекта на проект, с языка на язык. В итоге я решил, что нужно выбрать одно направление и изучать его. Меня подкупили интерфейс Xcode и простой синтаксис Swift».
Марат поступил на факультет iOS-разработки в GeekBrains. Первое время было очень легко, потому что многие вещи он знал по опыту работы. Годовой курс разбит на четыре четверти. По словам Андрея, в первой дается только самая база: «Основа языка Swift, знание базовых фреймворков, сетевое взаимодействие, хранение данных, жизненный цикл приложения, контроллера, базовые архитектуры, основные библиотеки, которые все используют, многопоточность и параллелизм в приложениях».
Во второй четверти добавляется Objective-C. Проводится курс по архитектуре, базовым паттернам программирования. В третьей четверти учат правильному стилю написания кода. Рассказывается, что такое фабрика, как правильно писать тесты, формировать проекты, что такое Git-Flow, Continuous Integration через Fast Lane. Четвертая и завершающая четверть посвящена командной работе, практическим заданиям и стажировкам.
«Первая четверть прошла легко», — говорит Марат, — «но потом началось изучение программирования на Objective-C, изучение паттернов проектирования, принципов Solid, Git-Flow, архитектуры проекта, Unit и UI тестирования приложений, настройка кастомной анимации — и тогда мне стало интересно учиться».
«У меня в GeekBrains все началось не супер гладко», — рассказывает Борис Павлов, и его путь к iOS-разработке в целом был не самым прямым. Парня воспитывала бабушка. Она была архитектором, математиком и дизайнером и привила Борису любовь к проектированию, научила чертить от руки и рисовать. Его дядя был сисадмином и заинтересовал племянника компьютерами.
Борис был отличником, но потерял интерес к учебе и ушел из школы после девяти классов. После техникума он занялся велоспортом, и компьютеры ушли на второй план. Но однажды Борис получил травму позвоночника, которая не дала продолжить спортивную карьеру.
Он начал изучать C++ с преподавателем в Иркутском Институте Солнечно-Земной Физики. Затем заинтересовался геймдевом и попробовал перейти на C#. И, наконец, как и Марата, его подкупил язык Swift.
«Я решил пройти бесплатный вводный курс в GeekBrains. Если честно, он был очень скучным, вялым и непонятным», — вспоминает Борис, — «преподаватель рассказывал об особенностях языка, но метался из одной темы в другую не раскрывая сути. Когда курс закончился, я так ничего и не понял».
Поэтому после вводного курса Борис поступил не на годовое обучение, а на короткий трехмесячный курс, где преподают самые основы профессии. «Там мне попались очень хорошие преподаватели, и объясняли все достаточно понятно».
«Нас часто критикуют, якобы у нас не совсем актуальные методички, есть неточности. Но курсы постоянно обновляются, а преподаватели всегда рассказывают о новшествах. Из групп, которые я веду, очень многие трудоустраиваются уже после первой четверти. Конечно, обычно это люди с опытом программирования», — говорит Андрей, — «С другой стороны, все знания невозможно донести за один курс. Сетевое клиентское взаимодействие в жизни не уместишь в десять лекций по два часа. И если ты ходишь только на курсы и больше ничего дополнительно не делаешь, то знаний не хватит. Если же весь год заниматься каждый день, то при таком темпе только ленивый не устроится. Потому что спрос в профессии очень большой».
Вы можете посмотреть самые свежие вакансии для iOS-разработчиков и подписаться на новые.
Работа
Но ни у Марата, ни у Бориса трудоустройство не прошло так просто.
«Некоторые крупные фирмы давно разработали iOS приложения на Objective-C, и продолжают поддерживать старую кодовую базу. К сожалению, у меня нет весомого аргумента, чтобы заставить их использовать исключительно Swift. Особенно тех, кто пользуется правилом „не трогай то, что работает“», — говорит Марат, — «Направлению Objective-C в Geekbrains уделяется мало внимания. Оно несет скорее ознакомительный характер. Но каждая компания, в которую я собеседовался, спрашивала про Objective-C. А так как учеба ориентирована на Swift, как и моя прошлая работа, то на собеседованиях я получал отказы».
«После учебы я самостоятельно знал только самые поверхностные основы, с помощью которых мог создать самое простое приложение», — рассказывает Борис, — «Для работы, конечно же, было недостаточно, но я радовался и этому. С поисками работы в Иркутске было сложно. Если точнее — совсем никак. Я решил искать в других городах. По количеству вакансий самыми актуальными оказались Краснодар, Москва и Петербург. Я решил поехать в СПБ — ближе к Европе.
Но все оказалось не так радужно. Даже от джуниора просят того, чего он знать не может. Я пока не нашел работу. Работаю за „спасибо“, набираюсь опыта. Понимаю, что это не то, чего я хотел, но мне интересно, и это движет мной. Я хочу получать знания».
Андрей считает, что новичкам стоит искать не работу, а стажировки. Если знаний совсем мало — то это нормально, когда стажировка не оплачивается. Идти на джуниорские вакансии Андрей советует в большие компании, где уже налажен процесс работы.
«Когда придет понимание, как устроен процесс разработки софта, станет гораздо легче ориентироваться и находить дальнейшую работу, в зависимости от своих желаний. Кто-то уходит в независимую разработку, делает игры сам для себя, сам же их заливает в магазин, и сам монетизирует. Кто-то работает на большую компанию со строгими правилами. Кто-то зарабатывает в небольших студиях, которые делают софт на заказ, и там могут наблюдать за всем процессом — от создания проекта с нуля до его сдачи в магазин».
Зарплаты
Зарплата iOS разработчика, как и любая другая зависит от вопроса «Москва или Россия». Но из-за специфики индустрии — много удаленной работы, возможности для релокации и работа не на региональном рынке — цифры все чаще приближаются друг к другу.
По данным калькулятора зарплат «Моего круга» средняя зарплата iOS-разработчика составляет немногим меньше 140 000 рублей.
«Джуниор совсем низкого уровня часто работает бесплатно или за символические деньги — 20–30 тысяч рублей. Если же джуниор целенаправленно взят на свою позицию, то получит от 50 до 80 тысяч. Мидлы получают от 100 до 150, и иногда даже до 200. Синьоры меньше 200 не получают. Я думаю, их зарплата в районе 200–300. А у тимлидов, соответственно, за 300».
Собеседования
«Первое собеседование прошло по скайпу. На мое удивление это был Google», вспоминает Борис, — «тогда я только переехал в Питер и начал искать работу. Мне пришел отклик на вакансию iOS разработчика. Не джуниор, не мидл, не синьор — просто разработчик. Я обрадовался, начал переписываться с менеджером. Меня попросили выполнить техническое задание: надо было написать приложение для шуток про Чака Норриса. Я его написал. Мне сказали, что все классно и назначили онлайн собеседование.
Мы созвонились. Со мной общалась приятная девушка. Но никаких вопросов про знание языка не задавали — только разные логические задачки, например, „Время 15:15 сколько градусов между часовой и минутной стрелкой?“ или „Столб 10 метров, улитка днем ползет 3 метра вверх, ночью спускается на 1 метр. Через сколько дней она доползет до верха?“, и еще парочка подобных.
Потом были совсем странные вопросы — за что я люблю Apple и как отношусь к Тиму Куку. Я сказал, что к компании в целом — положительно, а к нему скорее отрицательно, потому что ему важны деньги, а не продукты.
Когда начались вопросы про Swift, моих знаний хватило только на паттерны программирования и основы ООП. Мы распрощались, через неделю мне перезвонили и сказали, что я не подхожу. Собственно, я из этого извлек огромный опыт: нужны знания, их нужно много — и теория, и практика».
Андрей рассказывает, что «первая вещь, которую у всех спрашивают на собеседовании — это жизненный цикл контроллера. Очень любят спрашивать какой-нибудь простенький паттерн программирования. Обязательно спросят про опыт использования популярных библиотек. Точно будет вопрос про отличия в Swift Value Types от Reference Types, про Automatic Reference Counting и управление памятью. Могут спросить, как реализовывали хранение данных в приложениях, и реализовывали ли сетевые запросы. Спросят про основы REST и JSON. Специфические вещи и тонкости у джуниора не будут спрашивать. По крайней мере я не спрашиваю».
У Бориса же был иной опыт: «Даже когда я просился на стажировки, выполнял технические задания и говорил, что мне не важна зарплата, лишь бы ее хватало на съем квартиры — мне все равно отказывали. Я читал статьи, пытался понять, что нужно рекрутеру от новичка. Но заваливали в основном на теории. Почему-то задавали вопросы из высшей лиги, которые не касаются новичков».
Марату повезло больше. Сейчас он работает в транспортной компании и один отвечает за iOS направление, продолжая учебу на факультете. «Поскольку за iOS отвечаю я один, мой труд оценивается только умением реализовать поставленные передо мной задачи, а не знанием теории».
Сообщество
Андрей живет в Нижнем Новгороде и говорит, что даже там сформировалось отличное сообщество. Когда-то давно он был бэкенд-разрботчиком на Python, но друзья перетащили его в мобильную разработку — и теперь он сам агитирует всех ей заниматься.
«Мировое комьюнити обычно общается через твиттер. Люди ведут свои блоги, записывают ролики на Youtube, зовут друг друга на подкасты. Однажды у меня появился вопрос по презентации, где выступал тимлид HQTrivia. Это американская викторина, в которую играет одновременно несколько миллионов человек. Я ему написал в твиттере, он мне ответил, мы пообщались, я поблагодарил. Комьюнити чрезвычайно дружелюбные, и это здорово».