Мы в Telegram
Добавить новость
ВСЕ новости СЕГОДНЯ
BigPot.News — википедия новостей News24 с календарным архивом. Все самые быстрые 24/7 новости в ежеминутном тематическом обновлении Life24 — на русском, и не только + Today24, а также тексты с озвучкой — в авторском разделе #123ru.net
Ria.city

Кто такой iOS-разработчик

Блог сайта «GeekBrains»
10

Со стороны iOS разработка может казаться закрытым клубом. Для работы обязательно нужен Mac, Apple пристально контролирует экосистему. Изнутри тоже иногда слышны противоречия — кто-то говорит, что язык Objective-C старый и неповоротливый, а кто-то, что новый язык Swift слишком сырой. 

Тем не менее, разработчики идут в эту сферу и попав туда, остаются довольны. 

В этот раз о своем опыте нам рассказали Марат Нургалиев и Борис Павлов — как они учились профессии IOS-разработчика, как проходили первые собеседования, почему получали отказы. А экспертом выступил Андрей Антропов — декан факультета iOS-разработки в GeekBrains.

В 2016 году Марат Нургалиев из Астраханской области пришел устраиваться на работу мобильным разработчиком в местную телекомпанию. Это было его первое собеседование. Он только что вернулся из армии, без практики и опыта, позабыв даже теорию, с которой и так были проблемы. Единственным опытом в мобильной разработке у Марата была дипломная работа по анализу потоков утечек информации через Android-приложения. На собеседовании его спрашивали про учебу и опыт, про ООП и прочую теорию, но пробелы в знаниях Марату скрыть не удалось. 

Тем не менее, ему не отказали, а дали практическое задание — за две недели реализовать отображение списка новостей с помощью API. И под iOS, и под Android. «Если на Android у меня был какой-то опыт, то для создания iOS версии не было даже инструмента. Среда разработки ios приложений есть только на Mac. Но через две недели я вернулся, показал, что мог на Android. С iOS пришлось выкручиваться на ходу. В итоге меня взяли. Тогда я жил в Астрахани. Меня устраивала любая работа в ИТ с зарплатой выше двадцати».

Кто такие — iOS-разработчики

IOS-developers - это мобильные разработчики делают приложения для любых портативных устройств. Смартфоны, планшеты, умные часы и все остальные платформы, которые поддерживают 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 — очень простой язык для IOS-разработчиков и дружелюбный для новичков. Он строго типизированный, это позволяет перехватить на этапе компиляции проекта многие ошибки, а некорректный код просто не будет работать.

«Objective-C достаточно старый язык — ровесник языка С++. Во времена, когда его разрабатывали, требования к языкам были совсем другими. Когда появился Swift, в нем было много багов, функциональность была ограниченной, синтаксис был шероховатым. А на Objective-C у людей была набита рука. Он много лет совершенствовался, все ошибки там были исправлены. Но теперь, я думаю, Swift не уступает Objective-C. Хотя даже Apple в своих проектах до сих пор использует оба. Языки во многом взаимозаменяемые и взаимно дополняемые. Структуры и объекты одного языка можно превратить в объекты и структуры другого языка. Хорошо бы знать оба варианта, но для новичков Objective-C часто кажется пугающим и непонятным».

Обучение IOS-разработке

«На моей первой работе меня обучал начальник, помогал в реализации и настройке проекта», — рассказывает Марат, —  «Но работать по 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-разработчиков и подписаться на новые.

Работа

Но ни у Марата, ни у Бориса трудоустройство не прошло так просто. 

«Некоторые крупные фирмы давно разработали iOS приложения на Objective-C, и  продолжают поддерживать старую кодовую базу. К сожалению, у меня нет весомого аргумента, чтобы заставить их использовать исключительно Swift. Особенно тех, кто пользуется правилом „не трогай то, что работает“», — говорит Марат, — «Направлению Objective-C в Geekbrains уделяется мало внимания. Оно несет скорее ознакомительный характер. Но каждая компания, в которую я собеседовался, спрашивала про Objective-C. А так как учеба ориентирована на Swift, как и моя прошлая работа, то на собеседованиях я получал отказы».

«После учебы я самостоятельно знал только самые поверхностные основы, с помощью которых мог создать самое простое приложение», — рассказывает Борис, — «Для работы, конечно же, было недостаточно, но я радовался и этому. С поисками работы в Иркутске было сложно. Если точнее — совсем никак. Я решил искать в других городах. По количеству вакансий самыми актуальными оказались Краснодар, Москва и Петербург. Я решил поехать в СПБ — ближе к Европе. 

Но все оказалось не так радужно. Даже от джуниора IOS-разработки простят того, чего он знать не может. Я пока не нашел работу. Работаю за „спасибо“, набираюсь опыта. Понимаю, что это не то, чего я хотел, но мне интересно, и это движет мной. Я хочу получать знания».

Андрей считает, что новичкам стоит искать не работу, а стажировки. Если знаний совсем мало — то это нормально, когда стажировка не оплачивается. Идти на джуниорские вакансии Андрей советует в большие компании, где уже налажен процесс работы.

