Елена Булыгина предлагает Вам запомнить сайт «Ленусик»
Вы хотите запомнить сайт «Ленусик»?
Да Нет
×
Прогноз погоды

Основная статья: Учеба

12 вопросов об iOS-разработке: интервью с деканом

На вопросы отвечает декан факультета iOS-разработки Андрей Антропов.

— Андрей, приветствую! Сколько вы уже в iOS-разработке?

— Здравствуйте. В iOS-разработке я три года. Перешел из бэкенд-сферы и до сих пор не жалею: получаю сплошное удовольствие от связки Swift-iOS. Успел поработать и фрилансером, и в команде. Сейчас разрабатываю приложения в замечательной студии Morizo-Digital.

— Чем вас привлекла сфера iOS? И какие она предлагает пути развития? Особенно интересны самые перспективные, на ваш взгляд, направления iOS-разработки.

— Когда я переходил в iOS, ориентировался на цветущие и довольные лица друзей — они уже давно занимались разработкой под эту ОС. Теперь же я могу сказать, что их положительные отзывы не были преувеличенными. Сфера у нас одновременно интересная (на передовом рубеже развития техники), высокооплачиваемая, и что самое удивительное — хороших специалистов в ней до сих пор не хватает.

Основной путь развития очевиден — создание мобильных приложений для iPhone и iPad. Но в последнее время открываются и другие возможности.

  • Разработка приложений для умных часов (watchOS), которые все плотнее входят в нашу жизнь.
  • Серверная Swift-разработка. Еще пару лет назад она была причудой энтузиастов, а сейчас вовлекает все больше людей. Я говорю не только о фреймворках Vapor, Kitura, но и о системной библиотеке SwiftNIO от Apple, которая позволяет использовать вышеперечисленные библиотеки в серверных решениях. Появление SwiftNIO показывает, что Apple заинтересована развивать серверное Linux-направление.
  • MacOS-разработка. Она все ближе и доступнее с выходом Marzipan — фреймворка, который позволит создавать macOS-приложения при помощи основной iOS-библиотеки UIKit. Знания, полученные при изучении iOS, становятся еще универсальнее.
  • Всеми любимая разработка игр. Их можно создавать не только при помощи Unity (привет факультету разработки игр), но и посредством встроенных системных инструментов SpriteKit и SceneKit.
  • Многое другое. Что говорить, если уже сейчас можно запускать Swift на Raspberry Pi и создавать умные устройства, управляемые с телефона.

Конкретно в iOS-разработке наибольший ажиотаж за последний год — вокруг приложений, использующих машинное обучение (ML) и дополненную реальность (AR).

Для обеих этих сфер Apple создала очень удобные системные библиотеки MLKit и ARKit соответственно. Они позволяют интегрировать последние достижения ML и AR при помощи нескольких строк кода.

В дальнейшем предложение будет диктовать спрос: ждем заявок от интернет-магазинов на AR-примерочные или, например, анализ и обработку отзывов средствами Machine Learning.

— Что интересного сейчас происходит с самим языком Swift — как он развивается и меняется в последние несколько лет?

— Swift очень вырос, окреп за последние годы и де-факто стал основным языком iOS-разработки. Думаю, не сильно ошибусь, если скажу, что 95 % новых iOS-приложений создаются на Swift. Кроме того, как я уже сказал, продолжается экспансия языка Swift на платформу Linux.

Реализованный в 2014 году Swift 4.2 LSP (Language Server Protocol) позволяет удобно работать с языком не только в заточенной под macOS среде Xcode, но и в других IDE, которые можно запускать и на Linux. Например, в Visual Studio Code. Количество системных приложений, которые Apple переписали с Objective-C на Swift, в iOS версий 10, 11 и 12 растет экспоненциально.

— Чтобы начать писать для iOS, нужно иметь Apple-устройство под рукой. Каков минимальный набор начинающего разработчика? Я слышала, надо еще платить какие-то отчисления...

— К сожалению, входной барьер в iOS-разработку высок, но это связано со стоимостью оборудования. Для начала вам потребуется MacBook, желательно не очень древней модели. На него вы установите среду разработки Xcode, после чего сможете начать писать первую программу. Больше на старте ничего платить не придется: достаточно бесплатного сертификата, привязанного к вашему Apple ID.

