Хочешь $120 тыс. в год? Чему нужно учиться, чтобы работать с Big Data
IT-индустрия14 мая 2018, 06:03
Это не нечто совершенно новое, что свалилось на индустрию с небес, а развитие инструментов, которые раньше использовались для решения прикладных задач бизнеса. Их развитию способствовал рост вычислительных мощностей, что в свою очередь позволило работать с огромными массивами информации.
«Раньше практически в каждой компании был отдел статистики. Затем эта функция трансформировалась в бизнес-анализ, а сегодня трансформируется в data-аналитику, которая работает с более детализированной, более глубинной информацией», - рассказал НВ Владимир Рыбалко, руководитель Vodafone Big Data Team по направлению маркетинга.
В Украине дата сайентисты нужны и крупным сервисным IT-компаниям, которые делают львиную долю вклада в ту самую «третью отрасль по размеру ВВП», так и стартапам, компаниям, которые занимаются разработкой скоринговых продуктов, мобильным операторам, ритейлерам и т.д. Однако, несмотря на спрос, массово таких специалистов в стране пока не готовят. Есть онлайн-курсы известных мировых организаций вроде Coursera, курсы и школы от частных компаний.
Математика является проблемной точкой на старте карьеры в этой сфере
Так, в Киевстар решили воспитывать кадры самостоятельно и открыли Big Data School, выпускники которой могут попасть как в эту компанию, так и в другую, которая им приглянется. «Наша компания нуждается в высококвалифицированных специалистах, которым будет под силу решение задач для современного бизнеса», - объясняет Виталий Султан, Digital-директор Киевстар и приводит в пример продукты, которые уже используются бизнес-клиентами. Это, например, скоринг и heatmap – тепловые карты, которые демонстрируют статистические агрегированные данные о скоплении на определенных локациях потенциальных клиентов компаний. Аналогичные продукты предлагает Vodafone Украине.
НВ обратилось к компаниям, которые занимаются подготовкой кадров для работы с большими данными, и кто сам разрабатывает такие продукты, за советами для новичков – чему нужно учиться, чтобы стать data scientist.
Ирина Зайцева
руководитель проекта uData School
Сегодня на украинском рынке data science специалистов преобладают программисты с хорошим знанием data science tools. В то же время уровень проектов по обработке больших данных все чаще требует намного большего - умения создавать алгоритмы с нуля, находить закономерности в массивах данных – а это наличие мощной математической базы. В основе многих решений бизнес-кейсов в data science лежит теория вероятностей и математическая статистика.
По нашему опыту отбора и подготовки ребят в uData School, именно математика является проблемной точкой на старте карьеры в этой сфере, так как без системных и глубоких знаний основ теории вероятностей, математической статистики, линейной алгебры и математического анализа погружаться в машинное обучение непродуктивно.
Ценный практический опыт дает участие в математических олимпиадах и конкурсах. Именно в такого рода активностях формируется умение решать нестандартные задачи, видеть разные подходы и справляться со сложностями. Работа с большими данными часто выходит за рамки стандартных задач и требует от специалиста креатива, особенно математического.
Специалист в data science – это в первую очередь классный математик.
Владимир Рыбалко
руководитель Vodafone Big Data Team по направлению маркетинга
Чтобы стать data scientist-ом, прежде всего надо знать фундаментальные науки. Такие как математический анализ, линейную алгебру, математическую статистику, численные методы, а также производные от этих наук: алгоритмы, программирование, эконометрику, которая объединяет в себе знания статистики, программирования и экономической теории. В них рассматриваются свойства и закономерности данных, методы обработки, анализа и моделирования, которые являются объектом для изучения в data science. Это ключевые науки, которые дают возможность стать хорошим data scientist-ом.
Ну, и безусловно, это изучение прикладных пакетов, языков программирования – Python, R, SAS Miner и SPSS, которые в сочетании позволяют оптимальным образом решать задачи data science. Это «фундамент», который присутствуют в программе каждого технического вуза.
Большинству выпускников технических вузов не хватает двух вещей. Первая: люди подписываются на курсы по data science на онлайн-платформах, таких как Coursera и пр., получают определенное представление и даже кое-какие навыки, но фундаментальные науки - классическую математику и матстатистику - знают недостаточно глубоко. Они умеют применять пакетные решения, используя языки программирования, подключая библиотеки. Но интерпретировать данные и решить поставленную проблему не могут, главным образом, потому что не могут распознать ее корень. Ответ на этот вопрос как раз и дает фундаментальная математика.
Хорошие data scientists недостаточно хорошо знают бизнес. Или порой не хотят его изучать
Вторая проблема: хорошие data scientists недостаточно хорошо знают бизнес. Или порой не хотят его изучать. А гипотеза самой проблемы происходит как раз из бизнеса. Сначала data-scientist должен понять бизнес-суть проблемы, а уж потом сформулировать гипотезу и проверить ее цифрами либо найти какие-то взаимосвязи, объясняющие тот или иной феномен. Вторая проблема характерна не только для data-scientists. Она типична для любого специалиста, приходящего в новую сферу.
Если вдаваться в классику, специалисты по data science делятся на несколько групп. Первая - те, кто работает с подготовкой данных, агрегацией данных, настройкой потоков данных на уровне «железа». У них превалируют скорее знания системных администраторов в работе с базами данных, нежели решение поисковых задач. Соответственно, в приоритете у них стоят IT-шные навыки.
Вторая группа data scientists – это те, кто на собранных больших данных производят анализ, поиск взаимосвязей. У них превалируют знания математики и статистики, а программирование помогает в решении задач. Это две типичные роли, хотя существует еще масса классификаций, например, в data governance. Последние более сфокусированы на обеспечении доступности, целостности и безопасного хранения данных и т.д.
В рамках создания продукта на основании данных, выделяется отдельная роль продуктолога, которая, по сути, скопирована из классических IT-процессов разработки. Задача продуктолога интерпретировать требования заказчика на язык понятный data-scientist-ам, блюсти качество продукта и обеспечивать комплекс маркетинга для вывода продукта на рынок. Соответвтенно, data-scientist тесно взаимодействует с продуктологом, но как таковым продутологом не является.
Олег Гриник
Senior Solution Architect, Engineering Development Manager в EPAM Ukraine
Согласно статистике LinkedIn, направления machine learning, data science и big data - лидеры в fastest growing jobs (самые быстро растущие специальности - прим. редакции). Связано это с тем, что успешные бизнесы стремятся по максимуму автоматизировать процесс принятия решений с помощью различных программ, использующих машинное обучение. Они помогают понимать и структурировать данные, прогнозировать риски, формировать тренды и многое другое. Поэтому эти три направления очень перспективные для обучения, а логическая последовательность для развития в этой области выглядит так: big data -> machine learning -> data science.
При большом желании, примерно за 3-4 месяца можно получить знания, необходимые для начала работы с big data. А вот для того, чтобы стать профессиональным data scientist, нужно будет усердного поработать не год, и не два.
Big data – это совокупность методов обработки очень больших объемов разных по типу данных. По сути, биг дата-разработчик делает вещи, которые во многом пересекаются с другими направлениями. Это анализ и построение схемы данных, и построение бекенда? и transformation pipeliens, тут много работы с инфраструктурой (DevOps) и облачными решениями. В целом, для понимания Big Data нужно знать следующее:
- Язык программирования – либо Python, либо Scala/Java. В data science более популярен Pyhon и многие компании используют его для автоматизации.
- Нужно хорошо знать и разбираться в Linux, а также в технологиях обработки данных, которые сейчас встречаются на большинстве проектов (Apache Spark и Apache Kafka)
- DevOps-технологии на уровне «понимания» - будут для вас хорошим плюсом (Terraform, Ansible, Fabric, Puppet), как и знание контейнеризации docker/k8s.
- Необходимо разбираться в базах данных (как в OLAP/OLTP, так и NoSQL).
- Знание Cloud обязательно. По моему опыту, большинство big data проектов, с которыми я работал, были основаны на AWS.
Этот список можно продолжать, но всему остальному можно научиться в процессе работы.
Примерно за 3-4 месяца можно получить знания, необходимые для начала работы с big data
Machine learning объединяет как работу с данными, так и различного рода разработку и построение алгоритмов. Здесь придется вспомнить и статистику, и линейную алгебру (огромнейшая доля работы в этом направлении - это именно всевозможные операции с матрицами). Также нужно знать различные библиотеки и фреймворки.
- Выбор языка немного богаче: Python, Scala и R.
- Многие проекты по Machine Learning работают с облачными решениями, здесь тоже нужно иметь базовое понимание, что это такое (напр. AWS, Azure или Google Cloud).
- Знание machine learning библиотек (хотя бы Spark ML, Scikit, Tensorflow)
- Работа с ноутбуками Jupyter, Zeppelin, Databricks.
И главное - учитесь у лучших: следите за передовыми компаниями и новыми алгоритмами, которые они используют, и пробуйте их у себя на проекте.
В data science, кроме знаний математики и вышеупомянутых технологий, важно также понимать бизнес-домен и, по сути, стать Subject Matter Expert. Поскольку необходимо правильно реализовать алгоритм принятия решений, то нужно четкое понимание данных и различных подходов в бизнесе. В интернете есть достаточно ресурсов, которые помогут и подскажут, как создать и оптимизировать подобную модель на достаточно хорошем уровне. А вот для того, чтобы сделать эту модель оптимально точной, нужно реализовать не один десяток экспериментов и подходов с глубоким пониманием бизнес-домена.
Виталий Султан
Digital-директор Киевстар
Хороший дата-сайентист – это человек, компетенции которого находятся на пересечении навыков уверенного программиста, отличной математической базы и понимания предметной области. Другие важные умения – говорить на одном языке с клиентом, задавать правильные вопросы и уметь решить задачу так, чтобы на выходе получился качественный продукт.
Поскольку рынок ими пока не обеспечен, Киевстар принял решение открыть собственную школу дата-сайентистов – Big Data School. Школа стала первым бесплатным курсом подготовки экспертов в сфере больших данных. На сегодняшний день в ней состоялось уже два выпуска, популярность Big Data School растет. Во втором наборе из 1712 желающих (а это в два раза больше, чем в первом) мы отобрали 20 самых перспективных студентов, у которых действительно “горят глаза” при упоминании о технологиях Big Data и создании новых продуктов.
Программа Big Data School вобрала в себя лучшее из теории и практики для решения реальных задач украинского бизнеса. В рамках обучения студенты детально знакомятся с архитектурой Hadoop, работой Map Reduce, изучают форматы хранения данных, инструменты по работе с данными Hive, возможности Spark и встроенной библиотеки по машинному обучению MLlib. Еще одно преимущество школы в том, что свежеприобретенные теоретические знания студенты применяют на практике при подготовке курсовых проектов. К примеру, наши выпускники смогли предсказать, кто из общего числа абонентов Киевстар может быть автомобилистом, а кто имеет детей определенного возраста.