«Когда придет понимание, как устроен процесс разработки софта, станет гораздо легче ориентироваться и находить дальнейшую работу, в зависимости от своих желаний. Кто-то уходит в независимую разработку, делает игры сам для себя, сам же их заливает в магазин, и сам монетизирует. Кто-то работает на большую компанию со строгими правилами. Кто-то зарабатывает в небольших студиях, которые делают софт на заказ, и там могут наблюдать за всем процессом — от создания проекта с нуля до его сдачи в магазин».

Зарплаты

Зарплата iOS разработчика, как и любая другая зависит от вопроса «Москва или Россия». Но из-за специфики индустрии — много удаленной работы, возможности для релокации и работа не на региональном рынке — цифры все чаще приближаются друг к другу.

«Джуниор совсем низко уровня часто работает бесплатно или за символические деньги — 20–30 тысяч рублей. Если же джуниор целенаправленно взят на свою позицию, то получит от 50 до 80 тысяч. Мидлы получают от 100 до 150, и иногда даже до 200. Синьоры в IOS-разработке меньше 200 не получают. Я думаю, их зарплата в районе 200–300. А у тимлидов, соответственно, за 300».

Зарплаты сюда

По данным калькулятора зарплат «Моего круга» средняя зарплата iOS-разработчика составляет немногим меньше 140 000 рублей.

Собеседования

«Первое собеседование прошло по скайпу. На мое удивление это был Google», вспоминает Борис, — «тогда я только переехал в Питер и начал искать работу. Мне пришел отклик на вакансию iOS разработчика. Не джуниор, не мидл, не синьор — просто разработчик. Я обрадовался, начал переписываться с менеджером. Меня попросили выполнить техническое задание: надо было написать приложение для шуток про Чака Норриса. Я его написал. Мне сказали, что все классно и назначили онлайн собеседование.

Мы созвонились. Со мной общалась приятная девушка. Но никаких вопросов про знание языка не задавали — только разные логические задачки, например, „Время 15:15 сколько градусов между часовой и минутной стрелкой?“ или „Столб 10 метров, улитка днем ползет 3 метра вверх, ночью спускается на 1 метр. Через сколько дней она доползет до верха?“, и еще парочка подобных. 

Потом были совсем странные вопросы — за что я люблю Apple и как отношусь к Тиму Куку. Я сказал, что к компании в целом — положительно, а к нему скорее отрицательно, потому что ему важны деньги, а не продукты. 

Когда начались вопросы про Swift, моих знаний хватило только на паттерны программирования и основы ООП. Мы распрощались, через неделю мне перезвонили и сказали, что я не подхожу. Собственно, я из этого извлек огромный опыт: нужны знания, их нужно много — и теория, и практика».

Андрей рассказывает, что «первая вещь, которую у всех спрашивают на собеседовании — это жизненный цикл контроллера. Очень любят спрашивать какой-нибудь простенький паттерн программирования. Обязательно спросят про опыт использования популярных библиотек. Точно будет вопрос про отличия в Swift Value Types от Reference Types, про Automatic Reference Counting и управление памятью. Могут спросить, как реализовывали хранение данных в приложениях, и реализовывали ли сетевые запросы. Спросят про основы REST и JSON. Специфические вещи и тонкости у джуниора не будут спрашивать. По крайней мере я не спрашиваю».

У Бориса же был иной опыт: «Даже когда я просился на стажировки, выполнял технические задания и говорил, что мне не важна зарплата, лишь бы ее хватало на съем квартиры — мне все равно отказывали. Я читал статьи, пытался понять, что нужно рекрутеру от новичка. Но заваливали в основном на теории. Почему-то задавали вопросы из высшей лиги, которые не касаются новичков». 

Марату повезло больше. Сейчас он работает в транспортной компании и один отвечает за iOS направление, продолжая учебу на факультете. «Поскольку за iOS отвечаю я один, мой труд оценивается только умением реализовать поставленные передо мной задачи [а не знанием теории]».

Сообщество

Андрей живет в Нижнем Новгороде и говорит, что даже там сформировалось отличное сообщество. Когда-то давно он был бэкенд-разработчиком на Python, но друзья перетащили его в мобильную разработку — и теперь он сам агитирует всех ей заниматься. 

«Мировое комьюнити обычно общается через твиттер. Люди ведут свои блоги, записывают ролики на Youtube, зовут друг друга на подкасты. Однажды у меня появился вопрос по презентации, где выступал тимлид HQTrivia. Это американская викторина, в которую играет одновременно несколько миллионов человек. Я ему написал в твиттере, он мне ответил, мы пообщались, я поблагодарил. Комьюнити чрезвычайно дружелюбные, и это здорово».

Литература

https://docs.google.com/document/d/1-cMseCx1vBwVA8xv4uccpE_vkqvhPG_1Wt9gLiLWAGQ/edit#

Пройти обучение


Все новости по теме на сегодня

iOS в новостях



Музыкальные новости
Баста

Баста запланировал провести донской кубок с участием ФК «Ростов», «Чайка» и «СКА-Ростов»



Все новости 24/7

Game News