А вот чтобы загрузить свое приложение в магазин, понадобится оплатить distribution-лицензию. Она стоит 99 $ в год, но обычно эти деньги вносит не разработчик, а заказчик приложения.

Тестировать созданное приложение вы сможете хоть в программном симуляторе, хоть на подключенном к макбуку устройстве — платить за это не надо. Но и здесь есть нюанс: не вся функциональность доступна по бесплатной лицензии разработчика. Например, для подключения iCloud нужна платная годовая подписка.

— iOS-разработка — это не только Swift, но и Objective-C. Для каких задач предпочтительнее каждый из этих языков? И зачем студенты факультета еще учат основы C?

— Надо понимать, что Objective-C долгие годы был единственным языком разработки для macOS и iOS. За это время программисты написали на нем множество библиотек и модулей, которые до сих пор повсеместно используются, и заменить их в один миг нельзя. Да и, скорее всего, не нужно. Так что Swift и Obj-C — это спайка двух родственных технологий.

Да, сейчас Swift вышел на уровень, когда вы можете писать приложения, не зная Obj-C. О существовании последнего вы можете даже не подозревать. Но для полного понимания системных процессов знание Obj-C очень полезно. А ведь мы хотим, чтобы подход студентов к разработке был глубоким.

Кроме того, спрос на программистов Obj-C до сих пор высок. Особенно в компаниях с богатой историей разработки и массой так называемого legacy-кода, который нужно поддерживать и оптимизировать.

Если мы копнем еще глубже, то увидим, что некоторые iOS-проекты требуют библиотек на C/C++. В отдельных случаях это позволяет достичь большого прироста производительности. Чтобы не ходить далеко за примером: на C/C++ реализована популярная библиотека Realm для хранения данных в мобильных приложениях.

Поэтому мы считаем, что знание основ языка С (например, указателей и memory layout) сегодня пригодится любому разработчику.

— Главный вопрос, который я задаю всем деканам: какие проекты делают ваши студенты?

— Приложения для работы с VK, для интернет-магазина и системы поиска билетов. Полученного в итоге опыта оказывается достаточно для трудоустройства. Многие наши выпускники работают в крупных компаниях, таких как Сбербанк, «Мамба», «Везёт».

— Что можно рассказать о факультативах от партнеров?

— Факультативы — это видеоуроки и вебинары от экспертов, которые обучают студентов продвинутым технологиям. Например, в прошлом году мы записали факультатив по Core Data от «Тинькофф Банка». Сейчас записываем факультатив по архитектурам приложений со старшим разработчиком браузера Mail.ru Group. Также готовим факультатив «Реактивное программирование» от AGIMA.

— Вы начали писать для iOS, уже имея опыт в Python. Был ли этот переход легким и насколько отличается процесс изучения этих языков?

— Кривая обучения у обоих языков довольно пологая — они очень дружелюбны к новичкам. Это здорово, ведь программирование должно привлекать, а не отталкивать. Безусловно, если вы знаете один из популярных языков, будь то С/C++, Java, Python, Go или Ruby — освоить Swift вам гораздо легче, чем тому, что учит его с нуля. Все перечисленные языки реализуют объектно-ориентированный подход, а значит у них много общего.

— В обращении к студентам вы упомянули о сходстве Swift и Python в плане интуитивной семантики. А было что-то, что поначалу удивило в Swift?

— Меня очень удивила легкость, с которой в Swift мы можем отойти от ООП-парадигмы в сторону функциональной.

Как и многим техническим специалистам, в университете нам преподавали Lisp и Prolog. С тех пор к функциональному программированию я относился очень настороженно и поначалу сторонился функционального подхода в Swift. Но со временем понял, что FP на Swift и Lisp — это земля и небо, а работа с математическими вычислениями и функциями может быть лаконичной, логичной и приятной.

— Ваша основная работа в Morizo-Digital тоже связана с iOS-разработкой?

— Да. В нашей студии я отвечаю за iOS-разработку. Но уточню: 14 лет мы создавали в основном сайты и бэк. Мобильными приложениями занимаемся совсем недавно. У меня сейчас на попечении два проекта, которые готовятся к релизу. До окончания разработки я не могу раскрывать подробности.

— По вашему опыту, какие темы в Swift для студентов — самые трудные?

