Добавить новость
Август 2011
Сентябрь 2011
Октябрь 2011
Ноябрь 2011
Декабрь 2011
Январь 2012
Февраль 2012
Март 2012
Апрель 2012
Май 2012
Июнь 2012
Июль 2012
Август 2012
Сентябрь 2012
Октябрь 2012 Ноябрь 2012 Декабрь 2012 Январь 2013
Февраль 2013
Март 2013
Апрель 2013
Май 2013
Июнь 2013
Июль 2013
Август 2013
Сентябрь 2013
Октябрь 2013
Ноябрь 2013
Декабрь 2013
Январь 2014
Февраль 2014
Март 2014
Апрель 2014 Май 2014
Июнь 2014
Июль 2014
Август 2014
Сентябрь 2014
Октябрь 2014
Ноябрь 2014 Декабрь 2014
Январь 2015
Февраль 2015 Март 2015
Апрель 2015
Май 2015
Июнь 2015
Июль 2015
Август 2015
Сентябрь 2015
Октябрь 2015
Ноябрь 2015
Декабрь 2015
Январь 2016
Февраль 2016
Март 2016 Апрель 2016
Май 2016
Июнь 2016
Июль 2016
Август 2016 Сентябрь 2016 Октябрь 2016 Ноябрь 2016 Декабрь 2016 Январь 2017 Февраль 2017 Март 2017
Апрель 2017
Май 2017
Июнь 2017
Июль 2017
Август 2017
Сентябрь 2017
Октябрь 2017
Ноябрь 2017
Декабрь 2017
Январь 2018
Февраль 2018
Март 2018
Апрель 2018
Май 2018 Июнь 2018 Июль 2018
Август 2018
Сентябрь 2018 Октябрь 2018 Ноябрь 2018 Декабрь 2018 Январь 2019 Февраль 2019 Март 2019 Апрель 2019 Май 2019 Июнь 2019 Июль 2019 Август 2019 Сентябрь 2019 Октябрь 2019 Ноябрь 2019 Декабрь 2019 Январь 2020 Февраль 2020 Март 2020 Апрель 2020 Май 2020 Июнь 2020 Июль 2020 Август 2020 Сентябрь 2020 Октябрь 2020 Ноябрь 2020 Декабрь 2020 Январь 2021 Февраль 2021 Март 2021 Апрель 2021 Май 2021 Июнь 2021 Июль 2021 Август 2021 Сентябрь 2021 Октябрь 2021 Ноябрь 2021 Декабрь 2021 Январь 2022 Февраль 2022 Март 2022 Апрель 2022 Май 2022 Июнь 2022 Июль 2022 Август 2022 Сентябрь 2022 Октябрь 2022 Ноябрь 2022 Декабрь 2022 Январь 2023 Февраль 2023 Март 2023 Апрель 2023 Май 2023 Июнь 2023 Июль 2023 Август 2023 Сентябрь 2023 Октябрь 2023 Ноябрь 2023 Декабрь 2023 Январь 2024 Февраль 2024 Март 2024 Апрель 2024 Май 2024 Июнь 2024 Июль 2024 Август 2024 Сентябрь 2024 Октябрь 2024 Ноябрь 2024 Декабрь 2024 Январь 2025 Февраль 2025 Март 2025 Апрель 2025 Май 2025 Июнь 2025 Июль 2025 Август 2025 Сентябрь 2025 Октябрь 2025 Ноябрь 2025 Декабрь 2025 Январь 2026 Февраль 2026 Март 2026 Апрель 2026 Май 2026 Июнь 2026 Июль 2026 Август 2026 Сентябрь 2026
1 2 3 4 5 6 7 8 9 10 11
12
13 14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Поиск города

Ничего не найдено

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

0 57

Со стороны 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#

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




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

Загрузка...

Moscow.media

Читайте также

В тренде на этой неделе

В горах Бурятии развернули поиски пропавшей туристки

«Торпедо» уступило «ИрАэро» в Иркутске со счётом 3:4


Загрузка...
Ria.city
Rss.plus


Новости последнего часа со всей страны в непрерывном режиме 24/7 — здесь и сейчас с возможностью самостоятельной быстрой публикации интересных "живых" материалов из Вашего города и региона. Все новости, как они есть — честно, оперативно, без купюр.




Иркутск на Russian.city


News-Life — паблик новостей в календарном формате на основе технологичной новостной информационно-поисковой системы с элементами искусственного интеллекта, тематического отбора и возможностью мгновенной публикации авторского контента в режиме Free Public. News-Life — ваши новости сегодня и сейчас. Опубликовать свою новость в любом городе и регионе можно мгновенно — здесь.
© News-Life — оперативные новости с мест событий по всей России (ежеминутное обновление, авторский контент, мгновенная публикация) с архивом и поиском по городам и регионам при помощи современных инженерных решений и алгоритмов от NL, с использованием технологических элементов самообучающегося "искусственного интеллекта" при информационной ресурсной поддержке международной веб-группы 103news.com в партнёрстве с сайтом SportsWeek.org и проектами: "Love", News24, Ru24.pro, Russia24.pro и др.