Гайд по фарму золота в Solo Leveling: Arise


Новости 24 часа

Героическое участие армян в СВО. Часть третья


News Every Day

Tom Aspinall says UFC 304 start time is ‘awful’ and should be changed as Brit provides update on next opponent


Українські новини

Депутат Миколаївської облради Кормишкін вперше опублікував своє весільне фото


Блоги

Россия и Дети: театр кукол Ульгэр в Бурятии покажет концерт-представление "Вальс Победы"


Мода

"Чек Индекс": Продажи новых марок одежды и обуви выросли за год в России на 10 проц

Общество

Все общество

Бизнес

Культура

Спорт

Политика

Авторы

Новости тенниса

WTA

Андреева обыграла Паолини и вышла в 1/4 финала турнира WTA в Мадриде



BigPot.Newsреально независимые новости по темам (энциклопедический систематизированный навигатор "Википедия новостей 24/7" c ежеминутным тематическим мониторингом интернет-пространства) в форме аполитичного просветительского интернет-журнала на русском языке, без цензуры, на многоязычной международной веб-платформе 123ru.net в содружестве с более чем 20 000 источников информации во всём мире, сайтом News-Life.pro, глобальными гео-проектами Russian.City и Moscow.Media под патронажем Russia24.pro с уникальным персонифицированным новостным разделом "Региональная власть РФ" без купюр и модерации, а также "VIP-скандалы" в двух цветовых вариантах "День - Ночь" (кнопка справа вверху). Эти новости увидят Ваши внуки (наша система обеспечивает вечное хранение опубликованной информации 24/7). Будьте честными сегодня, чтобы было не стыдно завтра.

Опубликовать свою новость в любом городе и регионе, а также на любом языке мира можно мгновенно — здесь


Ria.city

Победителем фестиваля "Дорога на Ялту" стал китайский вокалист Цзи Пангъю

Героическое участие армян в СВО. Часть третья

Главный приз музыкального фестиваля «Дорога на Ялту» отправится в Китай

Многофункциональный радиолокатор МРЛС поступает в эксплуатацию

Новости России

Майор Гром и Винни-Пух. Какие фильмы выйдут в российских кинотеатрах в мае

Многофункциональный радиолокатор МРЛС поступает в эксплуатацию

​Атака Чиркунова. Каким был 2007 год в истории Пермского края?

В Якутии тарифы за ЖКХ с 1 июля могут подняться на 9,5%

Экология в России и мире

"Чек Индекс": Продажи новых марок одежды и обуви выросли за год в России на 10 проц

В российских регионах в 2024 году начнут работу магазины «Петербургского дизайна»

Как характер влияет на болезни

6 городов России, где можно увидеть белые ночи кроме Санкт-Петербурга

Спорт в России и мире

Шиманович пробилась в ⅛ финала теннисного турнира в Сен-Мало

Соболенко вышла в ⅛ финала турнира WTA в Мадриде

Рублёв: быстрая победа над Грикспором связана с тем, что хотел быстрее уйти с корта

WTA предвкушает дуэль Елена Рыбакина — Юлия Путинцева на турнире в Мадриде

Moscow.media

Культура России: как прошёл конкурс бурятского языка для детей в Бурятии?

Саратовский парапланерист разбился в горах Карачаево-Черкессии

Россия и Дети: театр кукол Ульгэр в Бурятии покажет концерт-представление "Вальс Победы"

Цветочный водоворот

Новости Крыма на Sevpoisk.ru

"Вальс Победы" покажет Театр Ульгэр в честь Дня Победы, Россия, Культура Дети, Концерт

Пользователи Сети обсуждают новое совместное видео Моргенштерна* и Лизы Василенко: «С Диларой он таких эмоций не давал»

Продвижение новой музыки и ваших хитов на радио и в интернете

Певец Денис Майданов рассказал о состоянии здоровья и госпитализации

Губернаторы России

​Атака Чиркунова. Каким был 2007 год в истории Пермского края?

Московская компания запускает большую банкротную игру на приморских недрах

Дональд Трамп заявил, что США не выживут в случае победы Джо Байдена на выборах

Программного обеспечения хватило для ареста // Обвиняемым в хищении средств на контракт для спецсвязи ФСО меру пресечения избрали заочно


Все города России от А до Я

Персональные новости
Россия

6 городов России, где можно увидеть белые ночи кроме Санкт-Петербурга


BigPot.News — быстрые и самые свежие тематические новости об известных личностях в России, в Украине, в Беларусии, в Казахстане и за их пределами в календарном формате 24/7 на основе авторской технологичной информационно-поисковой системы Smi24.net с элементами искусственного интеллекта, гео-отбора и возможностью мгновенной публикации авторского контента в категориях News и Life в режиме Free Public



Больше новостей СЕГОДНЯ


BigPot.News — СРОЧНЫЕ новости. Неоспоримое преимущество BigPot.News — максимальная скорость публикаций 24/7. Быстрее нас, СЕЙЧАС, лишь только — ВЕТЕР)

Опубликовать свою новость в любом городе и регионе, а также на любом языке мира можно мгновенно — здесь