— Swift богат возможностями: есть и дженерики, и протоколы, и ассоциативные типы, которые на самом деле являются дженериками для протоколов, а есть еще и расширения протоколов. В работе с протоколами и расширениями протоколов компилятор может применять статическую либо динамическую отправку методов — у них разная скорость выполнения. Наша же главная задача — оптимизировать код правильно. Когда мы пытаемся сочетать продвинутые техники, чтобы получить суперпродвинутую, — не грех и запутаться. Не знаю, как студенты, а я чуть не сбился, пока писал ответ на этот вопрос.

Если вам интересно, о чем я, можете посмотреть на opaque result types, которые появятся в Swift 5.1. Увидите, какие проблемы они решат.

— Какие материалы вы рекомендуете ученикам в дополнение к занятиям и методичкам?

— Я советую черпать знания изо всех проверенных источников. Условно их можно разделить на три типа:

1. Блоги, статьи, подкасты.

  • Обновленный блог Мэтта — автора популярнейших библиотек AFNetworking/Alamofire. Здесь можно почитать думы опытного программиста об iOS-делах насущных. Сложность материала: высокая.
  • Блог Джона Санделла — большого iOS-энтузиаста и участника всех возможных конференций. Он написал больше 100 статей о самых разных аспектах разработки и жизни программиста. Сложность материала: умеренная.
  • Шон Аллен — программист, который интересен искренностью и открытостью, с которой он рассказывает сообществу о своей работе. По понедельникам он делится с аудиторией новостями Swift.
  • Flawless App Stories — блог на Medium с подборкой статей по актуальным проблемам разработки от разных авторов. Замечателен тем, что позволяет взглянуть на процесс глазами сотен людей. Сложность материалов: очень разная.
  • Антуан Ван дер Ли — голландец, который в своем блоге сочетает множество тем: от разбора основ программирования до проблем выгорания и личности программиста.
  • iOS Dev Weekly — подборка самых актуальных новостей мира Swift. Уже несколько лет выходит каждую пятницу.
  • iOS Goodies — еще одна подборка новостей и обучающих статей, только выходит по вторникам.

2. Обучающие сайты.

  • RayWendelich — сайт №1 с обучающими материалами по iOS. Здесь много статей, видеоуроков и абсолютно замечательных книг, но в основном, конечно, платных.
  • ObjC.io — аналог предыдущего сайта, но с более глубокой академической подачей материала. Это для философов от Swift.
  • HackingWithSwift — сайт Ивана Урганта от Swift, Пола Хадсона (Paul Hudson) — мастера презентаций, Adobe After Effects и заготовленных шуток-каламбуров. В отличие от первых двух сайтов, здесь полно бесплатных статей и видео. Есть даже бесплатная обучающая программа.
  • Pointfree.co — мой любимый сайт, где двое дядек рассуждают о функциональном подходе в Swift. Их увлеченные лица как бы намекают, что они с удовольствием дискутировали бы и бесплатно. Но, к сожалению, для просмотра большинства видео нужна платная подписка.

3. Конференции разработчиков (записи выступлений, скорее всего, доступны на YouTube).

Русскоязычные:

Англоязычные:

И конечно, главное событие года для каждого iOS-программиста — конференция WWDC от Apple.

— Спасибо! Андрей, будем ждать вопросов от желающих изучать Swift и iOS-разработку. :)

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

4 июн 19, 13:04
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Продуктовая аналитика в GeekBrains: обзор учебного курса

Чтобы вы понимали, кто и чему учит на новом курсе продуктовой аналитики в GeekBrains, мы подготовили «панорамный» обзор специальности: задали вопросы кураторам каждого из пяти учебных блоков. Хотелось показать вам детализированную и объемную картину: какие темы и инструменты изучат студенты за четыре с половиной месяца.

В статье тематические модули рассмотрены не по порядку следования в учебной программе, а по логике: от более общих вопросов — к частным.

Unit-экономика, аналитика продукта и бизнес-метрики

Елена Чернышева — 10 лет работает с разными видами B2B- и B2C-продуктов в сфере мобильной и веб-разработки, а также сбора данных. Участвовала в создании продукта для FMСG-производителей и торговых компаний, перезапустила сервис «Яндекс.Справочник», развивала B2C-направление сервиса «Яндекс.Недвижимость». Сейчас — product-менеджер «Яндекс.Шеф».

— Елена, привет! Первый вопрос о профессии продуктового аналитика: что он делает на практике, что должен уметь и какими инструментами владеть?

— Аналитик знает цели бизнеса и помогает ему принимать лучшие решения на основе данных.

Основное, чем занимается продуктовый аналитик:

  • собирает и готовит данные для анализа;
  • автоматизирует обработку данных и другие рутинные задачи, которые съедают время;
  • создает инфраструктуру, которая позволяет клиенту самостоятельно готовить отчеты;
  • проводит исследования, анализирует метрики, изучает поведение пользователей;
  • строит и проверяет гипотезы;
  • и главное — находит точки роста для бизнеса.

Если работа выстроена правильно, аналитик не отвлекается на повторяющиеся задачи.

Чтобы создать хорошую систему аналитики, нужно знать, где брать данные внутри и вне компании, как проверять их точность и полноту. Именно этому студенты научатся на моих занятиях.

В блоке продуктовой аналитики мы выясним, как перевести цели бизнеса в конкретные цифры и выстроить систему метрик. Как исследовать поведение пользователей и на этой основе находить места для улучшения в продукте. Что делать, если данных нет или недостаточно. Я покажу, как проверять гипотезы с помощью A\B-экспериментов и не только.

В других блоках курса студенты освоят инструменты аналитика, такие как Power BI и Python.

— Любому ли бизнесу нужны такие специалисты? Где они востребованы прежде всего?

— Любому бизнесу, который относится к тому, что он делает, как к продукту, или хочет перейти на такой подход. В России product-менеджеры и аналитики есть в штате 75 % самых богатых компаний Рунета по версии Forbes. Продуктовую аналитику берут на вооружение даже компании, которые больше про офлайн: ВТБ, Сбербанк, ПИК и другие.

Кстати, на западе многие продуктовые подходы впервые появились именно в производственных офлайн-компаниях и лишь позже пришли в IT. Например, метод OKR (Objectives and Key Results). У нас в стране, наоборот, — офлайн-компании перенимают практики у онлайновых.

— Есть ли смысл идти на эту специальность жителю маленького города?

— Там тоже есть бизнесы, но скорее эта профессия востребована в городах с населением более 500 тысяч человек. Я из Калининграда — там можно найти работу и не хватает таких специалистов.

— Это сугубо офисная работа? Аналитик должен постоянно находиться в гуще событий?

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

Сейчас появляется все больше распределенных команд, и устроиться на удаленку аналитик в принципе может, но не так легко, как программист. Этот путь потребует дополнительных знаний и навыков. У человека должна быть хорошая математическая подготовка или техническая база — как компенсация за более долгое погружение в бизнес.

— Какими личными качествами, на твой взгляд, важно обладать аналитику?

— Любопытством, интересом к тому, что тебя окружает. Аналитик похож на исследователя, который выясняет то, чего мы раньше не знали или не замечали. Плюс важно уметь мыслить системно, чтобы видеть структуру.

По практическим навыкам продуктовые аналитики ближе к менеджерам. Но есть еще аналитики, которые специализируются на сборе и обработке данных. Такому сотруднику важнее знание технологий, а по скиллам он ближе к инженеру или программисту.

— Сколько длится твой блок и какие практические проекты сделают студенты?

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

  1. Подробно разбираем известные сервисы.
  2. Студенты тренируются на своих проектах или чужих сервисах, которые сами выбрали.

Вместе мы выстроим систему метрик, обозначим вещи, на которых нужно сосредоточиться, чтобы обеспечить бизнесу наибольший рост.

Маркетинг, веб- и мобильная аналитика

Дмитрий Баланин — 10 лет в маркетинге и аналитике для рынков России, Германии и Китая. Развивал performance marketing и аналитику в «Эльдорадо», Яндексе и OneTwoTrip. Сейчас — CEO Room42.ru и CEO Differture.com.

— Дмитрий, твой блок — хронологически первый в программе — закладывает фундамент для дальнейшего изучения профессии. Почему студентам так важно вначале познакомиться с основами маркетинга?

— Потому что аналитика — инструмент, а не самоцель. Можно бесконечно собирать информацию о посетителях, их взаимодействии с продуктом, продажах, но зачем? Только после ответа на этот вопрос создаются полезные бизнесу решения.

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

За четыре недели занятий мы со студентами на примерах разберем, как решать задачи, которые ставят перед аналитиком маркетинг и другие заказчики: внутренние и внешние.

А еще мы подробно рассмотрим инструменты для исследования рынка, анализа сайтов и мобильных приложений, организации A/B-тестирования.

— Будут ли реальные кейсы? И какие проекты выполнят слушатели за время обучения?

— Курс целиком построен на практическом опыте: моем и компании, где мы уже реализовали более 150 аналитических проектов.

Выполняя практические задания к урокам, студенты будут решать обычные задачи продуктового аналитика: формировать KPI для проектов, настраивать аналитические инструменты, экспериментировать с интерфейсом продукта и оценивать, на каком варианте лучше остановиться.

Студенты узнают, как строить систему аналитики для разных индустрий и типов продукции. Мы также разберем типичные ошибки аналитика и как их заблаговременно обходить.

Презентация данных и аналитическая культура в компании

Евгений Малахов — 5 лет в разработке продуктов, маркетинге и аналитике. За последние два года реализовал более 100 аналитических проектов, в том числе для Pepsico, Philip Morris, KIA, Газпром. COO проекта Room42.ru. Победитель пяти всероссийских конкурсов по бизнес-проектам.

— Евгений, чему конкретно учит блок, посвященный презентации данных?

— Этот блок помогает студентам взаимодействовать с командой, правильно объяснять и преподносить результаты своей работы, подстраиваться под меняющиеся условия, в которых приходится выполнять задачи.

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

— Какие конкретно инструменты и методы нужно изучить, чтобы правильно преподносить свои результаты? И есть ли в учебной программе реальные кейсы?

— Да, мы разбираем материал на реальных примерах. Главное, чему я научу студентов за две недели:

  • смотреть на проблемы и задачи с позиций бизнеса;
  • смотреть на проблемы и задачи с позиции дизайнера, разработчика, таргетолога, подрядчика и любого другого участника команды.

По итогам занятий студенты:

  1. Сделают презентацию для менеджмента, где обоснуют внедрение сквозной аналитики в компании.
  2. Подготовят документацию для разработчиков и рекламщиков.

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

Работа с Power BI, DAX и Power Query

Константин Севастьянов — 7 лет в информационно-аналитическом подразделении ФСО РФ, полтора года в онлайн-кинотеатре TVzavr — создавал инфраструктуру и развивал аналитику практически с нуля. С июля 2018 развивает аналитику в «Ситимобил» (сервис заказа такси) в условиях быстрого роста компании, внедряет аналитическую базу данных и BI-инструменты.

— Константин, чему научатся студенты и что они смогут делать с помощью Power BI?

— Научатся визуализировать информацию и отвечать на вопросы бизнеса, смогут подготавливать, очищать и обрабатывать данные, выбирать различные визуализации в зависимости от типа входных данных.

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

— Сделают ли слушатели практический проект за время учебы?

— Думаю, это будет проект на примере сервиса такси, где студенты смогут использовать сгенерированный набор данных.

Работа с Python, pandas и SQL

Илья Браславский — Data Scientist в «Ситимобил». Анализировал финансовые данные в BlackmoonFG и геологические данные в Сколтехе. Окончил магистратуру МФТИ по направлению «Интеллектуальный анализ данных».

— Илья, зачем продуктовому аналитику изучать Python? И, в частности, библиотеку для научных вычислений pandas?

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

— Сколько длится блок? Много ли практических заданий нужно будет сделать студентам в ходе или по итогам занятий?

— Блок будет состоять из 7 занятий. В начале мы разберем основы синтаксиса и основные библиотеки для анализа данных. После этого студентов ждет введение в теорию вероятности и математическую статистику. Финальное занятие посвятим обзору ряда инструментов разработчика.

Практические задачи обязательно будут сопровождать каждое занятие. Каким будет итоговый проект по Python для аналитиков — посмотрим, но вводные данные для него студенты, безусловно, получат.

Остались вопросы? Напишите консультанту в чат или оставьте комментарий к статье. Записаться на курс продуктовой аналитики в GeekBrains можно прямо сейчас.

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

30 май 19, 17:41
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0
Показаны все темы: 2

Последние комментарии

нет комментариев
Читать

Поиск по блогу

Люди

7 пользователям нравится сайт lena2018.mirtesen.ru